再次在这里请求您的帮助...
这次我需要设置 2 个 squid 缓存代理集群来加速一些 apache 服务器。好处是不需要 NAT,因此只需要直接路由。
现在,我能够使用瞻博防火墙 [网关] 上的策略路由将流量转移到特定的 IP 地址(如果 IP 目标范围在 xxxx-xxxx 内且目标端口 = 80,则通过我的 squid IP 进行路由,但不要更改数据包本身)。
但让我有点困扰的是,我应该如何拦截流量并对其进行更改,以便它直接由 squid 框接收,而不是路由到 apache 服务器。显然这里有 iptables,我不太擅长,所以如果你能帮我设置规则,我将不胜感激
显然,我想要实现的只是一个用于 HTTP 流量的透明缓存代理,它应该仅使用公共 IP 地址来加速一系列 IP 地址(多个服务器)。
答案1
您需要添加 iptables 规则来捕获相同的流量并将其重定向到本地主机上的 Squid 端口。类似下面的代码应该可以做到这一点:
iptables --table nat --append PREROUTING --destination <apache ip1>,<apache ip2> --protocol tcp --port 80 --jump DNAT --to-destination 127.0.0.1:3128
另一种选择是让 Juniper 防火墙执行 DNAT,而不是仅仅改变路由。