远程访问 ftp 时无法列出目录

远程访问 ftp 时无法列出目录

我安装了vsftpd在本地访问时一切正常,但远程访问时无法查看文件夹。

在我的远程电脑上使用 filezilla,我得到以下信息:

status: connecting to 192.x.x.x
status: connection established, waiting for welcome message
response: welcome 
command: user admin
response: specify pass
command: pass ****
response: 230 login successful
command: opts utf8 on
response: 200 always in utf8 mode
status: connected
status: retrieving directory listing..
command: pwd
response: 257 "/var/ftp"
command: type I
response: 200 switching to binary mode
command: PASV
response: 227 entering passive mode (192.168.8.5,59,0).
command: list

它就在那里停止,然后连接超时,我无法查看 ftp 服务器上的文件夹或目录。

在我的iptables -L -n

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21  
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:20

我的/etc/vsftp/vsftp.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
idle_session_timeout=120
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner= Welcome 
#deny_email_enable=YES
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES 

答案1

我上周刚遇到过这种情况。你正在用防火墙保护被动模式需要使用的端口。

您必须在配置文件中设置pasv_min_portpasv_max_port然后在 iptables 中打开该端口范围。

来自vsftp 配置选项

pasv_max_port— 指定发送给 FTP 客户端进行被动模式连接的最高可能端口。此设置用于限制端口范围,以便更轻松地创建防火墙规则。

默认值为 0,不限制最高被动端口范围。该值不得超过 65535。

pasv_min_port— 指定发送给 FTP 客户端进行被动模式连接的最低可能端口。此设置用于限制端口范围,以便更轻松地创建防火墙规则。

默认值为 0,不限制最低被动端口范围。该值不得低于 1024。

每个并发被动连接至少需要一个端口,因此请确保范围足够宽以处理您预期的并发连接数。

相关内容