我在我的networking中的iptables中使用以下规则来使用透明代理
* 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
但我的鱿鱼日志,总是logging网关IP(172.16.0.1)
你知道一个不丢失客户端IP的替代scheme吗? (当然避免手动代理设置!)
我修复了在网关上安装shorewall的问题。
您可以通过将代理服务器悬挂在另一个路由器接口上来解决此问题。
如果这样做,则不需要执行SNAT技巧,这会导致您丢失客户端的IP,因为来自代理的所有stream量都将通过路由器。
你知道一个不丢失客户端IP的替代scheme吗?
由于SNAT规则,您正在丢失客户端IP。 我试图build议你删除该规则。 如果你的鱿鱼盒在你的networking里面就像你的评论所暗示的那么我相当肯定你不需要做SNAT。
不幸的是,您还没有真正向我们提供关于如何设置networking的更多细节。 所以如果由于某种原因需要SNAT,那么你可能需要重新组织你的networking。
另外要看的是使用组策略和/或WPAD自动configuration客户端。 实际上让浏览器识别代理服务器正在使用中有一些优点。