vsftpd 没有响应 LIST

vsftpd 没有响应 LIST

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

但是,我无法使用 FileZilla 从服务器获取文件列表,具体情况如下:

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

在 CuteFTP 中会发生这种情况:

命令:> [7/29/2010 3:23:43 PM] 列表
[7/29/2010 3:23:43 PM] 150 目录列表。
错误:> [7/29/2010 3:24:13 PM] 接受来自服务器的数据连接时发生超时(30000 毫秒)。
[7/29/2010 3:24:13 PM] 426 写入网络流失败。
错误:> [7/29/2010 3:24:13 PM] 收到已删除的响应。

你知道问题可能出在哪里吗?如果我遗漏了任何重要信息,请见谅。

答案1

同意 Luke404 的观点。检查您的 vsftpd.conf 是否配置了以下条目,并且您的防火墙是否允许 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]

答案2

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

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

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

答案3

我也遇到了同样的问题

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

在文件的开头,改变了这个参数:IPTABLES_模块

# Load additional iptables modules (nat helpers)
#   Default: -none-
# Space separated list of nat helpers (e.g. '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 中列出文件。希望对您有所帮助。

相关内容