FTPS Verbindung bricht immer ab?
Hoste im local ein FTP Server mit TLS, ich schaff es aber leider nicht auf diesen zu zugreifen. Ich habe Port 21 sowohl im Router als auch in der Firewall freigegeben.
Was passiert denn? Fehlermeldung?
Die Fehlermeldung TYPE A PASV PWD 421 Connection Times out
3 Antworten
Wenn ich mich richtig erinnere, verwendest Du IPv6 und erreichst den Server auch per IPv6 im LAN.
Prüfe auf dem Router, auf welche IP-Adresse bzw. welchen Interface Identifier die Weiterleitung erfolgt. Hat der Server diese IPv6-Adresse?
Schalte die Privacy Extensions aus, starte den Server neu. Prüfe die IPv6-Adresse.
Beginnt sie mit 2 und hat der Interface ID in der Mitte ff:fe?
1234:56ff:fe12:3456
Und nein, kein Port 990, sondern Port 21. Port 990 ist veraltet.
Ergänzung: Prüfe den Port, auf den der FTP-Server hört. Öffne die Eingabeaufforderung und tippe:
netstat -q | findstr ABHÖREN
Du erhältst eine Liste mit den Ports, auf die der Server hört. Dort müsste etwas zu finden sein wie
TCP 0.0.0.0:21 Rechnername:0 ABHÖREN
Eine entsprechende Zeile mit 990 dürftest Du nicht finden.
Du verwendest Cyberduck als Client. In den Einstellungen für die Verbindung gibt es "More Options" bzw. das Gegenstück in Deutscher Übersetzung. Das klappe mal auf und stelle den Connection Mode auf Active.
FTPS nimmt andere Ports, wenn die Standard-Ports konfiguriert sind:
989 TCP UDP FTPS Protocol (data): FTP over TLS/SSL
990 TCP UDP FTPS Protocol (control): FTP over TLS/SSL
Nein, Port 20 braucht es nicht. Der Server öffnet von innen die Sitzung mit Absender-Port 20. Da braucht es keine Freigabe von außen.
Client Server
Abs-Port 1234, Zielport 21 ->
<- Abs-Port 21, Zielport 1234
<- Abs-Port 20, Zielport 1234
Abs-Port 1234, Zielport 20
Es ist also der Server im Heimnetz, der mit dem Absender-Port 20 zum Client nach außen kommuniziert und das erste Paket schickt. Der Client kann diese bestehende Verbindung dann für seine Antwort nutzen.
Das ist übrigens aktives FTP. Passives FTP nutzt den Port 20 gar nicht.
Bitte den Kommentar ganz unten beachten (Zitat Wikipedia)
Ob die Ports veraltet sind spielt keine Rolle, gehen muss es trotzdem.
Bitte den Kommentar ganz unten beachten (Zitat Wikipedia)
Welchen Kommentar meinst Du?
Ob die Ports veraltet sind spielt keine Rolle, gehen muss es trotzdem.
Wenn die Ports von aktuellen Implementierungen nicht mehr verwendet werden, muss und sollte man sie nicht freigeben. FrageCoding verwendet Cyberduck als Client. Cyberduck unterstützt kein implizites FTPS.
Man unterscheidet zwischen dem expliziten und dem (veralteten) impliziten FTPS-Verbindungsaufbau. Der Standardport für den expliziten Verbindungsaufbau vom Client am Server ist der FTP-Standardport 21/TCP. Explizite FTPS-Verbindungen werden über diesen Port zunächst als FTP-Verbindung aufgebaut bevor sie zu FTPS wechseln. Danach baut der Server meist aktiv über Port 20/TCP eine Datenverbindung zum Client auf. Für den impliziten Verbindungsaufbau werden die Ports 990/TCP (Control) und Port 989/TCP (Data) verwendet.
Wenn der explizierte Verbindungsaufbau verwendet wird muss Port 20/TCP freigegeben werden.
Wenn der explizierte Verbindungsaufbau verwendet wird muss Port 20/TCP freigegeben werden.
Ich habe erklärt, warum das nicht der Fall ist. Der FTP-Server steht im internen Netz hinter dem Router mit integrierter Firewall. Der Server ist es, der das erste Paket mit dem Absender-Port 20 sendet, und zwar von innen nach außen. Dadurch wird in der Firewall die Verbindung geöffnet. Der Client antwortet darauf und nutzt dabei die offene Verbindung.
Abgesehen davon löst ein geöffneter Port 20 auf dem Router nicht das Problem. Der Port 20 wird ja nur beim aktiven FTP verwendet. Die Fehlermeldung lautet:
TYPE A PASV PWD 421 Connection Times out
Das heißt, hier wird der passive Modus verwendet (PASV). Das ist das Problem.
Ja sorry 990 hab ich in der Firewall auch noch frei gegeben muss ich 990 auch auf dem Router freigebe?
Ich dachte der FTP-Server ist Local, dann muss es auf der Router nicht freigegeben werden. Es müssten aber beide Ports und beide Richtungen konfiguriert werden, wenn ich es richtig in Erinnerung habe.
Beide Port sind bei Eingehende Regeln Freigegeben, ja ist local.
Windows, ausgehend habe ich nichts definiert, sollte ich das machen?
Versuche auch zwei ausgehende Regeln zu erstellen.
Früher konnte man die Verbindung bei FTP mit Telnet testen, ob dies aber FTPS funktioniert weiß ich nicht.
in der Suche mal "Windows-Fea" eingeben und Windows-Features.... starten.
den telnet Client installieren.
Was wird denn für ein Programm für FTPS als Client verwendet?


Für die Prüfung der Verbindung zu 192.168.0.10 über Port 25 wäre also folgender Befehl einzugeben:
telnet 192.168.0.10 25
Also bei dir telnet [ftps-server IP] 989
kommt eine Verbindung zustande?
ftps-sever IP ist aber nicht 192.168.0.12 25 oder=
ich verstehe nicht was du machen möchtest. es kommt immer dieser 421 Fehlercode, werde aber nicht schlau draus.
nein, das ist ein Beispiel:
telnet [ftps-server IP] 989
telnet [ftps-server IP] 990
[ftps-server IP] ist die IP-Adresse deines FTPS-Servers
In der suche CMD eingeben und die Eingabeaufforderung starten dann:
telnet [ftps-server IP] 989
telnet [ftps-server IP] 990
[ftps-server IP] ist die IP-Adresse deines FTPS-Servers
Es konnte keine Verbindung zum Host hergestellt werden.
Sind die Ports :
989 TCP UDP FTPS Protocol (data): FTP over TLS/SSL
990 TCP UDP FTPS Protocol (control): FTP over TLS/SSL
in der Firewall auf dem Server auch Freigegeben?
Die Firewall auf dem Server muss dort auch konfiguriert werden, das die FTPS Verbindungen durchgelassen werden.
Wie gesagt Port 21 uns 990 sind TCP freigegeben.
21 ist irrelevant, das ist normales FTP.
989 TCP UDP FTPS Protocol (data): FTP over TLS/SSL
990 TCP UDP FTPS Protocol (control): FTP over TLS/SSL
FTPS nimmt Port 989 und 990
Man unterscheidet zwischen dem expliziten und dem (veralteten) impliziten FTPS-Verbindungsaufbau. Der Standardport für den expliziten Verbindungsaufbau vom Client am Server ist der FTP-Standardport 21/TCP. Explizite FTPS-Verbindungen werden über diesen Port zunächst als FTP-Verbindung aufgebaut bevor sie zu FTPS wechseln. Danach baut der Server meist aktiv über Port 20/TCP eine Datenverbindung zum Client auf. Für den impliziten Verbindungsaufbau werden die Ports 990/TCP (Control) und Port 989/TCP (Data) verwendet.
Wenn der explizierte Verbindungsaufbau verwendet wird muss Port 20/TCP freigegeben werden.
FTPS nimmt Port 21. Port 990/989 sind veraltet.