透明代理(wccp和squid)

网络工程 思科 格雷 http-代理
2021-08-01 02:46:19

我正在尝试解决有关透明代理服务器配置的问题。我在设备上没有任何配置,我还没有开始。因为准备和研究那个话题。

我开始有点困惑用于封装数据包的 GRE 隧道是如何工作的。事实上,我知道 GRE 隧道是如何工作的,但是 wccp <-> squid 的配置似乎有所不同。

Cisco 官方文档说,GRE 隧道是自动创建的。为什么不... Less 对我有用。但我必须在服务器端配置 GRE 隧道。顺便说一下,这就是鱿鱼文档所说的。

例子

  • 路由器 IP 地址 = 192.168.1.254
  • 带有鱿鱼的本地引擎 = 192.168.1.253

对于 debian,我使用以下命令:

ip tunnel add wccp0 mode gre remote 192.168.1.254 local 192.168.1.253 dev eth0
ifconfig wccp0 192.168.1.253 netmask 255.255.255.255 up

所以我不必指定GRE IP地址?在站点到站点隧道的正常情况下,我什么时候必须这样做?怎么运行的?Cisco 路由器和代理服务器会自动协商 GRE 封装的 IP 地址吗?他们将使用哪些 IP 地址?

互联网上的每个手册或 HOWTO 看起来都大不相同。

我会很高兴得到任何答案。提前致谢。

丹尼尔

2个回答

我认为 Cisco 指的是有趣的流量被自动放入 GRE 形成的隧道中。这与我们在制作 GRE 隧道时通常想到的不同。通常它与路由有关,您需要一个虚拟接口来拥有 IP 地址,以便您可以从 R1 将路由推送到 R2。

正确,在 WCCP 中,您不必为 GRE 接口 wccp0 指定 IP 地址。大多数情况下,我看到它设置为与物理接口相同,因此您只能在该 IP 地址上运行 squid。只要您有 ip_forward=1,数据包就已经被解封装并在 wccp0 虚拟接口中。您可以通过执行 tcpdump -i wccp -vvv 来验证这一点,您将看到一些内容。

这里的技巧是 WCCP 发生在路由过程之后,这通常是我们使用 GRE 的方式。我们跳过隧道接口 IP 部分,因为我们在 Cisco 端使用 ACL,Squid WCCP 进程获取数据包,因为它在到达时自动解封装。Squid 不是路由器,因此我们不需要用于下一跳语句的隧道接口 IP……解封装的数据包已准备好进行处理……

使用 Squid3.4+ 和 Cisco ASA 的 WCCP SSL 重定向

鱿鱼盒:

ip tunnel add wccp0 mode gre remote any local any dev eth0 ifconfig wccp0 127.0.0.2 netmask 255.255.255.252 up

从 ASA 或路由器,添加 wccp 服务并将重定向列表指向 192.168.1.253。