我在我的專用網路中的虛擬機器上設定了 FTP 伺服器。我有一個外部 IP 位址 -x.x.x.x
並用於pfSense
轉送連接埠。我的FTP伺服器是vsftpd
,我的作業系統是最新的Ubuntu 16.04
。
FTP內部位址是192.168.1.34
,伺服器本身的外部位址是x.x.x.x
。
我知道我應該轉發連接埠 21 和 20,並且我做到了。這是 NAT 規則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
對我來說一切似乎都很好,但是當我嘗試連接到我的伺服器時,我得到了Error: Connection timed out. Error: Failed to retrieve directory listing.
我做到了sudo ufw disable
。
答案1
不要轉換 pfsense NAT 規則中的資料連接埠。入站到目標連接埠 400xx 需要連接到 vsftpd 伺服器上的 400xx,而不是現在的 20+xx。