文章目录

1. 问题现象

使用第三方FTP软件filezilla进行登陆,出现如下错误:

解决vsftpd 读取目录列表失败的问题_解决方案

状态:    正在连接 192.168.1.6:21...
状态: 连接建立,等待欢迎消息...
响应: 220 (vsFTPd 2.2.2)
命令: USER ftp
响应: 331 Please specify the password.
命令: PASS ***
响应: 230 Login successful.
命令: SYST
响应: 215 UNIX Type: L8
命令: FEAT
响应: 211-Features:
响应: EPRT
响应: EPSV
响应: MDTM
响应: PASV
响应: REST STREAM
响应: SIZE
响应: TVFS
响应: UTF8
响应: 211 End
命令: OPTS UTF8 ON
响应: 200 Always in UTF8 mode.
状态: 已连接
状态: 读取目录列表...
命令: PWD
响应: 257 "/"
命令: TYPE I
响应: 200 Switching to Binary mode.
命令: PASV
响应: 227 Entering Passive Mode (192,168,1,6,23,8).
命令: LIST
错误: 连接超时
错误:
2. 解决方案(重启时效)
modprobe ip_nat_ftp

再次登陆列表正常啦!

3. 重启失效解决

但当你重新启动服务器则iptables规则失效,又会出现相同的情况,所以我们需要修改/etc/sysconfig/iptables-config文件,

/etc/sysconfig/iptables-config

IPTABLES_MODULES=""

修改为:

IPTABLES_MODULES="ip_nat_ftp"

这样重启服务器之后就不必再每次都执行mobprobe啦。

解决vsftpd 读取目录列表失败的问题_服务器_02


解决vsftpd 读取目录列表失败的问题_解决方案_03

补充:

="yes"
IPTABLES_MODULES_UNLOAD="yes"的意义:每次iptables停止或者重启都会Unload modules
IPTABLES_MODULES=""的意义:每次防火墙规则应用以后加载的模块