apernet / hysteria

Hysteria is a powerful, lightning fast and censorship resistant proxy.
https://v2.hysteria.network/
MIT License
14.59k stars 1.63k forks source link

hysteria2连不上并报错,hysteria1正常,服务器,PC,网络都相同 #685

Closed ghost closed 8 months ago

ghost commented 1 year ago

日志: 2023-09-13T13:56:32+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56137", "reqAddr": "optimizationguide-pa.googleapis.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T13:59:32+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56182", "reqAddr": "optimizationguide-pa.googleapis.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:01:12+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56219", "reqAddr": "clients4.google.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:02:16+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56239", "reqAddr": "optimizationguide-pa.googleapis.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:03:36+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56258", "reqAddr": "mtalk.google.com:5228", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:05:01+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56281", "reqAddr": "optimizationguide-pa.googleapis.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:07:31+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56322", "reqAddr": "optimizationguide-pa.googleapis.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:10:30+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56368", "reqAddr": "optimizationguide-pa.googleapis.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:11:17+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56383", "reqAddr": "clients4.google.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:13:25+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56418", "reqAddr": "optimizationguide-pa.googleapis.com:443", "error": "connect error: timeout: no recent network activity"} 2023-09-13T14:13:41+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:56423", "reqAddr": "mtalk.google.com:443", "error": "connect error: timeout: no recent network activity"} panic: connection already exists goroutine 5100 [running]: github.com/apernet/quic-go.(connMultiplexer).AddConn(0xc00007ff80, {0x20866d05e30?, 0xc000386180?}) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/multiplexer.go:59 +0x165 github.com/apernet/quic-go.(Transport).init.func1() github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/transport.go:214 +0x332 sync.(Once).doSlow(0x208673a11c0?, 0x1496a40?) sync/once.go:74 +0xbf sync.(Once).Do(...) sync/once.go:65 github.com/apernet/quic-go.(Transport).init(0xc00024e000, 0x5d?) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/transport.go:181 +0x4d github.com/apernet/quic-go.(Transport).dial(0xc00024e000, {0x1623150, 0x1ac1ce0}, {0x161fd10, 0xc000089a40}, {0x0, 0x0}, 0xc00034d968?, 0xdc0805?, 0x1) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/transport.go:167 +0xa5 github.com/apernet/quic-go.(Transport).DialEarly(...) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/transport.go:159 github.com/apernet/quic-go.DialEarly({0x1623150, 0x1ac1ce0}, {0x1625c50?, 0xc000386180?}, {0x161fd10, 0xc000089a40}, 0xc0002621a0, 0x14ca4e0?) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/client.go:95 +0x127 github.com/apernet/hysteria/core/client.(clientImpl).connect.func1({0x1623150?, 0x1ac1ce0?}, {0xc00034da00?, 0xc00034d9d0?}, 0x3?, 0x8?) github.com/apernet/hysteria/core/client/client.go:88 +0x4d github.com/apernet/quic-go/http3.(client).dial(0xc0002ca200, {0x1623150, 0x1ac1ce0}) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/http3/client.go:122 +0x67 github.com/apernet/quic-go/http3.(client).RoundTripOpt.func1() github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/http3/client.go:262 +0x49 sync.(Once).doSlow(0x151609a?, 0x5?) sync/once.go:74 +0xbf sync.(Once).Do(...) sync/once.go:65 github.com/apernet/quic-go/http3.(client).RoundTripOpt(0xc0002ca200, 0xc00018ea00, {0xc?, 0x0?}) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/http3/client.go:261 +0xed github.com/apernet/quic-go/http3.(RoundTripper).RoundTripOpt(0xc000008798?, 0xc00018ea00, {0x40?, 0x9a?}) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/http3/roundtrip.go:150 +0x50e github.com/apernet/quic-go/http3.(RoundTripper).RoundTrip(...) github.com/apernet/quic-go@v0.38.2-0.20230902022200-c0e542a00ce6/http3/roundtrip.go:164 github.com/apernet/hysteria/core/client.(clientImpl).connect(0xc000336090) github.com/apernet/hysteria/core/client/client.go:110 +0x339 github.com/apernet/hysteria/core/client.NewClient(0xc0000ca370) github.com/apernet/hysteria/core/client/client.go:44 +0x5c github.com/apernet/hysteria/core/client.(reconnectableClientImpl).reconnect(0xc000089a80) github.com/apernet/hysteria/core/client/reconnect.go:45 +0x45 github.com/apernet/hysteria/core/client.(reconnectableClientImpl).TCP(0xc000089a80, {0xc00002c3c0, 0x27}) github.com/apernet/hysteria/core/client/reconnect.go:65 +0xbb github.com/apernet/hysteria/app/internal/socks5.(Server).handleTCP(0xc000486390, {0x1626708?, 0xc000480000}, 0xdf515c?) github.com/apernet/hysteria/app/internal/socks5/server.go:138 +0x1c2 github.com/apernet/hysteria/app/internal/socks5.(Server).dispatch(0xc000486390, {0x1626708, 0xc000480000}) github.com/apernet/hysteria/app/internal/socks5/server.go:54 +0xee created by github.com/apernet/hysteria/app/internal/socks5.(*Server).Serve in goroutine 38 github.com/apernet/hysteria/app/internal/socks5/server.go:36 +0x2c

