我有一个Ubuntu linux系统作为网关系统,上面有两个接口。一个接口用于本地网络,另一个接口用于互联网。我能够毫无问题地通过它来路由流量。我使用两个iptables规则从内部接口转发出站流量:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT现在,我需要创建一个iptables规则,过滤并重定向所有通过eth1接口离开网络的TCP80和443流量,并将其发送到驻留在TCP9090端口上的环回接口上的代理服务器。
我一直在到处寻找,但我还没有找到一个可行的例子。有没有一种有效的方法来做到这一点?
发布于 2012-05-24 05:09:57
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 9090HTTPS不能与透明代理一起使用。有一些技巧,但它没有任何意义,也是无用的。
发布于 2014-04-08 00:45:09
iptables -t nat -A PREROUTING -i eth0 -s ! squid-box -p tcp --dport 80 -j DNAT --to squid-box:3128
iptables -t nat -A POSTROUTING -o eth0 -s local-network -d squid-box -j SNAT --to iptables-box
iptables -A FORWARD -s local-network -d squid-box -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT其中:
第一个命令将数据包从iptables-box发送到squid-box。第二个确保回复通过iptables-box返回,而不是直接发送到客户端(这非常重要!)。最后一个确保iptables-box将适当的数据包转发到squid-box。它可能不是必需的。YMMV.请注意,我们指定了'-i eth0',然后指定了‘-oeth0’,这表示输入接口eth0和输出接口eth0。如果数据包从不同的接口进入和离开,则需要相应地调整命令。
将这些命令添加到/etc/rc.d/下的相应启动脚本中
来自:http://www.tldp.org/HOWTO/TransparentProxy-6.html
https://stackoverflow.com/questions/10727443
复制相似问题