iptables leitet den http-Verkehr nicht an meinen Squid-Proxy weiter!

7

Ich habe einen transparenten Squid-Proxy eingerichtet, der Port 3128 auf localhost abhört, um einige Websites zu blockieren.

Ich habe den Proxy mit Firefox getestet und es funktioniert.

Dann habe ich dies ausgeführt, in der Hoffnung, alle http-Anfragen an den Proxy umzuleiten:

sudo iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-ports 3128

Leider passiert nichts. Die anderen Browser in meinem System scheinen den Proxy nicht zu verwenden. Ich möchte nicht jeden Browser konfigurieren, um auch den Proxy zu verwenden.

sudo iptables -L zeigt keine zugewiesenen Regeln.

Ich arbeite unter Ubuntu 13.04 und verwende ein 3G-USB-Modem ( ppp0), um eine Verbindung zum Internet herzustellen. Jeder Rat wird geschätzt!

Naveen
quelle

Antworten:

13

Ich denke, Sie vermissen den Zielport, versuchen Sie Folgendes

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

Ohne dport leiten Sie den Verkehr mit dem Zielport 3128 an den lokalen Port 3128 weiter. Sie möchten den Verkehr mit dem Zielport 80 an den lokalen Port 3128 weiterleiten.

Verwenden Sie außerdem , um nat- Regeln anzuzeigen

iptables -t nat -L

Die oben genannten Regeln funktionieren jedoch nicht für ein transparentes Proxy-Setup auf demselben Computer des Browsers, da die PREROUTING- Kette die Pakete vor dem Routing von einem Remote-Client ändert und für lokal generierte Pakete nichts unternimmt. Daher sollten wir die OUTPUT- Kette für lokal generierte Pakete verwenden, die vom System ausgehen.

Versuchen Sie stattdessen zu folgen

iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner proxy --dport 80 -j REDIRECT --to-port 3128

Der Datenverkehr wird nur für andere Prozesse als die des proxyBenutzers umgeleitet .

Ohne -m owner ! --uid-owner proxyfunktioniert es nicht, da die Regeln auch den ausgehenden Datenverkehr des Proxyservers abfangen und in einer Schleife enden.

John Siu
quelle
:( Kein Effekt .. Dies ist die Ausgabe: i.imgur.com/OXtNVEw.jpg
Naveen
2
Was ist die Ausgabe von 'iptables -t nat -L'
John Siu
Jetzt sehe ich eine neue NAT-Regel: tinyuploads.com/images/9aAd1e.jpg
Naveen
1
Wie ist Ihr Proxy eingerichtet? Befindet sich auf derselben Box der Browser oder ein separater Computer? auch Post-Ausgabe von ifconfig.
John Siu
1
@ JohnSiu Ich habe mich bei askubuntu angemeldet, nur um deine Antwort abzustimmen! Vielen Dank!
Kulbir Saini