apernet / hysteria

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

同一个服务器,IPv4连接正常,IPv6断流严重 #707

Closed EluneAdore1 closed 1 year ago

EluneAdore1 commented 1 year ago

服务器为甲骨文东京服务器,双栈。服务器PING延迟均 55-80ms

客户端使用IPv4连接服务器时,一切正常,有少量和下面日志中同样的错误,但是下载速度能够跑满物理带宽,youtube测试十几万,最高上过50万的速度。4K视频拖动不卡顿,秒播放

客户端使用IPv6连接服务器时,断流严重,speedtest测试无法完成,会报错,youtube测试几千的速度,卡顿严重,缓冲无速度。

没有使用tun,入站socks5使用干净的Firefox,只设置了一个socks5代理。

同样的线路使用TCP协议(xray vless+tls)时,IPv4,IPv6均一切正常

image image

服务器版本:

Version: v2.0.2 BuildDate: 2023-09-16T03:19:01Z BuildType: release CommitHash: 1d0560dd34751fd96ce69faa067bdad1b2c65581 Platform: linux Architecture: arm64

服务器配置文件:

listen: :33649

tls: cert: /path/to/cert key: /path/to/key

auth: type: password password: password

resolver: type: udp udp: addr: 1.1.1.1:53 timeout: 10s

ignoreClientBandwidth: true

masquerade: type: proxy proxy: url: http://10.1.1.57:5212 rewriteHost: true

outbounds:

  • name: direct type: direct

服务器日志:

2023-09-21T14:08:16Z INFO server mode 2023-09-21T14:08:16Z INFO server up and running 2023-09-21T14:08:25Z INFO client connected {"addr": "[客户端IPv6地址]:52898", "id": "user", "tx": 0} 2023-09-21T14:08:33Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr3---sn-oguesnd6.googlevideo.com:443", "error": "stream 12 canceled by remote with error code 0"} 2023-09-21T14:09:02Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr3---sn-oguesnd6.googlevideo.com:443", "error": "stream 48 canceled by remote with error code 0"} 2023-09-21T14:09:05Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr4---sn-oguelnzz.googlevideo.com:443", "error": "stream 68 canceled by remote with error code 0"} 2023-09-21T14:09:09Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr4---sn-oguelnzz.googlevideo.com:443", "error": "stream 72 canceled by remote with error code 0"} 2023-09-21T14:09:26Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr4---sn-oguelnzz.googlevideo.com:443", "error": "stream 84 canceled by remote with error code 0"} 2023-09-21T14:09:39Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr1---sn-oguesn6r.googlevideo.com:443", "error": "stream 92 canceled by remote with error code 0"} 2023-09-21T14:09:48Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr1---sn-oguesn6r.googlevideo.com:443", "error": "stream 96 canceled by remote with error code 0"} 2023-09-21T14:09:53Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "ookla.mbspeed.net:8080", "error": "stream 212 canceled by remote with error code 0"} 2023-09-21T14:09:55Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "tyo1.fnbuilds.services.prod.hosts.ooklaserver.net:8080", "error": "stream 276 canceled by remote with error code 0"} 2023-09-21T14:09:55Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr1---sn-oguesn6r.googlevideo.com:443", "error": "stream 148 canceled by remote with error code 0"} 2023-09-21T14:10:02Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr1---sn-oguesn6r.googlevideo.com:443", "error": "stream 288 canceled by remote with error code 0"} 2023-09-21T14:10:08Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr1---sn-oguesn6r.googlevideo.com:443", "error": "stream 296 canceled by remote with error code 0"} 2023-09-21T14:10:15Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr1---sn-oguesn6r.googlevideo.com:443", "error": "stream 300 canceled by remote with error code 0"} 2023-09-21T14:10:23Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "rr1---sn-oguesn6r.googlevideo.com:443", "error": "stream 308 canceled by remote with error code 0"} 2023-09-21T14:10:32Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "jp.as.speedtest.i3d.net.prod.hosts.ooklaserver.net:8080", "error": "stream 344 canceled by remote with error code 0"} 2023-09-21T14:10:32Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "speed.udx.icscoe.jp:8080", "error": "stream 320 canceled by remote with error code 0"} 2023-09-21T14:10:32Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "jp.as.speedtest.i3d.net.prod.hosts.ooklaserver.net:8080", "error": "stream 352 canceled by remote with error code 0"} 2023-09-21T14:10:32Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "jp.as.speedtest.i3d.net.prod.hosts.ooklaserver.net:8080", "error": "stream 356 canceled by remote with error code 0"} 2023-09-21T14:10:32Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "jp.as.speedtest.i3d.net.prod.hosts.ooklaserver.net:8080", "error": "stream 364 canceled by remote with error code 0"} 2023-09-21T14:10:32Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "speed.coe.ad.jp.prod.hosts.ooklaserver.net:8080", "error": "stream 380 canceled by remote with error code 0"} 2023-09-21T14:10:32Z ERROR TCP error {"addr": "[客户端IPv6地址]:52898", "id": "user", "reqAddr": "speed.coe.ad.jp.prod.hosts.ooklaserver.net:8080", "error": "stream 372 canceled by remote with error code 0"}

客户端版本

Version: v2.0.2 BuildDate: 2023-09-16T03:18:35Z BuildType: release CommitHash: 1d0560dd34751fd96ce69faa067bdad1b2c65581 Platform: windows Architecture: amd64

客户端配置:

