개인 네트워크의 가상 머신에 FTP 서버를 설정했습니다. 외부 IP 주소가 있고 포트 전달에 x.x.x.x
사용합니다 . pfSense
내 FTP 서버는 이고 vsftpd
OS는 최신입니다 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에 대한 인바운드는 현재와 같이 20+xx가 아닌 vsftpd 서버의 400xx에 연결해야 합니다.