vsftpd没有响应LIST

我已经将Ubuntu 10.04 Desktop作为Web服务器运行,并且已经安装了vsftpd并将其设置为允许ascii_upload_enable和ascii_download_enable,并启用了chroot_local_user,chroot_list_enable和chroot_list_file。

但是,我无法从服务器使用FileZilla获取文件列表,这是发生了什么事情:

状态:parsingserver.jonbevan.me.uk的地址
状态:连接到80.4.79.179:21 …
状态:build立连接,正在等待欢迎信息…
响应:220欢迎访问server.jonbevan.me.uk FTP服务。
命令:USER jon
回应:331请指定密码。
命令:PASS *********
回应:230login成功。
命令:OPTS UTF8 ON
响应:200始终处于UTF8模式。
状态:已连接
状态:检索目录列表…
命令:CWD / home / jon
响应:250个目录成功更改。
命令:PWD
回应:257“/ home / jon”
命令:typesI
响应:200切换到二进制模式。
命令:PASV
回应:227进入被动模式(80,4,79,179,196,13)
命令:LIST
响应:425无法build立连接。
错误:无法检索目录列表

这发生在CuteFTP中:

命令:> [7/29/2010 3:23:43 PM] LIST
[7/29/2010 3:23:43 PM] 150这里是目录列表。
错误:> [7/29/2010 3:24:13 PM]从服务器接受数据连接时发生超时(30000毫秒)。
[7/29/2010 3:24:13 PM] 426写入networkingstream失败。
错误:> [7/29/2010 3:24:13 PM]已收到垃圾回复。

任何想法可能是什么问题? 道歉,如果我错过了任何重要的信息。

同意Luke404。 检查你的vsftpd.conf是否configuration了以下条目,并且防火墙允许pasv_min&pasv_max端口范围(10000 – 100010仅仅是一个例子)。 请记住,如果对conf文件进行了更改,请重新启动服务。

pasv_enable=YES pasv_min_port=10000 pasv_max_port=10010 pasv_address=[Public IP address of your server] 

您正在使用PASV模式,因此您的客户端将尝试连接“随机”端口到服务器以传输数据,这包括文件传输目录列表。

最不可能的原因是无法build立用于数据传输的PASV TCP连接,这通常是由于以下原因之一:

  • 客户端防火墙阻止传出连接
  • 服务器端的防火墙阻止高端口上的传入连接
  • 服务器在NAT之后,只有静态的ftp端口21,22被转发,没有数据包检查来有状态地转发更高的端口

我有这个相同的问题

解决了这个问题,编辑/ etc / sysconfig / iptables-config的configuration

在文件的开头,更改了这个参数: IPTABLES_MODULES

 # Load additional iptables modules (nat helpers) # Default: -none- # Space separated list of nat helpers (eg 'ip_nat_ftp ip_nat_irc'), which # are loaded after the firewall rules are applied. Options for the helpers are # stored in /etc/modprobe.conf. IPTABLES_MODULES="ip_conntrack_ftp" 

重启iptables后,可以列出FileZilla中的文件。 希望能帮助到你。