Transparenter Proxy ohne Router

iptabler

Grünschnabel
Hallo zusammen,

ich möchte für einen Benutzer auf einer Linux Box mittel iptables einen transparenten Proxy betreiben. D.h. auf der Maschine läuft ein Squid Proxy und ich möchte, dass der Benutzer keinen Proxy innerhalb des Browsers angeben muß und die Anfragen anstelle von Port 80 auf 3128 umgeleitet werden. Der Rechner ist über WLAN mit dem Internet verbunden.

Die Konfiguration von Squid dahingehend habe ich schon hinbekommen. Was noch fehlt sind die Firewall Regeln. Port 80 kann ich aber nicht so einfach dicht machen, da der Proxy über den Port nach draussen geht.

Da ich zu genau so einem Anwendungsfall keine spezielle Konfiguration gefunden habe, möchte ich Euch um Hilfe bitten, um eine Firewall Konfiguration zu finden. Jemand eine Idee, wie ich sowas mit iptables konfigurieren kann?

Also nochmal zusammengefasst:
Linux Desktop ohne Lan
Internet über WLan (wlan0)
transparenter Proxy mit Squid
Port 80 für alle ausser dem Proxy geschlossen

Danke für Eure Hilfe!

Gruß
iPtabler
 
Also ich bin ein bisschen weiter:

Code:
iptables -F
iptables -F -t nat
iptables -t nat -A output -j LOG

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

Allerdings bekommt anscheinend das Paket nach dem Durchlaufen von Squid keine neue owner id. Das klappt also nicht.

Auch das State funktioniert anders, als ich das annehme. Nach der Weiterleitung zum Proxy hat das Paket anscheinend immer noch den Status NEW. Ich komme also nicht durch die Firewall.

Was mache ich noch falsch?

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

Ich mußte zusätzlich lediglich noch ACLs für Squid hinzufügen. Localhost alleine reichte nicht mehr.

Code:
http_access allow localnet
acl localnet src 192.168.0.0/16

Gruß
iptabler
 

Neue Beiträge

Zurück