一、关于ftp
ftp有port模式和pasv模式两种连接方案:
- port模式就是我们熟知的,21端口为控制端口,20端口为数据传输端口;
- pasv模式是一种被动连接方案,控制端口还是21端口,但是数据传输端口是一个在指定范围内随机的端口,这个随机的端口信息会在client与server通过21端口通信时才会告知;
二、错误原因
通过上面我们很容易分析出错误原因了:
- 如果ftp server端处于port模式,那一定是你的防火墙的20端口没有开放,手动打开即可;
- 如果ftp server 处于pasv模式,那么你的防火墙可能已经开放了20,21端口,但是数据传输端口不是20,是随机的,所以还是会被防火墙拦住,针对vsftp,大家可以在/etc/vsftp.conf最后增加两句
pasv_enable=NO
port_enable=YES
即可
参考:https://www.jianshu.com/p/1cc696d0a9b2