透過 Squid 代理在 NAT 伺服器上路由互聯網

透過 Squid 代理在 NAT 伺服器上路由互聯網

我已經配置了 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。

相關內容