ghost commented 1 year ago

场景是开了俩浏览器分别挂着俩代理,hysteria2用V2rayN启动,hyseria1用命令行,出去吃个饭回来hysteria2出现问题

tobyxdd commented 1 year ago

发一下服务端和客户端配置,删掉敏感信息 但是要包括有没有用端口跳跃之类的

tobyxdd commented 1 year ago

这个问题是偶然出现还是能稳定复现?

ghost commented 1 year ago

发一下服务端和客户端配置,删掉敏感信息 但是要包括有没有用端口跳跃之类的

服务端配置:
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 43000:50000 -j DNAT --to-destination :12345

listen: :12345
tls:
  cert: /path/to/crt
  key: /path/to/key
quic:
  initStreamReceiveWindow: 8388608 
  maxStreamReceiveWindow: 8388608 
  initConnReceiveWindow: 20971520 
  maxConnReceiveWindow: 20971520 
  maxIdleTimeout: 30s 
  maxIncomingStreams: 1024 
  disablePathMTUDiscovery: false 
ignoreClientBandwidth: false
disableUDP: false
obfs:
  type: salamander
  salamander:
    password: obfs_password
udpIdleTimeout: 60s
auth:
  type: userpass
  userpass: 
    user1: 123
    user2: 456
masquerade:
  type: proxy
  proxy:
    url: https://www.bing.com/
    rewriteHost: true 
resolver:
  type: tls
  udp:
    addr: 8.8.4.4:53 
    timeout: 4s
  tls:
    addr: 1.1.1.1:853 
    timeout: 10s
    sni: cloudflare-dns.com 
    insecure: false

客户端配置:

server: xxx.xxx.xxx:12345
auth: user1:123
obfs:
  type: salamander
  salamander:
    password: obfs_password
transport:
  type: udp
  udp:
    hopInterval: 30s 
quic:
  initStreamReceiveWindow: 8388608 
  maxStreamReceiveWindow: 8388608 
  initConnReceiveWindow: 20971520 
  maxConnReceiveWindow: 20971520 
  maxIdleTimeout: 30s 
  keepAlivePeriod: 10s 
  disablePathMTUDiscovery: false
fastOpen: true
socks5:
  listen: 127.0.0.1:1080
ghost commented 1 year ago

这个问题是偶然出现还是能稳定复现?

