Open ygcaicn opened 3 years ago
透明代理,DNS的UDP流量,和全部TCP流量都转到到1081,没有用前置分流。
查看iptables,貌似一切都没有问题
测试发现,在局域网内的设备分流什么都没有问题,在Op上所有Tcp流量都出不去,表现为无法curl,另外UDP的DNS流量正常能正常到v2ray。
iptables日志分析
路由器本地 curl 123.58.180.8
root@OpenWrt:/etc/v2ray# logread -f [LOG-OUTPUT-raw]IN= OUT=eth4 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 [LOG-OUTPUT-mangle]IN= OUT=eth4 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 [LOG-OUTPUT-nat]IN= OUT=eth4 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-OUTPUT-filter]IN= OUT=eth4 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 进入POSTROUTING之前查路由表,由于带有MARK=0x1,自定义路由表生效,重新确定OUT [LOG-POSTROUTING-mangle]IN= OUT=lo SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-POSTROUTING-nat]IN= OUT=lo SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 重新投递到了lo IN变为lo [LOG-PREROUTING-raw]IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-PREROUTING-mangle]IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 PREROUTING链之后,进行查路由表,由于带有MARK=0x1,自定义路由表生效,确定OUT为本地进程(local process) [LOG-INPUT-mangle]IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-INPUT-filter]IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=9305 DF PROTO=TCP SPT=53648 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0x1 到此数据包投递给本机进程 然后就没有检测到v2ray发出的流量,没有出现MARK=0xff的流量。 同时tail -f /var/log/v2ray* | grep 123.58.180.8 没有任何日志输出(v2ray log level debug) 如果在局域网内设备curl 123.58.180.8的话,v2ray有日志产生
局域网内主机 curl 123.58.180.8
[LOG-PREROUTING-raw]IN=br-lan OUT= MAC=************************ SRC=192.168.6.138 DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31512 DF PROTO=TCP SPT=49080 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0 [LOG-PREROUTING-mangle]IN=br-lan OUT= MAC=************************ SRC=192.168.6.138 DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31512 DF PROTO=TCP SPT=49080 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0 [LOG-PREROUTING-nat]IN=br-lan OUT= MAC=************************ SRC=192.168.6.138 DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31512 DF PROTO=TCP SPT=49080 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-INPUT-mangle]IN=br-lan OUT= MAC=************************ SRC=192.168.6.138 DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31512 DF PROTO=TCP SPT=49080 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-INPUT-filter]IN=br-lan OUT= MAC=************************ SRC=192.168.6.138 DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31512 DF PROTO=TCP SPT=49080 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-INPUT-nat]IN=br-lan OUT= MAC=************************ SRC=192.168.6.138 DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31512 DF PROTO=TCP SPT=49080 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0 MARK=0x1 [LOG-OUTPUT-raw]IN= OUT=eth4 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=41503 DF PROTO=TCP SPT=55994 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0xff [LOG-OUTPUT-mangle]IN= OUT=eth4 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=41503 DF PROTO=TCP SPT=55994 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0xff [LOG-OUTPUT-nat]IN= OUT=eth4 SRC=*.*.*.* DST=123.58.180.8 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=41503 DF PROTO=TCP SPT=55994 DPT=80 WINDOW=29200 RES=0x00 SYN URGP=0 MARK=0xff
+1 我目前是把router本身要访问的 alidns.aliyuncs.com whatismyip.akamai.com mirrors.cloud.tencent.com 这几个域名写在直连列表里
遇到一样的问题,关闭 TProxy 后 op 能正常上网,原因还没具体了解。有空可以 debug 看看。
透明代理,DNS的UDP流量,和全部TCP流量都转到到1081,没有用前置分流。
查看iptables,貌似一切都没有问题
测试发现,在局域网内的设备分流什么都没有问题,在Op上所有Tcp流量都出不去,表现为无法curl,另外UDP的DNS流量正常能正常到v2ray。
iptables日志分析
路由器本地 curl 123.58.180.8
局域网内主机 curl 123.58.180.8