iptables 将流量转发到 go 透明代理

iptables 将流量转发到 go 透明代理

戈斯特是一个网络模块,它允许您将其视为许多事物,包括透明代理。

在他们的页面上关于透明代理可以看到有一种方法可以编写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

相关内容