Ich habe einen FTP-Server auf einer virtuellen Maschine in meinem privaten Netzwerk eingerichtet. Ich habe eine externe IP-Adresse x.x.x.x
und verwende diese pfSense
zum 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
:
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.
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.