vsftpd에 연결을 시도 중입니다. 디렉터리 목록을 검색하지 못했습니다.

vsftpd에 연결을 시도 중입니다. 디렉터리 목록을 검색하지 못했습니다.

개인 네트워크의 가상 머신에 FTP 서버를 설정했습니다. 외부 IP 주소가 있고 포트 전달에 x.x.x.x사용합니다 . pfSense내 FTP 서버는 이고 vsftpdOS는 최신입니다 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에 연결해야 합니다.

관련 정보