Beim Versuch, eine Verbindung zu vsftpd herzustellen, konnte die Verzeichnisliste nicht abgerufen werden.

Beim Versuch, eine Verbindung zu vsftpd herzustellen, konnte die Verzeichnisliste nicht abgerufen werden.

Ich habe einen FTP-Server auf einer virtuellen Maschine in meinem privaten Netzwerk eingerichtet. Ich habe eine externe IP-Adresse x.x.x.xund verwende diese pfSensezum Weiterleiten von Ports. Mein FTP-Server ist vsftpd, mein Betriebssystem ist das neueste Ubuntu 16.04.

Die interne FTP-Adresse lautet 192.168.1.34, die externe Adresse des Servers selbst ist x.x.x.x.

Ich weiß, dass ich sowohl Port 21 als auch Port 20 weiterleiten sollte, und das habe ich getan. Hier sind die NAT-Regeln von pfSense:

Bildbeschreibung hier eingeben

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

allow_writeable_chroot=YES

port_enable=YES
pasv_addr_resolve=NO
connect_from_port_20=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
pasv_address=x.x.x.x

Bei mir scheint alles in Ordnung zu sein, aber wenn ich versuche, eine Verbindung zu meinem Server herzustellen, erhalte ichError: Connection timed out. Error: Failed to retrieve directory listing.

Bildbeschreibung hier eingeben

Ich tat sudo ufw disable.

Antwort1

Übersetzen Sie die Datenports in der pfsense NAT-Regel nicht. Eingehende Verbindungen zum Zielport 400xx müssen mit 400xx auf dem vsftpd-Server verbunden werden, nicht mit 20+xx, wie Sie es jetzt haben.

verwandte Informationen