Squid Web Cache Wiki

Squid Web Cache 文档

🔗 使用 WCCPv2 配置多个拦截端口

作者:AdrianChadd

🔗 目录

Squid 的 WCCPv2 实现可以拦截 TCP 端口 80 以外的流量。当前实现可以创建多个任意的 TCP 和 UDP 端口。

有几点需要注意:

🔗 示例

以下是一个将端口 80 和端口 8080 的流量重定向到 Squid 代理服务器的示例。

🔗 Cisco 配置

这会配置一个动态服务组 - 组 80 - 该组会接收来自邻居缓存的许多详细信息。我选择 80 是因为它代表“Web 和其他一些东西”,但它不一定是 80,也不一定涉及 http (TCP 端口 80)。它可以是 90、100 或 123。

!
ip wccp 80
!
interface FastEthernet0/1
 ip address 192.0.2.1 255.255.255.0
 ip wccp 80 redirect in
 ip nat inside
 ip virtual-reassembly
 duplex auto
 speed auto
!

🔗 Squid 配置

此配置涵盖拦截部分 - 这个 Squid 位于一个经过 WCCPv2 拦截的 NAT 接口之后。Squid 服务器有两个网络接口:一个带有 Squid 使用 tcp_outgoing_address 绑定的真实 IP 地址的外部接口,以及内部的 192.0.2.0/24 WCCPv2 拦截 + NAT 地址。

wccp2_service dynamic 80
wccp2_service_info 80 protocol=tcp priority=240 ports=80,8000,2080

wccp2_router 192.0.2.1:2048

http_port 192.0.2.10:3128 transparent vport=80
http_port 192.0.2.10:8000 transparent vport=8000
http_port 192.0.2.10:2080 transparent vport=2080

🔗 Linux 拦截配置

eth0 是外部(公共)IP 地址;eth1 是正在被 WCCPv2 拦截的内部 IP 地址。

ip tunnel add gre0 mode gre remote 192.0.2.1 local 192.0.2.10 dev eth1
ifconfig gre0 inet 192.0.2.4 netmask 255.255.255.0 up
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/lo/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/gre0/rp_filter

iptables -F -t nat
iptables -t nat -A PREROUTING -i gre0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.0.2.10:3128
iptables -t nat -A PREROUTING -i gre0 -p tcp -m tcp --dport 8000 -j DNAT --to-destination 192.0.2.10:8000
iptables -t nat -A PREROUTING -i gre0 -p tcp -m tcp --dport 2080 -j DNAT --to-destination 192.0.2.10:2080

⚠️ Disclaimer: Any example presented here is provided "as-is" with no support
or guarantee of suitability. If you have any further questions about
these examples please email the squid-users mailing list.

类别: ConfigExample

导航:网站搜索网站页面分类🔼 向上