Acris / docker-shadowsocks-libev

Build a docker image for shadowsocks-libev with v2ray-plugin, based on Alpine Linux.
https://hub.docker.com/r/acrisliu/shadowsocks-libev/
MIT License
301 stars 94 forks source link

能否/如何规范开启ipv6支持,自己开后,变得不稳定 #39

Closed lobstergy closed 1 year ago

lobstergy commented 1 year ago

Hi, Acris

因为家中有nas设备, 联通/移动无公网ip,自带ddns很慢,于是设置的zerotier,ipv4默认下能达到在外手机iphone/android 5G流量访问nas各种apps, chrome 访问nas/webui登录,ssh 移动客户端登录路由后台,速度可看nas中2k视频...但是最近发现,有部分设备联不通了, zerotier peers查看,planet/earth有出现relay断连的情况,因此尝试开启ipv6. 不知这个项目如何完全支持ipv6? 参考How to Set Up Shadowsocks-libev Proxy Server on CentOS/Rocky Linux 配置后, ipv6-test.com 测试全绿通过,zerotier设备恢复正常连接“direct”, 但外网变得不稳定,断线,慢. iPhone油管常常断连出现未知错误,似乎ipv6流量不过proxy或不稳定,贴出自己的设置,请有空指导下,谢谢.

2022-11-07_05-26-47_ss-merlin_ipv6test

设置步骤:

A.联通光猫桥接->ipv6 native/ppp拨号->lan设置statless/stateful其他默认; DG服务器按照官方文档开启ipv6支持,获得ipv6地址/网关/范围; 运行 docker compose { cat docker-compose.yml services: .... environment:

}

B.路由器端: 1.unbound开启两项有关ipv6设置, interface: ::0; do-ipv6: yes 2.ss config.json中,我想关键在"server" 和 “local_address”选择,尝试过各种组合,ipv4,ipv4+ipv6,ipv6+local_address ::/0; ipv4+0.0.0.0 + ipv6+::/0; 似乎单ipv4或ipv6搭配0.0.0.0要好些 3.ss-merlin.conf中, lanip 选::/0, 运行后ipset 报错, 改回0.0.0.0

C.测试结果: 1.stateless ipv6测试全绿,chrome能优先开启ipv6, 但外网不稳定 2.stateful ipv6测试有橙色项,chrome默认ipv4, 外网稍稳定些 3.部分Docker logs 2022-11-07 12:55:38 INFO: enable TCP no-delay 2022-11-07 12:55:38 INFO: using tcp fast open 2022-11-07 12:55:38 INFO: plugin "v2ray-plugin" enabled 2022-11-07 12:55:38 INFO: UDP relay enabled 2022-11-07 12:55:38 INFO: enable TCP no-delay 2022-11-07 12:55:38 INFO: initializing ciphers... aes-256-gcm 2022-11-07 12:55:38 INFO: using nameserver: 8.8.8.8,1.1.1.1 2022-11-07 12:55:38 INFO: tcp server listening at 127.0.0.1:52935 2022-11-07 12:55:38 INFO: tcp port reuse enabled 2022-11-07 12:55:38 INFO: udp server listening at 0.0.0.0:8388 2022-11-07 12:55:38 INFO: udp port reuse enabled 2022-11-07 12:55:38 INFO: udp server listening at [::0]:8388 2022-11-07 12:55:38 ERROR: [udp] getaddrinfo: Name does not resolve 2022-11-07 12:55:38 INFO: running from root user 2022/11/07 12:55:38 V2Ray 4.44.0 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.17.9 linux/amd64)

其中“ERROR: [udp] getaddrinfo: Name does not resolve”这条报错说明什么? ipv6只有udp server, 无tcp server有关系吗?

D:问题 1.docker inspect 查看似乎server中有 -s ::0 和"HostIp": "::", 但ipv6/ipv6gateway无地址, 本身支持ipv6流量走ss吗? ... "IPPrefixLen": 20, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:c0:a8:70:02", "DriverOpts": null ... 2.tcp open fast开启后,有时无法建立连接 (已开启net.ipv4.tcp_fastopen=3)

3.因为不懂, 一切都是查看可疑跟试错,请教如何规范配置支持ipv6.

Acris commented 1 year ago

server端默认支持IPv6的,不过很遗憾,目前客户端的shadowsocks-asuswrt-merlin暂不支持IPv6的透明代理。 你可以尝试下此项目:https://github.com/zfl9/ss-tproxy