ITADN

ping balancer 无法消除部分节点的异常

#2069Openpexcn 创建于 2026-01-31
P
pexcncommented
@zonyitoo 大佬,您好: 我目前正在使用 ss-rust 的 ping balancer 功能进行节点选优,但客户端日志显示其中一个节点的 TCP 协议一直报一个警告,而此节点的 UDP 日志是一切正常的。而且此服务器的 ssserver 日志也无报错。 此外我也测试了服务器与检测地址的连通性,均正常: ```sh root@TYO ~/docker-compose/net/shadowsocks-rust # curl http://detectportal.firefox.com/success.txt -4 success root@TYO ~/docker-compose/net/shadowsocks-rust # curl http://detectportal.firefox.com/success.txt -6 success ``` 我的总共5个服务端节点,配置完全一样的,就只有其中一个节点出现这种问题,感觉是 ping balancer 存在 bug,这应该如何排查呢? --- 客户端日志如下: ```sh root@OpenWrt:~/docker-compose/net/shadowsocks-rust # docker logs sslocal 2>&1 | grep -E '10.4.2.1|4x.xx.xx.xx' | grep TCP 2026-01-31T20:09:50.539373881+08:00 DEBUG tokio-runtime-worker ThreadId(05) shadowsocks_service::local::loadbalancing::ping_balancer: failed to check TCP server 4x.xx.xx.xx:1776, error: unexpected response from http://detectportal.firefox.com/success.txt, b"" 2026-01-31T20:09:50.539469964+08:00 WARN tokio-runtime-worker ThreadId(05) shadowsocks_service::local::loadbalancing::ping_balancer: balancer: checked & updated remote TCP server 4x.xx.xx.xx:1776 (score: 11764), ServerStatData { latency_median: 10000, fail_rate: 1.0, latency_stdev: 7071.067811865475, latency_mean: 10000.0, latency_mad: 10000 } 2026-01-31T20:09:59.388044441+08:00 WARN tokio-runtime-worker ThreadId(04) shadowsocks_service::local::loadbalancing::ping_balancer: balancer: checked & updated remote TCP server 10.4.2.1:1776 (score: 10000), ServerStatData { latency_median: 10000, fail_rate: 1.0, latency_stdev: 7071.067811865475, latency_mean: 10000.0, latency_mad: 10000 } 2026-01-31T20:10:24.399919328+08:00 WARN tokio-runtime-worker ThreadId(02) shadowsocks_service::local::loadbalancing::ping_balancer: balancer: checked & updated remote TCP server 4x.xx.xx.xx:1776 (score: 11764), ServerStatData { latency_median: 10000, fail_rate: 1.0, latency_stdev: 7071.067811865475, latency_mean: 10000.0, latency_mad: 10000 } 2026-01-31T20:10:24.400692784+08:00 WARN tokio-runtime-worker ThreadId(02) shadowsocks_service::local::loadbalancing::ping_balancer: balancer: checked & updated remote TCP server 10.4.2.1:1776 (score: 10000), ServerStatData { latency_median: 10000, fail_rate: 1.0, latency_stdev: 7071.067811865475, latency_mean: 10000.0, latency_mad: 10000 } ``` 服务端配置如下(其余节点配置完全相同): ```json root@TYO ~/docker-compose/net/shadowsocks-rust # cat shadowsocks-rust-data/server.json { "servers": [ { "server": "::", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD_1}", "method": "2022-blake3-aes-128-gcm" }, { "server": "::", "server_port": 1984, "password": "${SHADOWSOCKS_PASSWORD_2}", "method": "2022-blake3-chacha8-poly1305" }, { "server": "::", "server_port": 2047, "password": "${SHADOWSOCKS_PASSWORD_3}", "method": "aes-128-gcm" } ], "mode": "tcp_and_udp", "timeout": 600, "udp_timeout": 300, "keep_alive": 300, "nofile": 1048576, "no_delay": true, "fast_open": true, "mptcp": true } ``` 客户端配置如下: ```json root@OpenWrt:~/docker-compose/net/shadowsocks-rust # cat shadowsocks-rust-data/local.json { "locals": [ { "local_address": "127.0.0.1", "local_port": 1234, "protocol": "redir", "tcp_redir": "tproxy", "udp_redir": "tproxy" }, { "local_address": "::1", "local_port": 1234, "protocol": "redir", "tcp_redir": "tproxy", "udp_redir": "tproxy" } ], "servers": [ // // DIRECT [TCP + UDP] // { // CN2 "server": "1x.xx.xx.xx", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm", "tcp_weight": 0.85, "udp_weight": 0.85 }, { // LAX "server": "2x.xx.xx.xx", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm", "tcp_weight": 0.85, "udp_weight": 0.85 }, { // CC "server": "3x.xx.xx.xx", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm", "tcp_weight": 0.85, "udp_weight": 0.85 }, { // TYO "server": "4x.xx.xx.xx", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm", "tcp_weight": 0.85, "udp_weight": 0.85 }, { // TW "server": "5x.xx.xx.xx", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm", "tcp_weight": 0.85, "udp_weight": 0.85 }, // // TINYFECVPN [TCP + UDP] // { // CN2 "server": "10.1.1.1", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm" }, { // LAX "server": "10.2.1.1", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm" }, { // CC "server": "10.3.1.1", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm" }, { // TYO-GAME "server": "10.4.2.1", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm" }, { // TW "server": "10.5.1.1", "server_port": 1776, "password": "${SHADOWSOCKS_PASSWORD}", "method": "2022-blake3-aes-128-gcm" }, ], "mode": "tcp_and_udp", "timeout": 600, "udp_timeout": 300, "keep_alive": 300, "nofile": 1048576, "no_delay": true, "fast_open": true, "mptcp": true, "balancer": { "max_server_rtt": 5, "check_interval": 30, "check_best_interval": 15 } } ```
7 条评论