系统是 clean install 的 kubuntu 18.04
按照 v2fly 教程配置,执行的指令如下:
sysctl net.ipv4.ip_forward = 1
ip rule add fwmark 1 table 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -N RULE
iptables -t mangle -A RULE -d 127.0.0.1/32 -j RETURN
iptables -t mangle -A RULE -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A RULE -d 172.17.0.0/16 -j RETURN # Docker
iptables -t mangle -A RULE -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A RULE -d 192.168.0.0/16 -p tcp -j RETURN
iptables -t mangle -A RULE -d 192.168.0.0/16 -p udp ! --dport 53 -j RETURN
iptables -t mangle -A RULE -p udp -j TPROXY --on-port 12345 --tproxy-mark 1
iptables -t mangle -A RULE -p tcp -j TPROXY --on-port 12345 --tproxy-mark 1
iptables -t mangle -A PREROUTING -j RULE
iptables -t mangle -N RULE_MASK
iptables -t mangle -A RULE_MASK -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A RULE_MASK -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A RULE_MASK -d 172.17.0.0/16 -j RETURN #Docker
iptables -t mangle -A RULE_MASK -d 192.168.0.0/16 -p tcp -j RETURN
iptables -t mangle -A RULE_MASK -d 192.168.0.0/16 -p udp ! --dport 53 -j RETURN
iptables -t mangle -A RULE_MASK -j RETURN -m mark --mark 0xff
iptables -t mangle -A RULE_MASK -p udp -j MARK --set-mark 1
iptables -t mangle -A RULE_MASK -p tcp -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -j RULE_MASK
配置后主机访问正常但是 Docker (network=bridge / network=host) 均完全无法连接网络,撤销 iptables 修改后恢复正常。尝试用 -j TRACE 发现 docker 发的包的路径和主机发的包的路径完全一致。
感谢大佬指教 0w0
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.