PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : transparenter Proxy... ein paar Fragen



jean_luc_picard
09.12.03, 20:15
Hallo Leute,

mir ist noch nicht so ganz klar, wie das mit dem transparenten Proxy läuft. Man muß ja per iptables ne REDIRECT-Regel erstellen, soweit kein Problem, nur verstehe ich nicht, wie der Proxy das überhaupt mitbekommt.
Angenommen mein Browser versucht ne Verbindung zu 222.222.222.111:80 und iptables ändert, wie ich es bisher überall gesehen habe, den Zielport auf 8080 (oder nen anderen halt), dann wird doch die Verbindung nach 222.222.222.111:8080 umgeleitet, und dann? Dort ist doch nichts zu holen. Wie kommt da der Proxy ins Spiel?
Außerdem interessiert mich, ob es bei einem transparenten Proxy auch möglich ist (wie bei einem normalen Router), festzustellen, wieviele Clients im Netz surfen (siehe Bericht aus der C't, IP-Headers).

Gruss Picard

Virus2500
09.12.03, 20:27
Naja normalerweiße ändert er nicht auf 222.222.222.111:8080 sondern auf deinproxy:8080 welcher die anfrage verarbeitet, die daten von 222.222.222.111:8080 holt und sie dann an deinen client wieder zurückgibt.

Ob er auch sieht wieviele clients online sind kann ich leider nicht sagen...

lg

Mike

geronet
09.12.03, 20:31
Siehe auch hier:

http://www.linuxforen.de/forums/showthread.php?s=&threadid=103701&highlight=proxy

jean_luc_picard
09.12.03, 20:36
bisher habe ich die iptables regel nur in folgender form gefunden:

iptables -A PREROUTING -t nat -i $IF_LOC -p tcp --dport 80 -j REDIRECT --to-port 3128


... und nie mit --to-destination 127.0.0.1 o.Ä. Die im Paket eingetragene Ziel-IP bleibt also unverändert. Andererseits: wenn iptables die Ziel-IP ändern würde, woher sollte dann der Proxy noch wissen können, welche Seite man laden will?

jean_luc_picard
09.12.03, 20:43
@geronet

Du schreibst in dem Beitrag, das der Proxy die Pakete abfängt. Das heißt, alle Pakete die den Rechner normalerweise verlassen würden und den Zielport 8080 haben werden nach der Firewall oder vor der Firewall (ja wo denn eigentlich, ist ja wichtig für die Firewallregeln) abgefangen und vom Proxy weiterverarbeitet? Also der Proxy geht dann wieder über Port 80 raus, um die Seite zu besorgen?

geronet
09.12.03, 21:01
Der Proxy fängt die Pakete ab, ja, und zwar vor der Firewall, bzw. mit ihr:

-t nat -A PREROUTING heisst vor dem routing, also gleich nachdem die Pakete hereinkommen.
Pakete für den Zielport 8080 gehen direkt zum Proxy, Pakete zu Port 80 werden über die REDIRECT Regel zum Proxy geschickt.

Der Proxy schickt dann selber Anfragen von einem Port >1024 auf den Webserver mit Port 80.
Du musst immer zwischen Quell-und Zielport unterscheiden.

Grüsse, Stefan

geronet
09.12.03, 21:47
> Die im Paket eingetragene Ziel-IP bleibt also unverändert. Andererseits: wenn iptables die Ziel-IP ändern würde, woher sollte dann der Proxy noch wissen können, welche Seite man laden will?

Nein, die Ziel-IP wird auf 127.0.0.1 geändert, Im http 1.1 Protokoll steht nochmal der Servername drin.

jean_luc_picard
10.12.03, 15:34
Original geschrieben von geronet
Nein, die Ziel-IP wird auf 127.0.0.1 geändert, Im http 1.1 Protokoll steht nochmal der Servername drin.

Welcher Servername? Von wem wird die IP auf 127.0.0.1 geändert? Von der Firewall doch jedenfalls nicht...
So wie ich das jetzt verstanden habe arbeitet der Proxy im Hintergrund und fängt alle Pakete die als Zielport 8080 haben ab, verarbeitet diese, besorgt die erforderlichen Daten und schickt diese dann zurück.

geronet
10.12.03, 20:02
>Welcher Servername?
Vom dem der die Webseite liefern soll.

>Von wem wird die IP auf 127.0.0.1 geändert? Von der Firewall doch jedenfalls nicht...
Doch, von der REDIRECT-Regel. Es steht in der man-page von iptables drin.

>So wie ich das jetzt verstanden habe arbeitet der Proxy im Hintergrund und fängt alle Pakete die als Zielport 8080 haben ab, verarbeitet diese, besorgt die erforderlichen Daten und schickt diese dann zurück.

Richtig erfasst ;)

jean_luc_picard
11.12.03, 15:22
ok, jetzt hab ich's :D

danke, Gruss picard