Ich habe einen Squid-Proxy und eine NAT-Instanz konfiguriert und beide funktionieren einwandfrei.
Jetzt möchte ich einen Proxyserver auf der NAT-Instanz konfigurieren, sodass das Internet auf NAT über den Squid-Proxyserver geleitet wird.
Dieses Setup ist auf CentOS 6.3 konfiguriert.
Antwort1
Um den Datenverkehr transparent abzufangen,Richtlinienbasiertes Routingüber NAT, um den Webverkehr zum Squid-Proxy umzuleiten und ihn dann abzufangen.
Richten Sie das Policy-Routing auf Ihrer GW- oder NAT-Box ein und passen Sie die IPs und Schnittstellen entsprechend an. Ihr Diagramm impliziert, dass die erste Regel, die Ihrer Squid-Box den Zugriff auf das Internet ermöglicht, möglicherweise nicht erforderlich ist.
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
Dann fangen Sie den Squid-Proxy ab. Diese Regel kann spezifischer sein, wenn die Möglichkeit besteht, dass andere Daten auf Port 80 durch diese Box laufen müssen.
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129
Auf der Squid-Box,
squid.conf
http_port 3129 intercept
Wenn Sie IPV6 unterstützen müssen,Tintenfischhabe einentproxy-Konfigurationsbeispielfür CentOS.