使用 IPTABLES 将代理流量重定向到测试箱

使用 IPTABLES 将代理流量重定向到测试箱

将此标记为已回答。我将尝试让它工作。这仅用于测试。

我目前正在使用一个监听 8080 端口的代理服务器 (squid)。用户的浏览器都配置了这个代理。

我想测试另一个代理设备,而不需要在用户工作站上重新配置任何东西。

新的盒子需要将其用作默认网关。它可以透明地过滤病毒和内容。

有没有办法将发往当前代理上端口 8080 的流量重定向到新机器而不执行 NAT?我希望源 IP 地址保持不变,这样我们就可以看到谁在访问什么。

我尝试过使用 IPTABLES 的一些方法,但都没有成功。任何想法我都非常感谢。

谢谢,罗德

答案1

我可以想象出 4 种实现目标的基本方法。它们被列为两种变体,每种变体又有两种子变体。

  1. 将新设备配置为显式 HTTP 代理。当然,新设备必须具备这种功能。例如,Fortinet 和 Check Point 防火墙就具备这种功能。
    1. 在 Squid 代理上设置新设备作为上游代理。新设备将仅看到 Squid 代理的地址。它必须能够解释X-Forwarded-ForHTTP 标头才能看到客户端的 IP 地址。
    2. 客户端和新设备之间执行目的地址的NAT(如果需要,还包括端口)。这样,数据包将转到新的设备 IP,而不是 Squid IP:8080。源 IP 地址将相同。
  2. 将新设备放置在 Squid 和 Internet 之间的路径上。该设备不会充当显式 HTTP 代理。
    1. HTTP 请求将来自 Squid 的 IP 地址,但如果新设备理解X-Forwarded-ForHTTP 标头它将能够看到客户端的 IP 地址。
    2. 这只是一个理论上的可能性,我不确定是否存在能够实现这一点的现有解决方案。在 Squid 和新设备之间执行源 IP 地址 NAT 回客户端的 IP 地址因此从 Squid 发送到 Internet 的请求看起来就像直接来自客户端的请求。

相关内容