原文链接:http://houzhiqingjava.blog.163.com/blog/static/16739950720147543625744/
先到CMD或者linux终端用命令行模式ftp命令测试一下,如果能登录,不能使用ls或者dir命令。
那就说明,主要问题在端口被防火墙控住。
提示语句:
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
vsftp中,通过编辑 /etc/vsftpd/vsftp.conf 实现启用PASV连接。
vi /etc/vsftpd/vsftp.conf
在配置文件中添加下面语句:
也即,启动PASV连接模式,开放6000-7000端口号作为数据传送端口。pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000
此外,如果是对外网开放,必须在路由器的转发规则中,开放21端口。
为了保险,可以将6000-7000端口也写入到iptables中白名单中。
命令:
sudo
iptables -A INPUT -p tcp --dport 6000:7000 -j ACCEPT
重启vsftpd (service vsftpd restart)