Pure-Ftpd-Mysql: Keine Verbindung mit passivem FTP möglich

537
Thibault Henry

Es scheint, dass ich ein Konfigurationsproblem habe und ich brauche Hilfe.

Ich habe einen Webserver, unter Debian Jessie mit pure-ftpd-mysql installiert (und aktualisiert).

Ich kann über FTP eine Verbindung zum Server herstellen, wenn er sich im aktiven Modus befindet. Wenn ich jedoch den Passivmodus weitergeben möchte, habe ich ein Timeout für die Operation:

ftp ftp.***.com Connected to ftp.***.com. 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- 220-You are user number 1 of 50 allowed. 220-Local time is now 12:31. Server port: 21. 220-This is a private system - No anonymous login 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Name (ftp.***.com:tilotiti):  331 User tilotiti OK. Password required Password:  230 OK. Current restricted directory is / ftp> ls 200 PORT command successful 150 Connecting to port 50405 drwxr-xr-x 2 2001 ftp 4096 Dec 21 11:12 test1 drwxrwxrwx 2 2001 ftp 4096 Apr 28 2017 test2 226-Options: -l  226 2 matches total ftp> passive Passive mode on. ftp> ls 227 Entering Passive Mode (10,3,98,75,127,233) ftp: connect: Operation timed out ftp>  

Ich werde auf scaleway gehostet und habe überprüft, dass dort keine Regel als Netzwerkfirewall konfiguriert ist.

Ich habe versucht, einige Ports für den passiven Bereich zu konfigurieren, indem ich die Datei / etc / pure-ftpd / conf / PassivePortRange erstellt:

30000 50000 

Ich habe überprüft, dass meine Server-Firewall die Verbindung nicht blockiert:

$ iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination   Chain FORWARD (policy ACCEPT) target prot opt source destination   Chain OUTPUT (policy ACCEPT) target prot opt source destination 

Ich habe den Server neu gestartet, um sicherzustellen, dass die neue Konfiguration übernommen wurde.

Aber es geht nicht, ich bin jetzt total verloren. Ich brauche diese passive Verbindung.

Jeder kann mir bitte helfen?

Vielen Dank.

1

1 Antwort auf die Frage

1
A.B

227 Entering Passive Mode (10,3,98,75,127,233)

Bedeutet, dass der Server auf eine eingehende Verbindung zum 10.3.98.75-Port 32745 wartet. Dies ist natürlich darauf zurückzuführen, dass der Server über NAT verfügt und der FTP-Server nicht darüber informiert ist.

Du musst noch zwei (von 3) Sachen machen:

  • Stellen Sie den FTP-Server so ein, dass er die bekannte öffentliche IP-Adresse anstelle der privaten IP-Adresse "veröffentlicht". So wird es in der reinen ftpd-Dokumentation gemacht :

    - '-P <ip address or host name>': Force the specified IP address in reply to a PASV/EPSV/SPSV command. If the server is behind a masquerading (NAT) box that doesn't properly handle stateful FTP masquerading, put the ip address of that box here. If you have a dynamic IP addBindress, you can put the public host name of your gateway, that will be resolved every time a new client will connect.

Die Debian (?) - Wrapper-Konfiguration dafür scheint zu sein ForcePassiveIP <ip address or host name>

  • Legen Sie fest, dass nur ein bestimmter Portbereich verwendet werden soll (Sie haben bereits 30000: 50000 ausgewählt). Ein Bereich, der den dynamischen Portbereich nicht überlappt, /proc/sys/net/ipv4/ip_local_port_rangesollte aus Gründen der Sicherheit gewählt werden.
  • Ändern Sie die Firewall / nat-Einstellungen von Scaleway, um die Portweiterleitung für den Bereich der TCP-Ports im vorherigen Schritt zu ermöglichen (hier könnte die Sicherheit, die ich oben erwähnt habe, eine Rolle spielen). Entschuldigung, ich weiß nicht, wo ich die spezifische Dokumentation dazu finden kann. Ich habe nicht einmal verstanden, welche Netzwerkkonfigurationen bei Scaleway verfügbar sind. Wenn der Host tatsächlich zwei IPs hat, eine davon 10.3.98.75, die andere öffentlich, dann wäre ForcePassiveIPdie BindOption (=> -S) ausreichend.
Vielen Dank für deine Hilfe. Die Option ForcePassiveIP hat funktioniert! Thibault Henry vor 6 Jahren 0