[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: