Zwei FTP-Server in einem Netzwerk

J

Jxn

Gast
Hallo,

ich hab heute ein RaspberryPi in einem Netzwerk als Web- und FTP-Server eingerichtet. Der Router, an dem dem Pi angeschlossen ist, verfügt über eine feste IP-Adresse, womit ich das auch problemlos erreichen kann.

Wenn ich allerdings den FTP erreichen möchte, den ich aufgrund eines bereits vorhandenen FTP-Servers im Netzwerk auf Port 2121 legen musste, bekomme ich im FileZilla folgende Fehlermeldung:

Code:
Status:    Verbindung hergestellt, warte auf Willkommensnachricht...
Status:    Unsicherer Server; er unterstützt kein FTP über TLS.
Status:    Der Server unterstützt keine Nicht-ASCII-Zeichen.
Status:    Angemeldet
Status:    Empfange Verzeichnisinhalt...
Status:    Vom Server gesendete Adresse für den Passiv-Modus ist nicht routingfähig. Passiv-Modus fehlgeschlagen.
Befehl:    PORT 192,168,2,238,251,227
Antwort:    500 Illegal PORT command
Fehler:    Verzeichnisinhalt konnte nicht empfangen werden


Als Software für den FTP-Server nutze ich proftpd. Die Config habe ich daher wie folgt angepasst:
Code:
# Port 21 is the standard FTP port.
Port                            2121
Den Port 2121 habe ich in der Fritzbox als TCP-Protokoll freigeschaltet.

Während meiner Recherche bin ich dann auf die Problematik gestoßen, dass FTP ja zwei Ports belegt, nämlich zusätzlich zum Port 21 auch noch den Port 20, den ich anscheinend unter proftpd nicht konfigurieren kann. Näheres habe ich in der Dokumentation auch nicht gefunden.
Das Abändern der Ports bei dem anderen FTP-Server im Netzwerk ist ausgeschlossen. Ich brauche eine Lösung, die ich im Router/RaspberryPi umsetzen kann.

Gibt es eine Lösung für mein Problem?

Viele Grüße
 
Ich würde nicht auf FTP setzen ... Sicherheit = 0 nimm lieber SFTP kannst sogar Jailen wenn es sein muß

Falls doch FTP du muß PASV mode Port Range einrichten und freigeben
 
  • Gefällt mir
Reaktionen: konkretor
+1 für SFTP. Verschlüsselung ist inklusive und du benötigst nur einen Port.
 
Jxn schrieb:
Status: Vom Server gesendete Adresse für den Passiv-Modus ist nicht routingfähig. Passiv-Modus fehlgeschlagen.
Dein neuer FTP Server liefert offenbar seine lokale IP als Adresse für den passiven Modus und die ist natürlich vom Internet aus nicht erreichbar. An der Stelle müsste er aber die öffentlich IP liefern. Inwieweit man das konfigurieren kann, keine Ahnung. Die Firewall muss da auch mitspielen (FTP conntrack). FTP gehört in die Mottenkiste, nimm was anderes.

Nachtrag: In der proftpd config dürfte "MasqueradeAddress" dein Freund sein.
 
Zuletzt bearbeitet:
Ich versteh die Fragen nicht.
Der RPi hat einen FTP Dienst auf Port 21 und seiner IP.
Der Router hat auch einen FTP Dienst auf Port 21?
Router und RPi dürfen natürlich nicht die gleiche IP haben.
Wenn du von außen auf deinen FTP zugreifen willst, müssen die sich im Port unterscheiden, da die externe IP ja gleich ist.
 
@meph!sto
Doch. Nach Außen haben Router und RPi die gleiche IP. Im Netzwerk sicher nicht. Ist aber blöd, wenn der Router eingehende Verbindungen von Außen auf den eigenen FTP-Dienst routet und eben nicht auf den RPi. Das ist hier das Problem, weshalb der TE dem FTP-Dienst auf dem RPi einen anderen Port zugeteilt hat.
 
FTP hat 2 Betriebsmodi - aktiv und passiv.
Der Port 20 wird lt. Dokumentation bei aktivem FTP genutzt.

Die Ports im passiven Modus sind per defaults sehr viele - via Konfiguration (siehe Dokumentation)
von PassivePorts , siehe http://proftpd.org/docs/directives/linked/config_ref_PassivePorts.html
können diese eingeschränkt werden. Anschließend wird dann die Firewall auf diese weitergeleiteten passiven Ports angepasst.
Oder es werden iptables rules benutzt (siehe google ergebnisse zu "proftpd config PassivePorts")

EDIT: Für den passiven Modus ist dann auch http://www.proftpd.org/docs/howto/NAT.html relevant
 
@meph!sto
Hätte er etwas schöner schreiben können, aber er sagt, sein "neuer" FTP lauscht auf 2121, weil schon ein FTP Server vorhanden ist, der auf 21 horcht.
Ergänzung ()

@lokon
Das dürfte nichts mit den Ports zu tun haben an der Stelle. Die Meldung im Log sagt eindeutig, es liegt an der gelieferten IP. Die Fritzbox hat sicherlich ein FTP conntrack und macht den gesendeten Port dann selbstständig auf. Falls nicht, muss er die natürlich noch per Port forwarding einrichten. Das ist aber ein nachgelagertes Problem.
 
Okay, sorry, ich drücke mich nochmal ein wenig deutlicher aus:

  • Router mit einer festen IPv4-Adresse nach außen
  • FTP-Server 1 (Port 21)
  • FTP-Server 2 -> RaspberryPi (Port 2121)

Wenn ich über die feste IPv4 von außen und Port 21 über FileZilla verbinde, komme ich auf FTP-Server 1, über Port 2121 bekomme ich die oben genannte Fehlermeldung.
Wenn ich die FTP-Server über die IP-Adresse innerhalb des Netzwerks anspreche, kann ich mich problemlos verbinden.
 
@Jxn Fakt ist, dass das FTP Protokoll zwei Ports benutzt. In den Standardeinstellungen 21 für die Kontrolle und Steuerung (von Dateitransfers und anderen Dingen) und Port 20 für die eigentliche Datenübertragung.

Du musst also zwei Ports umbiegen oder einfach nicht ein Protokoll nehmen was heutzutage keinerlei, also absolut gar keine, Vorteile bietet aber haufenweise Probleme wie du gerade merkst. Vor allem wenn es zeitgemäßere Alternativen hat wie z.B. SFTP. Auf deinem Raspi wird vermutlich sowieso schon ein SSH Server laufen, oder? Glückwunsch, damit hast quasi schon den SFTP-Server.
 
dein ernst? zwei ftp server von aussen erreichbar? dir ist bewusst, das du wahrscheinlich schon an ein botnetz angeschlossen wurdest?

von aussen, wenn überhaupt, nur Sftp, oder über vpn. über vpn hättest du auch keine Probleme mit 2 unterschiedliche ports.
 
  • Gefällt mir
Reaktionen: snaxilian
Okay, ich entnehme dem Großteil der Meinung, dass ich ordentlich hinterher hänge. :D

Ich werde dann mal auf SSH bzw. SFTP umrüsten und lasse das mit dem FTP-Server. Danke. :)
 
  • Gefällt mir
Reaktionen: snaxilian
Bei SSH gibt es afaik nativ erst einmal nur "SCP" - das "SFTP" ist ein Zusatz, der in kleineren SSH Servern wie Dropbear in Busybox (oft in Routern verwendet) nicht immer vorhanden ist.

Bei FTP gibt es aufgrund des Alters viele Integrationen durch Plugins bei verschiedenen Servern - ob proftpd oder exotischere wie vsftp, glftpd oder drftpd.
Integration in Chats, Lastverteilung, Skripting, Site 2 Site Transfers ... bei SSH sind das dann andere Mechanismens/Programme wie rsync, die dabei dann helfen.
 
  • Gefällt mir
Reaktionen: snaxilian
Zurück
Oben