我已經配置了 Squid 代理程式和 NAT 實例,兩者都運作良好。
現在我想在 NAT 實例上設定代理伺服器,以便 NAT 上的網際網路透過 Squid 代理伺服器路由。
此設定是在 CentOS 6.3 上配置的。
答案1
透明攔截流量使用基於策略的路由透過NAT將網路流量重定向到squid代理,然後攔截它。
在 GW 或 NAT 盒上設定策略路由,調整 IP 和介面以適應。您的圖表意味著可能不需要允許您的魷魚盒存取網路的第一條規則。
iptables -t mangle -A PREROUTING -j ACCEPT -p tcp --dport 80 -s squidip iptables -t mangle -A PREROUTING -j MARK --set-mark 8 -p tcp --dport 80 ip rule add fwmark 8 table 2 ip route add default via squidip dev eth0 table 2
然後在 Squid Proxy 上進行攔截。如果連接埠 80 上的其他資料有可能需要通過此框,則此規則可以更加具體。
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129
在魷魚盒上,
squid.conf
http_port 3129 intercept
如果您需要支援IPV6,烏賊有一個tproxy 設定範例對於 CentOS。