🔗 使用 WCCPv2 配置多个拦截端口
作者:AdrianChadd
🔗 目录
Squid 的 WCCPv2 实现可以拦截 TCP 端口 80 以外的流量。当前实现可以创建多个任意的 TCP 和 UDP 端口。
有几点需要注意:
- Squid 必须配置为监听每个端口 - wccp2_service 配置仅告知 WCCPv2 该做什么,而不是告知 Squid;
- 据我所知,WCCPv2 不能被告知重定向随机的动态 TCP 会话,只能重定向“固定”的服务端口 - 因此它无法拦截和缓存 FTP 数据流;
- 您可以使用 Squid 来通告由服务器上运行的“其他”软件处理的服务(例如,如果您有一个功能正常的 RealServer 代理,您可以使用 Squid 来缓存 Web 流量并宣告 RealMedia 端口拦截,然后由 RealMedia 来代理。)
🔗 示例
以下是一个将端口 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
导航:网站搜索、网站页面、分类、🔼 向上