我正在尝试在我的局域网上路由一些流量。
我在 192.168.0.1:3128 上有一个 squid3 服务器,所有网络流量都经过 squid3。(通过 iptables 透明传输)现在我有一个正在运行的测试服务器哈夫普位于 192.168.0.24:3127
Squid3 缓存,havp 检查恶意软件和病毒
有没有办法在流量到达我的 squid 服务器之前“切入”流量,并将其通过我的 havp 服务器?havp 设置为将流量转发回 192.168.0.1:3128(非 SSL 流量)
这是迄今为止我尝试过的 iptables 语法:
iptables -t nat -A PREROUTING -i eth3 -p tcp --dport 80 -j REDIRECT --to-destination 192.168.0.24:3127
和这个:
iptables -t nat -A PREROUTING -i eth3 --dst 192.168.0.24 -p tcp --dport 80 -j REDIRECT --to-port 3127
它们都不起作用。192.168.0.24 设置为接受端口 3127 上的流量。
如果我手动连接到 havp 服务器,它就会运行得很好。
My browser -> havp -> squid3 -> internets
我在这里做错了什么?
答案1
使用-I
而不是-A
-A
将规则附加到末尾,-I 将其插入到顶部。既然您说它已经透明地运行,那么您肯定已经有一条规则将流量重定向到 3128。第一个匹配的规则将结束检查,一旦第一个(原始)规则匹配,您当前的尝试将永远不会检查第二个规则。
更好的选择可能是将 havp 设置为 squid 的父代理。