Hmmm, warum wird speziell dafür der Portrange für den passive-Mode angegeben?
Vermutlich, damit dieser Bereich auf den FTP Server weitergeleitet werden kann. Anscheinend hat die Box dann doch Unterstützung für einen FTP Server hinter der Box (im passiv Modus). Ich selbst habe einen FTP Server hinter der Box noch nicht verwendet.
Das entspricht auch dem, was ich vorhin geschrieben habe.
Beim aktiven FTP (früher der Standard-Fall) gibt der Client seine IP/Port Nummer an und der Server wird aktiv, um die Datenverbindung zu dem vorgegebenen Port zu öffnen. Es ist dabei üblich, daß der Quell-Port des Server Port 20 ist, obwohl das eher Konvention als Notwendigkeit ist.
Einige Firewall-Admins haben eingehende Verbindungen vom Quell-Port 20 grundsätzlich erlaubt, damit FTP funktioniert. Daraufhin wurde für Angriffe gern der Quell-Port 20 verwendet, weil der so schön durch Firewalls durchkam. Ich vermute, daß das heute keiner mehr so macht.
Den Port 20 als Ziel-Port zu verwenden, ist nicht üblich, daher bringt es auch nichts, Verbindungen zu Port 20 weiterzuleiten.
Beim passiven FTP gibt der Server eine IP/Port Nummer an. Der Client baut eine Verbindung zu dieser Adresse auf, der Server wartet passiv auf den Verbindungsaufbau. Für die Clients ist diese Variante einfacher, weil sie hinter einem NAT-Router auch funktioniert.
Per TCP-Port 21 nimmt ein PC über das Internet mit dem FTP-Server Kontakt auf.
Dieser antwortet über einen der für passiv definierten Ports, um durch den Router durchzukommen, ohne dass dort weitere Ports freigegeben werden müssen. Der Aufbau geschieht halt von innen heraus.
Ich vermute mal, daß ich diesen Satz falsch verstanden habe. "Der Aufbau geschieht halt von innen heraus" hatte ich so verstanden, daß der Server eine Verbindung zum Client aufbaut, also aktives FTP.
Du wolltest damit vermutlich sagen, daß der Server auf der Kontroll-Verbindung über Port 21 dem Client einen Port gibt, auf dem dann der Client die Verbindung öffnen soll, also passives FTP. Damit das funktioniert, muß zum einen der Port-Bereich, auf den der FTP-Server konfiguriert ist, mit dem Port-Bereich des NAT-Routers übereinstimmen. Weiterhin muß entweder der NAT-Router die interne IP-Adresse des FTP-Servers, die in der Antwort auf das Passiv-Kommando übertragen wird, auf die öffentliche IP-Adresse des NAT-Routers ändern, oder es wird der erweiterte passive Modus (extended passive mode) verwendet, bei dem der Server nur seine Port-Nummer ohne IP-Adresse überträgt. Dieser Modus wurde speziell für FTP-Server hinter NAT-Routern eingeführt, muß dann aber von Client und Server unterstützt werden.
Konkret sieht das mit dem normalen passiv Modus so aus:
Code:
PASV
227 Entering Passive Mode (192,168,178,20,8,1)
Der Clients sendet "PASV", der Server antwortet mit der IP-Adresse 192.168.178.20 und Port 2049 (8*256+1). Ein NAT-Router muß hier in die Daten der FTP-Kontrollverbindung eingreifen und seine eigene öffentliche IP-Adresse eintragen, damit der Client die Verbindung aufbauen kann. Dadurch kann sogar das Datenpaket sich in der Größe ändern, os daß auch die Offsets aller folgenden Pakete geändert werden müssen.
Erweiterter passiver Modus sieht so aus:
Code:
EPSV
229 Entering Extended Passive Mode (|||2049|)
Hier wird nur noch die Port-Nummer übermittelt, daher muß der NAT-Router keine IP-Adresse mehr ändern.