这个问题是偶然发生的,我尝试复现 chrome浏览器最新版本挂着socks5代理从前一天晚上七点开始挂着到第二天下午两点,期间没有使用浏览器,只有谷歌的服务在同步数据。(pc和服务器之间的链接会因为移动时不时封禁导致断开,端口跳跃以后有概率恢复

tobyxdd commented 1 year ago

暂时没能在我这复现,这个问题先不关,等你再观察下吧

hpqqph commented 1 year ago

我的也是。debian 10,hy2服务可以正常安装并运行,服务器防火墙关闭,跳跃端口区间没有涵盖其他端口。也是用V2rayN启动。也是报“31mERROR”。另外一台Ubuntu20.04的机器没问题,一台centos8的机器也没问题。

+0800 2023-09-19 09:01:50 ERROR [22324713 4.42s] inbound/http[http]: process connection from 127.0.0.1:54400: write tcp 127.0.0.1:10809->127.0.0.1:54400: wsasend: An established connection was aborted by the software in your host machine.

yxz00487 commented 1 year ago

是的 电脑连着连着 就报错 手机倒是还行

itdsgithub commented 12 months ago

+0800 2023-09-23 01:28:46 ERROR [638817445 2.14s] inbound/http[http]: process connection from 127.0.0.1:14953: download: write tcp 127.0.0.1:10809->127.0.0.1:14953: wsasend: An established connection was aborted by the software in your host machine.

我的也是,最常见的就是这个入站端口报错,也不知道怎么回事

tobyxdd commented 12 months ago

别我也是了你们的问题和 op 的完全不一样

itdsgithub commented 12 months ago

别我也是了你们的问题和 op 的完全不一样

请问这个问题大概怎么回事啊,服务器配置和客户端配置我就不发了,很简单跟大家一样。VPS主机商的问题?

tobyxdd commented 12 months ago

别我也是了你们的问题和 op 的完全不一样

请问这个问题大概怎么回事啊,服务器配置和客户端配置我就不发了,很简单跟大家一样。VPS主机商的问题?

很简单这根本不是错误,你浏览器每强关一个连接对 hy 就是错误就会报一条,或者网页自己有问题有连接不上的资源也是 tcp error,你不用代理的时候这种错误一直在发生你看不到罢了

itdsgithub commented 12 months ago

别我也是了你们的问题和 op 的完全不一样

请问这个问题大概怎么回事啊,服务器配置和客户端配置我就不发了,很简单跟大家一样。VPS主机商的问题?

很简单这根本不是错误,你浏览器每强关一个连接对 hy 就是错误就会报一条,或者网页自己有问题有连接不上的资源也是 tcp error,你不用代理的时候这种错误一直在发生你看不到罢了

哦,了解了。只要能正常翻墙用就不管这个呗。

eebssk1 commented 10 months ago

借个楼。目前碰到一个很奇怪的现象,就是半夜通过hys2上传文件会出现超时,并且电脑流量监控显示一直在以1MB/s的速度上传(此时浏览器已经408了),过了几秒才会停止。然后ssh进服务器发现是no recent netwotk activity, 但是此时重试之后又正常了。 最后发现发生这种情况是只要有任意tcp连接(比如查看情况时的ssh或者有nginx的话直接访问默认页)就大概率可以解决。。

Prurite commented 10 months ago

类似问题,hysteria1 的时候一直正常,升级到 2 之后客户端每隔一段时间就会与服务器断联一段时间,表现为客户端尝试连接时 timeout: no recent network activity ,这段时间内能正常用浏览器直连打开服务端上的用于混淆的网页;一段时间后恢复 不清楚是 hysteria 的问题还是所在网络提供商做了一些屏蔽

leic4u commented 10 months ago

类似问题,hysteria1 的时候一直正常,升级到 2 之后客户端每隔一段时间就会与服务器断联一段时间,表现为客户端尝试连接时 timeout: no recent network activity ,这段时间内能正常用浏览器直连打开服务端上的用于混淆的网页;一段时间后恢复 不清楚是 hysteria 的问题还是所在网络提供商做了一些屏蔽

同样的问题,日志主要表现为这样:

2023-11-07T18:25:56Z    INFO    client connected        {"addr": "**.**.**.32:28939", "id": "user", "tx": 65536000}
2023-11-07T18:29:23Z    ERROR   TCP error       {"addr": "**.**.**.32:28939", "id": "user", "reqAddr": "91.108.56.152:443", "error": "readfrom tcp4 10.0.0.187:38624->91.108.56.152:443: timeout: no recent network activity"}
2023-11-07T18:29:23Z    INFO    client disconnected     {"addr": "**.**.**.32:28939", "id": "user", "error": "accepting stream failed: timeout: no recent network activity"}
2023/11/07 18:32:02 http: TLS handshake error from **.**.**.32:28295: read tcp 10.0.0.187:443->**.**.**.32:28295: read: connection reset by peer

没有改任何服务端配置,只是更新了下 clash.meta 配置文件里面的 dns 配置,就可以使用了,看起来我不能连接的问题像是域名解析的导致的。但服务端的日志报错不知道是为什么。

dns:
  enable: true
  listen: 127.0.0.1:53
  ipv6: true
  enhanced-mode: fake-ip
  default-nameserver:
    - https://1.12.12.12/dns-query
    - 223.5.5.5
    - 1.0.0.1
    - 8.8.8.8
  nameserver:
    - https://dns.alidns.com/dns-query
    - https://dns.pub/dns-query
    - 119.29.29.29
honghushui commented 10 months ago

类似问题,hysteria1 的时候一直正常,升级到 2 之后客户端每隔一段时间就会与服务器断联一段时间,表现为客户端尝试连接时 timeout: no recent network activity ,这段时间内能正常用浏览器直连打开服务端上的用于混淆的网页;一段时间后恢复 不清楚是 hysteria 的问题还是所在网络提供商做了一些屏蔽

同样的问题,日志主要表现为这样:

2023-11-07T18:25:56Z    INFO    client connected        {"addr": "**.**.**.32:28939", "id": "user", "tx": 65536000}
2023-11-07T18:29:23Z    ERROR   TCP error       {"addr": "**.**.**.32:28939", "id": "user", "reqAddr": "91.108.56.152:443", "error": "readfrom tcp4 10.0.0.187:38624->91.108.56.152:443: timeout: no recent network activity"}
2023-11-07T18:29:23Z    INFO    client disconnected     {"addr": "**.**.**.32:28939", "id": "user", "error": "accepting stream failed: timeout: no recent network activity"}
2023/11/07 18:32:02 http: TLS handshake error from **.**.**.32:28295: read tcp 10.0.0.187:443->**.**.**.32:28295: read: connection reset by peer

同样的我的也是这个错误,用的是hy2,debian系统,路由用的passwall,一个晚上就服务器断链,显示无网络,但是重启后又可以了。

lanjiangqaq commented 10 months ago

同样问题使用的hy2 Ubuntu20.04系统,路由passwall,下午复现两次,重启hy2解决

ansonfish commented 9 months ago

别我也是了你们的问题和 op 的完全不一样

请问这个问题大概怎么回事啊,服务器配置和客户端配置我就不发了,很简单跟大家一样。VPS主机商的问题?

很简单这根本不是错误,你浏览器每强关一个连接对 hy 就是错误就会报一条,或者网页自己有问题有连接不上的资源也是 tcp error,你不用代理的时候这种错误一直在发生你看不到罢了

那建议作者可以不显示这类信息。避免大家误解。

sunghoppe commented 2 months ago

我也出现这样的问题了,我在配置文件里写了一个 image 这个网易云音乐的出站规则,然后我把这个8880端口这个项目停了以后,就出现了tcp error image