戈斯特是一个网络模块,它允许您将其视为许多事物,包括透明代理。
在他们的页面上关于透明代理可以看到有一种方法可以编写iptables规则,以便将udp流量转发到透明代理。
然而他们的 iptables 规则似乎包含了 tproxy,这就是我的问题发生的地方。我想要实现的是我想要的全部udp 流量转发到 gost - 不仅仅是特定于特定端口的流量。然而,在他们的 iptables 规则中,他们似乎指定了一个使用 tproxy 的规则,其中仅当发送到特定端口号时才标记数据包。
我想我的问题是有什么办法可以完成我想做的事情吗?即使用iptables将所有udp流量转发到gost透明代理?
对于那些不想访问链接的人来说,这里是 gost 网站上写的 iptables 规则:
iptables -t mangle -N GOST
iptables -t mangle -N GOST_LOCAL
iptables -t mangle -A GOST -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A GOST -d 127.0.0.0/8 -p udp -j RETURN
iptables -t mangle -A GOST -d 192.168.0.0/16 -p udp -j RETURN
iptables -t mangle -A GOST -p udp -j TPROXY --on-port 12345 --on-ip 0.0.0.0 --tproxy-mark 1
iptables -t mangle -A GOST_LOCAL -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A GOST_LOCAL -d 192.168.0.0/16 -p udp -j RETURN
iptables -t mangle -A GOST_LOCAL -d 1.2.3.4/32 -p udp -j RETURN
iptables -t mangle -A GOST_LOCAL -p udp -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -j GOST
iptables -t mangle -A OUTPUT -j GOST_LOCAL
然后他们似乎有一些关于路由表的规则。我不确定那是什么,但我将其包括在内只是为了确保我是彻底的。
ip rule add fwmark 1 table 100
ip route add local 0.0.0.0/0 dev lo table 100