server: "[服务器IPv6地址]:33649"

auth: mypassword

tls: sni: example.com insecure: true

socks5: listen: 127.0.0.1:20808

客户端日志:

F:\temp>hysteria-windows-amd64.exe -c hysteria6.yaml 2023-09-21T22:08:23+08:00 INFO client mode 2023-09-21T22:08:24+08:00 INFO connected to server {"count": 1} 2023-09-21T22:08:24+08:00 INFO use this URI to share your server {"uri": "hysteria2://xMuHDP1ojTwwoqy@[服务器IPv6地址]:33649/?insecure=1&sni=example.com"} 2023-09-21T22:08:24+08:00 INFO SOCKS5 server listening {"addr": "127.0.0.1:20808"} 2023-09-21T22:08:24+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10826", "reqAddr": "push.services.mozilla.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10826: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:08:32+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10840", "reqAddr": "i.ytimg.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10840: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:08:33+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10841", "reqAddr": "i.ytimg.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10841: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:42+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10876", "reqAddr": "incoming.telemetry.mozilla.org:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10876: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:42+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10877", "reqAddr": "contile-images.services.mozilla.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10877: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:43+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10879", "reqAddr": "www.google.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10879: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:43+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10880", "reqAddr": "www.google.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10880: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:43+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10881", "reqAddr": "www.google.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10881: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:43+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10882", "reqAddr": "www.google.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10882: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:43+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10884", "reqAddr": "www.speedtest.net:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10884: wsarecv: An established connection was aborted by the software in your host machine."} 2023-09-21T22:09:49+08:00 ERROR SOCKS5 TCP error {"addr": "127.0.0.1:10904", "reqAddr": "safebrowsing.googleapis.com:443", "error": "read tcp 127.0.0.1:20808->127.0.0.1:10904: wsarecv: An established connection was aborted by the software in your host machine."} ^C

chika0801 commented 1 year ago

你有不有保持配置一样,换其它商家的vps测试,如果其它商家vps上没这现象,就是你和甲骨文的事

EluneAdore1 commented 1 year ago

你有不有保持配置一样,换其它商家的vps测试,如果其它商家vps上没这现象,就是你和甲骨文的事

完全一致。暂时没有其他双栈vps.

tobyxdd commented 1 year ago

log 没看出来什么,这我只能认为是你 IPv6 线路的问题

chika0801 commented 1 year ago

你有不有保持配置一样,换其它商家的vps测试,如果其它商家vps上没这现象,就是你和甲骨文的事

完全一致。暂时没有其他双栈vps.

买至少1个或更多VPS来对比测试了。只有1个样本,也没办法准确判断。

xkcore123 commented 1 year ago

一样,只要用ipv6就断流严重,日志里一堆stream 152 canceled by remote with error code 0,另一台机器只有ipv4,日志很正常,而且速度忽上忽下,比如看youtube,一打开视频直接卡住,看connection speed是满的20,30万左右,卡个几秒然后降到3w,另一台ipv4就很正常,两台机器都不是甲骨文,而且是不同的商家

EluneAdore1 commented 1 year ago

我在本地局域网开hysteria测试了下本地IPv6,一切正常,测速,youtube换成,网卡流量均正常。晚点我试试单纯国内IPv6到IPv6的速度如何

继续测试了下国内的IPv6情况,两端相距1500KM,同运营商,iperf3 udp和hysteria均可以跑满服务端上行带宽 本地到vps方向,iperf3 udp上传没有问题,下载会被阻断,抓包也没有vps过来的数据包...应该是被中间某个设备给限制了

sparkwj commented 1 year ago

我oracle的vps 也有同样问题

hysteria | 2023-09-28T03:51:02Z INFO client connected {"addr": "171.219.218.243:63889", "id": "user", "tx": 0} hysteria | 2023-09-28T03:51:05Z ERROR TCP error {"addr": "171.219.218.243:63889", "id": "user", "reqAddr": "googleads.g.doubleclick.net:443", "error": "readfrom tcp4 10.0.0.127:42820->142.251.214.130:443: stream 16 canceled by remote with error code 0"} hysteria | 2023-09-28T03:51:05Z ERROR TCP error {"addr": "171.219.218.243:63889", "id": "user", "reqAddr": "jnn-pa.googleapis.com:443", "error": "readfrom tcp4 10.0.0.127:33404->142.250.189.202:443: stream 20 canceled by remote with error code 0"} hysteria | 2023-09-28T03:51:06Z ERROR TCP error {"addr": "171.219.218.243:63889", "id": "user", "reqAddr": "www.youtube.com:443", "error": "readfrom tcp4 10.0.0.127:38596->142.250.188.14:443: stream 32 canceled by remote with error code 0"} hysteria | 2023-09-28T03:51:07Z ERROR TCP error {"addr": "171.219.218.243:63889", "id": "user", "reqAddr": "www.youtube.com:443", "error": "readfrom tcp4 10.0.0.127:38592->142.250.188.14:443: stream 8 canceled by remote with error code 0"} hysteria | 2023-09-28T03:51:08Z ERROR TCP error {"addr": "171.219.218.243:63889", "id": "user", "reqAddr": "www.youtube.com:443", "error": "readfrom tcp4 10.0.0.127:46758->142.251.32.46:443: stream 40 canceled by remote with error code 0"}

sck0537 commented 11 months ago

一样的问题