Re: komisches Portforwarding...
Am Dienstag, 22. Februar 2005 10:02 schrieb Andreas Pakulat:
> Hi,
>
> hab hier ein Problem, das irgendwie mit meinem Portforwarding
> zusammenhängt:
>
> Ich kann die öffentlichen Ports aus dem LAN (welches hinter dem
> Router liegt) nicht zugreifen. Sprich folgendes Setup:
>
> Port21 ------- Port21 -------
> I-Net ---- Port80 | PC1 | ----- Port80 | PC2 |
> Port22 ------- Port22 -------
>
>
> PC3
>
> So, von nem Rechner im Netz komme ich ohne Probleme z.B. auf den
> FTP-Server der auf PC2 läuft. Aber von PC1 oder PC2 komme ich nicht
> auf den FTP-Server (mit der IP des ISDN-Interfaces).
Zum Verständnis:
Du forwardest die Ports 21, 22 und 80 auf der (öffentlichen) IP von PC1
an die gleichen Ports auf PC2 (IP aus LAN).
Von PC1 und PC3 kommst du direkt auf PC2 (z.B. FTP) - logisch, wenn sie
in einem Subnet liegen oder PC1 ordentlich im LAN routet.
Du willst jetzt von PC1 oder PC3 über ISDN ins Internet und von dort
zurück und über das Port-Forwarding auf PC2. Und das geht nicht.
OK. Ich vergebe mal mangels Vorgabe folgende Adressen:
PC1: ISDN: 200.2.2.2, default-Route an ISP mit 200.2.2.3
zu PC3: 192.168.1.1
zu PC2: 192.168.2.1
PC2: 192.168.2.10, default-Route an 192.168.2.1
PC3: 192.168.1.10, default-Route an 192.168.1.1
PC3 schickt jetzt ein Paket an Port 21 auf der ISDN-Karte, also an
200.2.2.2, dass aber letztlich vom PC2 angenommen und beantwortet
werden soll.
Ich versuch das mal theoretsich nachzuvollziehen, die Ports lass ich mal
weg, da ja keine Änderung erfolgt.
1.Etappe: von PC3 an default-Route (PC1)
Paket von 192.168.1.10 an 200.2.2.2
2.Etappe: auf PC1 direkt an ISDN-IF (Output)
Paket von 192.168.1.10 an 200.2.2.2
3.Etappe: auf PC1 Input an ISDN-IF -> Forward-Regel
Paket von 192.168.1.10 an 200.2.2.2 -> neu:192.168.2.10
4.Etappe: PC1 an PC2
Paket von 192.168.1.10 an 192.168.2.10
Antwort:
1.Etappe: PC2 an default-Route (PC1)
192.168.2.10 an 192.168.1.10
2.Etappe: Und hier müsste es IMHO eine Konflikt geben
Warum?
Einerseits müsste das Routing dieses Paket direkt an PC3 weiterleiten
und alles wäre an PC3 OK.
Andererseits erkennt IPTables auf PC1 das Paket als Antwort auf das
geforwardete und müsste es dementsprechend zurück maskieren und als
Paket von 200.2.2.2 (neu) über ISDN an 192.168.1.10 zurückschicken
(anscheinend wird hier automatisch das entsprechende Output-Interface
über die Absender-IP bestimmt und kein Ziel-Routing gemacht).
Da IPTables vor dem Routing das Paket in die Finger bekommt, tritt
offensichtlich der zweite Fall ein und es wird mit der Zieladresse
192.168.1.10 ins Internet geschickt, womit es am Next-Hop terminiert
wird.
Wie gesagt: Theorie.
Überprüfe einfach mal praktisch mit einem Sniffer auf PC1, an welchen
Ports welche Pakete hierbei ein- und ausgehen und ob das so stimmt.
Lösung:
Du solltest den Traffic von PC3 ins Internet maskieren. Dann müsste auch
der Rückweg klappen.
HTH
--
Gruß
MaxX
Hinweis: PMs an diese Adresse werden automatisch vernichtet.
Reply to: