FTP läuft über zwei Ports.
20 und 21
Man muss also immer beide freischalten, [...]Aber es werden eben beide Ports benötigt.
Sorry, das ist nun mal ziemlicher Quatsch, wenn man da nicht weiter differenziert ... ich muß es so deutlich schreiben.
FTP bietet für die Datenübertragung (die Control-Verbindung geht immer über TCP-Port 21) zwei ziemlich verschiedene Übertragungsmodi an (aktive und passive Transfers), zwischen denen mit einem Kommando im Control-Channel umgeschaltet werden kann.
Bei aktiven Verbindungen kommt dann tatsächlich der TCP-Port 20 ins Spiel, weil von diesem Port aus der Server mit dem Client Kontakt aufnimmt, nachdem der Client dem Server einen passenden Port bei sich (dort muß der Client ja dann seinerseits ein "listen()" machen) über die Control-Verbindung mitgeteilt hat. Da dieser Modus z.B. an einem NAT-Router (ohne entsprechende Vorkehrungen seitens dieses Routers, was dann schon wieder in Richtung ALG gehen würde) glorreich scheitern wird (am NAT ist eben Schluß), verwendet man den aktiven Modus heute kaum noch und solange man diesen nicht benutzt, kann der TCP-Port 20 vollkommen außer acht gelassen werden bei irgendwelchen Firewall-Konfigurationen. Es gibt allerdings auch Clients, die den passiven Modus gar nicht beherrschen, dazu gehört u.a. der (Kommandozeilen-)FTP-Client von Windows (bis zu welcher Version weiß ich nicht genau, mind. aber bis W7).
Beim passiven Modus aktiviert der Server für die Datenübertragung eines Clients hingegen auf seiner Seite einen weiteren Port (i.d.R. jenseits von 1023) und teilt dem Client die Nummer dieses Ports mit, der nun seinerseits wieder (für seinen NAT-Router ist das ausgehender Verkehr) eine weitere Verbindung für den Data-Channel zum Server aufbaut.
Damit gibt es beim aktiven Modus zwei Verbindungen in unterschiedliche Richtungen (der Control-Channel vom Client zum Server und der Data-Channel vom Server zum Client) und beim passiven Modus eben zwei Verbindungen vom Client zum Server.
Es gibt im FTP-Protokoll auch niemals Unklarheiten, wer da Client und wer Server ist (der Client baut immer die Control-Verbindung zum Server auf), insofern verstehe ich
Theo Tintensich schrieb:
Nämlich wen die 'falshe' FTP-Version (Client oder Server) verwendet wird.
nicht - wenn man nicht den o.a. Unterschied in der "Verbindungsrichtung" auf "Client vs. Server" verkürzen will.
Auch die Frage, wie man denn
Theo Tintensich schrieb:
Normalerweise sollte ein Server im Internet, der FTP anbietet, als 'Server' konfiguriert sei.
verstehen müßte, quält mich etwas ... bitte ein Beispiel oder eine Erläuterung, wie ein solcher FTP-Server als "Client" konfiguriert werden kann.
Das Protokoll ftp:// kann jeder Browser, die ist so alt, dass man eigentlich jedes mal vor der Nutzung den Staub abwischen müsste.
Alt sicherlich (trotzdem findet sich immer noch kein Protokoll für dateiweise Übertragung mit ähnlich geringem Overhead) ... daß Du aber jeden Browser kennst (ich sehe keine weiteren Adjektive wie "üblicher" oder "verbreiteter" oder "aktueller"), das nötigt mir entschiedenen Respekt ab. Es ist allerdings nun auch wieder noch nicht so lange her, daß es z.B. bei Google Chrome einige heftige Probleme mit der Unterstützung von FTP "in allen Lebenslagen" gab:
https://productforums.google.com/forum/#!topic/chrome/s0PfL4mKFtM
Auch kann ich mich durchaus noch an Zeiten erinnern (lang, lang ist's her), als z.B. der Internet Explorer noch keinen eingebauten FTP-Client hatte (da war der "Netscape Navigator" umfangreicher ausgestattet), bei meinem Favoriten "lynx" kann ich das heute noch mit einer Option abschalten und selbst die Fähigkeit, einen FTP-Download auszuführen, hat noch nicht unbedingt etwas mit einem voll ausgestatteten FTP-Client zu tun, z.B. unterstützt fast keiner dieser eingebauten Clients einen Upload bzw. im Moment fällt mir da gar keiner so richtig ein. Für die Aussage "ftp:// kann jeder Browser" finde ich das etwas wenig ... außer man versteht auch das wieder so, daß eine URI für einen FTP-Endpoint von fast allen Browsern verstanden wird.
Insofern gebe ich Dir teilweise recht, daß heutige moderne und aktuelle Browser in aller Regel (ich kenne beileibe nicht alle Mozilla- oder Chrome-Ableger - (Desktop-)Safari schon aus Überzeugung nicht - und kann das nicht mit Bestimmtheit sagen, auch Konqueror fällt mir noch ein, der wird das sicherlich auch eher in eine Extension ausgelagert haben, ist aber nur geraten und nicht recherchiert) das FTP-Protokoll soweit verstehen, daß sie einen Download und im günstigsten Falle sogar noch ein Verzeichnis-Listing unterstützen, wobei da die Fähigkeiten (z.B. bei owner/group, Zeitzonen uvm.) schon wieder auseinanderklaffen, aber der TE schrieb auch nur davon, daß er das FTP-Protokoll nutzen will ... da steht nichts von einer Richtung eines Dateitransfers.