vsftp服务器上开启防火墙后发现ftp连接不上提示:
错误: 连接超时 错误: 读取目录列表失败
状态: 正在连接 192.168.10.28:1070...
状态: 连接建立,等待欢迎消息...
状态: 不安全的服务器,不支持 FTP over TLS。
状态: 已登录
状态: 读取目录列表...
命令: PWD
响应: 257 "/"
命令: TYPE I
响应: 200 Switching to Binary mode.
命令: PASV
响应: 227 Entering Passive Mode (192,168,10,28,146,215).
命令: LIST
错误: 20 秒后无活动,连接超时
错误: 读取目录列表失败
状态: 已从服务器断开
状态: 正在连接 192.168.10.28:1070...
状态: 连接建立,等待欢迎消息...
状态: 不安全的服务器,不支持 FTP over TLS。
状态: 已登录
状态: 读取目录列表...
命令: PWD
响应: 257 "/"
命令: TYPE I
响应: 200 Switching to Binary mode.
命令: PASV
响应: 227 Entering Passive Mode (192,168,10,28,140,142).
命令: LIST
错误: 20 秒后无活动,连接超时
错误: 读取目录列表失败
解决方法:
服务器环境是:
[[email protected] itop]# cat /etc/redhat-release
CentOS release 6.7 (Final)
后来发现在防火墙中规则并没有设置动态端口的规则并且在/etc/vsftpd/vsftpd.conf 配置文件中没有开启ftp pasv模式的端口范围导致ftp链接不上的。
在ftp pasv模式时也要在vsftp配置文件加入指定端口参数:
1.打开:vi /etc/vsftpd/vsftpd.conf在最后面加入如下:
listen_port=2036
pasv_min_port=2030
pasv_max_port=2048
2.再在iptable防火墙规则中加入如下规则:
打开:vi /etc/sysconfig/iptables 加入如下:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 2030:2048 -j ACCEPT
3.最后一步就是重启vsftp和iptables服务了。
键入:service vsftpd restart重启vsftp服务
键入:service iptables restart重启iptables服务
重启完这两个服务后我们再重新测试看看就可以连接了
原文地址:http://blog.51cto.com/wujianwei/2069037