系统是 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
1
limstash 2020-03-27 14:47:11 +08:00
遇到了同样的问题...
|
2
SunriseFox OP @limstash 我之后就莫名其妙地好了,可以试试...
执行过这些指令 // 注意这个没持久化重启就没了... 可以手动写个文件什么的 sysctl net.ipv4.conf.all.forwarding=1 sysctl net.ipv4.conf.<网卡名 比如 eth0>.rp_filter=2 sysctl net.ipv4.conf.lo.rp_filter=0 将 /etc/systemd/system/multi-user.target.wants/docker.service 里面的 exec 在 docker 启动参数后面加 --iptables=false 然后重新应用 iptables 规则 |
3
limstash 2020-03-31 21:43:57 +08:00 1
@SunriseFox 后来我发现是因为 docker 的数据包在 nat:postrouting 才转换 src,在进入 mangle:prerouting 时 src 还是 172.17.0.0/16 网段的,然后就不知道怎么被 v2ray 丢了
我加了一条 iptables -t mangle -A V2RAY -s 172.17.0.0/16 -j RETURN |