Closed levindu closed 5 years ago
看你的调试,client 解析国内 dns 没啥问题,是所有 chnroute 里面的网站都不能连?还是仅仅 news.qq.com?
另外你强调使用最新的提交,意思是以前版本没这个问题?可以的话详细说明一下
强调使用最新的提交,是确认已经更新到最新,没试过以前的版本。 应该是所有 chnroute 里面的网站都不能连,因为百度也连不上。 这种情况应该怎样排查呢?对 iptables 不熟悉,其它还可以。
curl -Iv http://www.baidu.com
在 client 上,看看?
你这 dns 应该是没问题的,你 dig 其他域名的结果是怎样的?
我也遇到了相同的问题,应该不是个例
是更新导致的吗?还是一直都会?
@Leoyzen
是更新导致的吗?还是一直都会?
我也是新安装的(最新版本)。docker下ipset下会报错,就用debian vm装了脚本测试,发现vm上是能够正常访问外网的,但是将vm设为网关后下面设备无法访问外网。
由于iptables raw trace一直没调通,看不到调用路径。 另外我怀疑可能和 v2ray 以及 tproxy=true有关? (昨天自己写了iptables tproxy 模式也没有跑通,今天就想试下现成脚本)。 需要什么信息我可以提供
v2ray version:4.18.0 模式:和楼主一样 现象:和楼主一样
试过将 v2ray 的透明代理模式改为 redirect 吗?ss-tproxy.conf 也改一下,我自己用的代理支持 redirect/tproxy 两种方式,两种方式我都试过,一直用 chnroute,没啥问题啊。
使用redirect模式后一会直接报错:Too many open files in system,需要重启vm....
找到原因了,由于部署的时候是旁路网关,所以ipts_non_snat应该设置为true就好了。 docker的问题我另外去repo报issues
奇怪,我将 ipts_non_snat 设置为 true 也不行。 server 是 168.168.0.14 , 实际网关是 168.168.0.1
curl -Iv http://www.baidu.com
* Trying 14.215.177.38...
* TCP_NODELAY set
(卡住,没下文)
网易也同样:
$ dig www.163.com
; <<>> DiG 9.14.0 <<>> www.163.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50136
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.163.com. IN A
;; ANSWER SECTION:
www.163.com. 86 IN CNAME www.163.com.lxdns.com.
www.163.com.lxdns.com. 33 IN A 14.17.80.101
;; Query time: 25 msec
;; SERVER: 168.168.0.14#53(168.168.0.14)
;; WHEN: Wed Apr 10 16:49:37 CST 2019
;; MSG SIZE rcvd: 88
$ curl -Iv http://www.163.com
* Trying 14.17.80.101...
* TCP_NODELAY set
ss-tproxy stop
ss-tproxy flush-iptables
ss-tproxy start
已经尝试过,ss-tproxy flush-iptables 后再用 ss-tproxy show-iptables 确认空后再 start,现象依旧。
那无解了,如果可能的话,发个 iptables raw 表的规则调用链来看看?看是哪出了问题
ipts_intranet=(192.168.1.0/24 168.168.0.0/16) # 内网网段,多个请用空格隔开
这里设置错误吧? 168.168 是什么鬼
@cattyhouse 168.168.0.0/16 是内网地址嘛,不过确实将这个设置为:
ipts_intranet=(168.168.0.0/16)
就好了。
168.168?难道不是192.168?我眼睛看花了么?
高兴得太早,不知道什么原因,改了几次后,恢复成那样也不行了,好神奇。
iptables-save > ~/ipt.log 发来看看吧
ipts_non_snat 改了是有遗留的,如果之前设置过 true,那么那些 snat 规则其实会一直存在,直到你重启或者 flush 规则,这个选项不要动它,代理网关/旁路网关你就设置为 false。
cattyhouse notifications@github.com 于2019年4月11日周四 上午11:43写道:
iptables-save > ~/ipt.log 发来看看吧
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/zfl9/ss-tproxy/issues/45#issuecomment-481953496, or mute the thread https://github.com/notifications/unsubscribe-auth/AABJa5z-rv66BEs3e1Y6yHDCG17r-Wzcks5vfq9agaJpZM4cjnQc .
-- Thanks and Regards, Levin
*raw :PREROUTING ACCEPT [460:47637] :OUTPUT ACCEPT [362:127191] COMMIT
*mangle :PREROUTING ACCEPT [349:37564] :INPUT ACCEPT [350:37545] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [266:90552] :POSTROUTING ACCEPT [266:90552] :SSTP_OUT - [0:0] :SSTP_PRE - [0:0] :UDPCHAIN - [0:0] -A PREROUTING -j SSTP_PRE -A OUTPUT -j SSTP_OUT -A SSTP_OUT -p udp -j UDPCHAIN -A SSTP_PRE -s 168.168.0.0/16 -p udp -m udp --dport 53 -m mark ! --mark 0x2333 -j ACCEPT -A SSTP_PRE -s 168.168.0.0/16 -p udp -m mark ! --mark 0x2333 -j UDPCHAIN -A SSTP_PRE -p udp -m mark --mark 0x2333 -j TPROXY --on-port 60080 --on-ip 127.0.0.1 --tproxy-mark 0x0/0x0 -A UDPCHAIN -d 0.0.0.0/8 -j RETURN -A UDPCHAIN -d 10.0.0.0/8 -j RETURN -A UDPCHAIN -d 127.0.0.0/8 -j RETURN -A UDPCHAIN -d 169.254.0.0/16 -j RETURN -A UDPCHAIN -d 172.16.0.0/12 -j RETURN -A UDPCHAIN -d 192.168.0.0/16 -j RETURN -A UDPCHAIN -d 168.168.0.0/16 -j RETURN -A UDPCHAIN -d 224.0.0.0/4 -j RETURN -A UDPCHAIN -d 240.0.0.0/4 -j RETURN -A UDPCHAIN -d 218.102.217.208/32 -j RETURN -A UDPCHAIN -d 138.19.181.21/32 -j RETURN -A UDPCHAIN -d 219.73.59.136/32 -j RETURN -A UDPCHAIN -d 138.19.181.21/32 -j RETURN -A UDPCHAIN -j MARK --set-xmark 0x2333/0xffffffff COMMIT
*nat :PREROUTING ACCEPT [23:1835] :INPUT ACCEPT [24:1812] :OUTPUT ACCEPT [10:2062] :POSTROUTING ACCEPT [11:2124] :SSTP_OUT - [0:0] :SSTP_PRE - [0:0] :TCPCHAIN - [0:0] -A PREROUTING -j SSTP_PRE -A OUTPUT -j SSTP_OUT -A SSTP_OUT -p tcp -j TCPCHAIN -A SSTP_OUT -d 127.0.0.1/32 -p udp -m udp --dport 53 -j REDIRECT --to-ports 60053 -A SSTP_PRE -s 168.168.0.0/16 -p udp -m udp --dport 53 -m mark ! --mark 0x2333 -j REDIRECT --to-ports 60053 -A SSTP_PRE -s 168.168.0.0/16 -p tcp -j TCPCHAIN -A TCPCHAIN -d 0.0.0.0/8 -j RETURN -A TCPCHAIN -d 10.0.0.0/8 -j RETURN -A TCPCHAIN -d 127.0.0.0/8 -j RETURN -A TCPCHAIN -d 169.254.0.0/16 -j RETURN -A TCPCHAIN -d 172.16.0.0/12 -j RETURN -A TCPCHAIN -d 192.168.0.0/16 -j RETURN -A TCPCHAIN -d 168.168.0.0/16 -j RETURN -A TCPCHAIN -d 224.0.0.0/4 -j RETURN -A TCPCHAIN -d 240.0.0.0/4 -j RETURN -A TCPCHAIN -d 218.102.217.208/32 -j RETURN -A TCPCHAIN -d 138.19.181.21/32 -j RETURN -A TCPCHAIN -d 219.73.59.136/32 -j RETURN -A TCPCHAIN -d 138.19.181.21/32 -j RETURN -A TCPCHAIN -p tcp -j REDIRECT --to-ports 60080 COMMIT
*filter :INPUT ACCEPT [458:47442] :FORWARD DROP [0:0] :OUTPUT ACCEPT [361:126535] COMMIT
*raw :PREROUTING ACCEPT [1261:185890] :OUTPUT ACCEPT [1120:485233] COMMIT
*mangle :PREROUTING ACCEPT [1074:164743] :INPUT ACCEPT [1076:164747] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [972:427405] :POSTROUTING ACCEPT [972:427405] :SSTP_OUT - [0:0] :SSTP_PRE - [0:0] :UDPCHAIN - [0:0] -A PREROUTING -j SSTP_PRE -A OUTPUT -j SSTP_OUT -A SSTP_OUT -p udp -j UDPCHAIN -A SSTP_PRE -s 168.168.0.0/16 -p udp -m udp --dport 53 -m mark ! --mark 0x2333 -j ACCEPT -A SSTP_PRE -s 168.168.0.0/16 -p udp -m mark ! --mark 0x2333 -j UDPCHAIN -A SSTP_PRE -p udp -m mark --mark 0x2333 -j TPROXY --on-port 60080 --on-ip 127.0.0.1 --tproxy-mark 0x0/0x0 -A UDPCHAIN -d 0.0.0.0/8 -j RETURN -A UDPCHAIN -d 10.0.0.0/8 -j RETURN -A UDPCHAIN -d 127.0.0.0/8 -j RETURN -A UDPCHAIN -d 169.254.0.0/16 -j RETURN -A UDPCHAIN -d 172.16.0.0/12 -j RETURN -A UDPCHAIN -d 192.168.0.0/16 -j RETURN -A UDPCHAIN -d 168.168.0.0/16 -j RETURN -A UDPCHAIN -d 224.0.0.0/4 -j RETURN -A UDPCHAIN -d 240.0.0.0/4 -j RETURN -A UDPCHAIN -d 218.102.217.208/32 -j RETURN -A UDPCHAIN -d 138.19.181.21/32 -j RETURN -A UDPCHAIN -d 219.73.59.136/32 -j RETURN -A UDPCHAIN -d 138.19.181.21/32 -j RETURN -A UDPCHAIN -m set --match-set chnroute dst -j RETURN -A UDPCHAIN -j MARK --set-xmark 0x2333/0xffffffff COMMIT
*nat :PREROUTING ACCEPT [30:3601] :INPUT ACCEPT [31:3518] :OUTPUT ACCEPT [18:1140] :POSTROUTING ACCEPT [19:1202] :SSTP_OUT - [0:0] :SSTP_PRE - [0:0] :TCPCHAIN - [0:0] -A PREROUTING -j SSTP_PRE -A OUTPUT -j SSTP_OUT -A SSTP_OUT -p tcp -j TCPCHAIN -A SSTP_OUT -d 127.0.0.1/32 -p udp -m udp --dport 53 -j REDIRECT --to-ports 60053 -A SSTP_PRE -s 168.168.0.0/16 -p udp -m udp --dport 53 -m mark ! --mark 0x2333 -j REDIRECT --to-ports 60053 -A SSTP_PRE -s 168.168.0.0/16 -p tcp -j TCPCHAIN -A TCPCHAIN -d 0.0.0.0/8 -j RETURN -A TCPCHAIN -d 10.0.0.0/8 -j RETURN -A TCPCHAIN -d 127.0.0.0/8 -j RETURN -A TCPCHAIN -d 169.254.0.0/16 -j RETURN -A TCPCHAIN -d 172.16.0.0/12 -j RETURN -A TCPCHAIN -d 192.168.0.0/16 -j RETURN -A TCPCHAIN -d 168.168.0.0/16 -j RETURN -A TCPCHAIN -d 224.0.0.0/4 -j RETURN -A TCPCHAIN -d 240.0.0.0/4 -j RETURN -A TCPCHAIN -d 218.102.217.208/32 -j RETURN -A TCPCHAIN -d 138.19.181.21/32 -j RETURN -A TCPCHAIN -d 219.73.59.136/32 -j RETURN -A TCPCHAIN -d 138.19.181.21/32 -j RETURN -A TCPCHAIN -m set --match-set chnroute dst -j RETURN -A TCPCHAIN -p tcp -j REDIRECT --to-ports 60080 COMMIT
*filter :INPUT ACCEPT [1259:185604] :FORWARD DROP [0:0] :OUTPUT ACCEPT [1120:485233] COMMIT
看规则没啥问题,现象是什么,ss-tproxy 主机可以正常翻墙?内网主机不能上 chnroute 网站?但是国外的网站可以上?
对,现象就是使用 chnroute 模式, ss-tproxy 主机可以正常翻墙;内网主机不能上 chnroute 网站,但能上国外的网站。
ipts_non_snat 改了是有遗留的,如果之前设置过 true,那么那些 snat 规则其实会一直存在,直到你重启或者 flush 规则,这个选项不要动它,代理网关/旁路网关你就设置为 false。
ipts_non_snat 已经设为 false, 并 ss-tproxy flush-iptapbles 过。
你这毛病有点 6,你确定没有拼写错误?内网网段是 168.168.0.0/16?难道不是 192.168.0.0/16?
我早就说了192.168,
这世界上没有 168.168的内网
还有 ,发 ipt.log上来看看。
@cattyhouse 规则它前面发过,展开看得到,规则我感觉没啥问题,主要是对他的内网网段有点疑问,其实硬要使用这种网段作为内网网段也是可以的,但感觉有点点奇怪。
-A SSTP_PRE -s 168.168.0.0/16 -p udp -m mark ! --mark 0x2333 -j UDPCHAIN -A SSTP_PRE -s 168.168.0.0/16 -p udp -m udp --dport 53 -m mark ! --mark 0x2333 -j REDIRECT --to-ports 60053 -A SSTP_PRE -s 168.168.0.0/16 -p tcp -j TCPCHAIN
因为你用了 168.168, 所以你的内网的所有ip 192.168.x.x都没有被 jump到 UDPCHAIN 和 TCPCHAIN上去, DNS也没有被jump到 60053这个端口上去.
请正确设置 ipts_intranet=(192.168.0.0/16)
不太对,他说国外网站可以访问,说明代理其实是生效了的,那估计他的网段确实是 168.168
@levindu 换为 gfwlist 模式,看看是否和我猜想的现象一样(什么都不要改,就改 mode 为 gfwlist),现象为:除了在 gfwlist 里面的网站(google、youtube 这些),其他的统统上不了?对不对。
168.168是公网ip的.
内网段是 168.168 就不用纠结了哈。
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial
# uname -a
Linux tchip14 4.15.0-43-generic #46~16.04.1-Ubuntu SMP Fri Dec 7 13:31:08
UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# lsmod | grep -i proxy
xt_TPROXY 20480 1
nf_defrag_ipv6 36864 1 xt_TPROXY
nf_defrag_ipv4 16384 2 nf_conntrack_ipv4,xt_TPROXY
x_tables 40960 12
xt_conntrack,iptable_filter,xt_tcpudp,ipt_MASQUERADE,xt_addrtype,xt_set,xt_TPROXY,iptable_raw,ip_tables,iptable_mangle,xt_REDIRECT,xt_mark
附件是按照 https://serverfault.com/questions/78240/debugging-rules-in-iptables 加了 trace 的 log.
zfl9 notifications@github.com 于2019年4月11日周四 下午12:17写道:
@cattyhouse https://github.com/cattyhouse 规则它前面发过,展开看得到,规则我感觉没啥问题,主要是对他的内网网段有点疑问,其实硬要使用这种网段作为内网网段也是可以的,但感觉有点点奇怪。
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/zfl9/ss-tproxy/issues/45#issuecomment-481958752, or mute the thread https://github.com/notifications/unsubscribe-auth/AABJa9DqxZsUo8euVN495SeuisjpoSoCks5vfrc-gaJpZM4cjnQc .
-- Thanks and Regards, Levin
Apr 11 13:32:34 tchip14 kernel: [5027035.119021] TRACE: raw:PREROUTING:policy:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119044] TRACE: mangle:PREROUTING:rule:1 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119058] TRACE: mangle:SSTP_PRE:return:4 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119071] TRACE: mangle:PREROUTING:policy:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119084] TRACE: nat:PREROUTING:rule:1 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119098] TRACE: nat:SSTP_PRE:rule:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119119] TRACE: nat:TCPCHAIN:rule:14 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119133] TRACE: nat:SSTP_PRE:return:3 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119145] TRACE: nat:PREROUTING:policy:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119168] TRACE: mangle:FORWARD:policy:1 IN=enp5s0 OUT=enp5s0 MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:34 tchip14 kernel: [5027035.119181] TRACE: filter:FORWARD:policy:1 IN=enp5s0 OUT=enp5s0 MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=42504 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB048D0000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121656] TRACE: raw:PREROUTING:policy:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121680] TRACE: mangle:PREROUTING:rule:1 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121695] TRACE: mangle:SSTP_PRE:return:4 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121707] TRACE: mangle:PREROUTING:policy:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121721] TRACE: nat:PREROUTING:rule:1 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121735] TRACE: nat:SSTP_PRE:rule:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121758] TRACE: nat:TCPCHAIN:rule:14 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121771] TRACE: nat:SSTP_PRE:return:3 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121784] TRACE: nat:PREROUTING:policy:2 IN=enp5s0 OUT= MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121810] TRACE: mangle:FORWARD:policy:1 IN=enp5s0 OUT=enp5s0 MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307) Apr 11 13:32:35 tchip14 kernel: [5027036.121823] TRACE: filter:FORWARD:policy:1 IN=enp5s0 OUT=enp5s0 MAC=60:a4:4c:e7:f0:8b:3c:97:0e:5a:33:5e:08:00 SRC=168.168.4.18 DST=14.17.80.101 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=42505 DF PROTO=TCP SPT=41308 DPT=443 SEQ=3619898419 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40402080ADAFB08780000000001030307)
@levindu 我想问168.168做内网是什么骚操作呢? 为什么不用 192.168, 10.x.x.x, 172.16.x.x?
@cattyhouse 公司习惯用这个而已。 有看到那个 trace log 吗?
@levindu trace看不懂. 能把 client 和 server 以及 router , gateway的 ip都列出来下么 ?
我表示不明白了. 168.168.x.x 是公网ip地址, 你们公司拿来做内网ip, 我怀疑你们的公司的IT部门是请的外包(草包). :)
@levindu 验证一下 gfwlist 的现象,是否和我猜想的一致
我怎么感觉,如果你使用 chnroute 模式,且将 non snat 改为 true,会全部都可以上呢?
@cattyhouse 没办法,这不是我可以决定的,用了几年也没遇过什么问题,也许这网段太值钱还没有分配出去:)
client: 168.168.4.18 server: 168.168.0.14 gateway: 168.168.0.1
@zfl9 启用 gfwlist ,现象跟 chnroute 一样的。
使用 chnroute 模式,将 non_snat 设为 true,不影响结果。
Client的 DNS 和 Gateway 是什么?
@cattyhouse Client 的 DNS 和 Gateway 当然是 168.168.0.14 啊
dig www.google.com
; <<>> DiG 9.14.0 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26954
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 47 IN A 172.217.31.228
;; Query time: 240 msec
;; SERVER: 168.168.0.14#53(168.168.0.14)
;; WHEN: Thu Apr 11 14:29:45 CST 2019
;; MSG SIZE rcvd: 59
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 168.168.0.14 0.0.0.0 UG 100 0 0 eth0
168.168.0.0 0.0.0.0 255.255.0.0 U 100 0 0 eth0
内网网段太奇葩了,我感觉问题和网段有点关系,和 snat 规则也有点关系。
都没有关系, 我用 Arch Linux 做了一个 ss-tproxy 主机,用的是 chnroute 模式,网段也是 168.168.0.0/16,其它内网主机连过来一点问题都没有。
我只能说在 Ubuntu 16.04.5 LTS 的 Linux 4.15.0-43-generic 下会有怪异的现象,暂时还查不出原因。
在 Arch Linux 的 Linux 5.0.6-arch1-1-ARCH 下是正常的。
ubuntu 自带奇葩的 iptables 规则... archlinux默认没有任何iptables规则. ss-tproxy flush-iptables 并不能完全flush掉ubuntu的规则. 你可以flush后再 iptables-save 看看里面是什么?
flush-iptables 后,用 iptables-save 查看就是空的。有可能是内核差异吧。
cattyhouse notifications@github.com 于2019年4月11日周四 下午10:42写道:
ubuntu 自带奇葩的 iptables 规则... archlinux默认没有任何iptables规则. ss-tproxy flush-iptables 并不能完全flush掉ubuntu的规则. 你可以flush后再 iptables-save 看看里面是什么?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/zfl9/ss-tproxy/issues/45#issuecomment-482143588, or mute the thread https://github.com/notifications/unsubscribe-auth/AABJa_H_fWAHt9g5szjaAJzDKQdqoXSsks5vf0nlgaJpZM4cjnQc .
-- Thanks and Regards, Levin
楼主这个有解了吗?我遇到一模一样的问题 client 网关和dns设置为N1 的ip,chn模式,可以访问twitter,youtube,但国内所有域名都访问不了
在client上ping 国内域名地址都不通
N1 是armbian5.77 ,安装了docker op 。client DNS和网关设置为OP的ip后,可以正常国内,国外上网,但是,挂QQ过会儿就掉线。。。 想用回 ss-tproxy又只能访问外网
换系统吧,疑难杂症。不好调试。
我的正常使用,也是n1盒子,换了几个armbian版本,除了ipv6没有,ss和v2都可以
还好 armbian 下的docker op满足了机顶盒播放netflix的需求,暂时放弃 armbian下的ss-tproxy为啥不行了。感谢楼主
使用的是最新的提交: b0e8dea3957b17f379d51b62422c14ba588a1974
以下使用 client 指代非网关机器, server 指代运行 ss-tproxy 的机器。
chnroute 模式
设置成 chnroute 模式,client 运行:
就一直卡住,没有输出,而 server 就正常。
client 和 server 获取国外服务器均正常:
global 模式
设置成 global 模式,两台机器获取国内国外服务器都正常。
info
已经使用 /usr/local/bin/ss-tproxy update-chnroute 更新过 chnroute 表。
以下是调试信息:
Client:
Server:
ss-tproxy.conf: