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.