透明鱿鱼:logging客户端IP问题

我在我的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客户端。 实际上让浏览器识别代理服务器正在使用中有一些优点。