Der Benutzername funktioniert, das Passwort funktioniert, und der Client meldet, dass er verbunden ist. Dann wartet er ewig auf eine Ordnerliste oder auf die erste Dateiübertragung, und nichts in den Zugangsdaten erklärt das. FTP öffnet für jede Liste und jede Datei eine zweite Verbindung, und genau diese zweite Verbindung schlägt fehl. Der Login beweist nur, dass das erste Gespräch funktioniert.

Arbeiten Sie die Prüfungen der Reihe nach ab. Jede schließt eine andere Ebene aus, also hören Sie bei der ersten auf, die eine Anomalie zeigt.

Trennen Sie zuerst die beiden Verbindungen

Eine Steuerverbindung überträgt Befehle und Antworten am Lauschport des Servers. Eine Datenverbindung überträgt die Verzeichnisliste oder den Dateiinhalt, und im passiven Modus wählt der Server seinen Endpunkt und kündigt ihn in der PASV- oder EPSV-Antwort an. Port 21 zu erlauben sagt nichts darüber aus, ob der Datenport erreichbar ist, und genau deshalb gelingt ein Login, während jede Liste in einen Timeout läuft. Der Leitfaden von WinSCP zu den FTP-Modi erläutert die Trennung und ihre Netzwerkanforderungen.

Wenn der Client hinter dem VPN sitzt, kreuzt der Datenpfad denselben Tunnel, aber nicht unbedingt dieselbe Richtlinie.

Lesen Sie die Adresse in der PASV-Antwort

Starten Sie einen ausführlichen Client und lesen Sie die Antwort, statt zu raten. curl -v ftp://user@host/ gibt die PASV-Zeile mit der Adresse und dem Port aus, die der Server will, und an genau diese Adresse verbindet sich der Client als Nächstes. Ist es eine private Adresse, die auf der Clientseite des Tunnels nichts bedeutet, läuft die Datenverbindung ins Leere, während der Steuerkanal gesund bleibt.

Vergleichen Sie diese Adresse mit der Adresse, die der Client tatsächlich erreicht hat. Die Abweichung ist die Antwort, und sie kommt meist von NAT oder von einem Server, der mit einer internen Adresse konfiguriert ist.

Prüfen Sie den Portbereich und die Tunnelrichtlinie

Passive Server vergeben Datenports aus einem konfigurierten Bereich, und dieser Bereich muss durch das VPN und jede Firewall auf dem Weg erlaubt sein. Eine Richtlinie, die 21 und sonst nichts erlaubt, ist eine reine Login-Richtlinie. Bestätigen Sie den Bereich mit dem, der den Server betreibt, und testen Sie dann einen Port daraus, statt anzunehmen, der ganze Bereich verhalte sich gleich.

Verschlüsselte Steuerkanäle machen das schwieriger, weil eine Middlebox die angekündigte Adresse nicht mehr im Flug umschreiben kann.

Wissen Sie, wann EPSV oder ein Fallback hilft

EPSV liefert einen Port ohne separate Adresse, was den Fehler durch die falsche Adresse beseitigt, wenn beide Seiten es unterstützen. Manche Clients lassen sich auch anweisen, die angekündigte Adresse zu ignorieren und das Ziel der Steuerverbindung wiederzuverwenden. Beides sind legitime Werkzeuge für eine bestimmte Topologie, keine pauschale Lösung.

Deaktivieren Sie TLS nicht nur, damit ein Helfer die Sitzung inspizieren kann. Das tauscht ein funktionierendes Protokoll gegen ein kaputtes Bedrohungsmodell.

Bestätigen Sie mit einer Liste und einer Übertragung

Öffnen Sie nach der Änderung der Adress- oder Portrichtlinie eine neue Sitzung über denselben VPN-Pfad und listen Sie ein Verzeichnis. Übertragen Sie dann eine kleine Datei, denn eine Liste und eine Übertragung können auf manchen Servern verschiedene Codepfade nehmen. Prüfen Sie im Client-Log auf eine Datenverbindung zur erwarteten Adresse und zum erwarteten Port und bestätigen Sie, dass die Bytes angekommen sind.

Halten Sie FTP, FTPS und SFTP dabei getrennt im Kopf. Eine passive Portänderung ist keine SFTP-Einstellung, und die Korrektur überträgt sich nicht zwischen Protokollen.

Ähnliche Artikel