Andere Portnummer fĂĽr FTP
Ich möchte in meinem Heimnetz einen auch von außen zu erreichenden FTP-Server betreiben, ihn aber aus Sicherheitsgründen auf einem anderen Port als 21 lauschen lassen. Den Server habe ich entsprechend konfiguriert und auf dem Router ein passendes Port-Forwarding für den neuen Port (beispielsweise 30 000) eingerichtet. Die Anmeldung von extern funktioniert auch noch, aber wenn dann mit list das Verzeichnislisting ausgegeben werden soll, tut sich eine Zeit lang nichts und dann erscheint die Fehlermeldung „Could not retrieve directory listing“. Kann es sein, dass mein Router den Port 21 anders behandelt als andere?
- Johannes Endres
Ich möchte in meinem Heimnetz einen auch von außen zu erreichenden FTP-Server betreiben, ihn aber aus Sicherheitsgründen auf einem anderen Port als 21 lauschen lassen. Den Server habe ich entsprechend konfiguriert und auf dem Router ein passendes Port-Forwarding für den neuen Port (beispielsweise 30 000) eingerichtet. Die Anmeldung von extern funktioniert auch noch, aber wenn dann mit list das Verzeichnislisting ausgegeben werden soll, tut sich eine Zeit lang nichts und dann erscheint die Fehlermeldung „Could not retrieve directory listing“. Kann es sein, dass mein Router den Port 21 anders behandelt als andere?
Das Problem entsteht wahrscheinlich aus dem Prinzip von FTP: Zum Übertragen der Dateien und der Verzeichnislisten wird eine zweite Verbindung aufgebaut, deren Portnummer nicht vorhersehbar ist. Vielmehr wird sie per port-Befehl in der Kontrollverbindung übermittelt. Um auch die zweite Verbindung durchleiten zu können, muss der Router den FTP-Kontrollverkehr mitlesen, den port-Befehl erkennen und temporär ein passendes Port-Forwarding einrichten. Da es zu aufwendig wäre, den gesamten Datenverkehr auf allen TCP-Ports nach dem FTP-Befehl zu durchsuchen, lesen Router normalerweise nur auf dem Standardport 21 mit.
In manchen Fällen hilft es, zwischen aktivem und passivem FTP-Modus umzuschalten: Beim aktiven baut der Server die Datenverbindung zum Client auf, sodass der Router auf Client-Seite ein Port-Forwarding braucht. Beim passiven initiiert sie der Client, sodass im Router beim Server ein Port-Forwarding nötig ist. In Ihrer Situation könnte es also helfen, aktives FTP zu benutzen, allerdings nur, wenn der Client nicht hinter einem Router sitzt - sonst entsteht dasselbe Problem auf seiner Seite.
Eine andere Methode wäre, die Dateien per HTTP zur Verfügung zu stellen, denn das braucht nur eine Verbindung, sodass ein normales Port-Forwarding ausreicht. ()