vsftpd 主动被动模式的坑

由于跟海南云展那边需要我们提供日志,做日志分析。他们习惯使用FTP分析日志。所以我们这边就需要搭建FTP服务器。我们有个同事用vsftpd搭建完毕,但是后面使用Linux无法登陆,我就重新学习下,并排下坑,解决问题。

1:被动模式,可能登陆,但是无法显示文件。

参考解决url: http://www.voidcn.com/article/p-vhyoixyg-boa.html

问题描述:卡在227 Entering Passive Mode (172,23,89,3,156,65). 后面就报超时,原因很简单。

当然会失败啊!服务器告诉我们,可以去连接172.23.89.3的156*256+65=40001端口以便传输数据,可是2个都不是局域网,肯定无法访问172.23.89.3的40001端口的。

后来我是用的是参考url里面修改服务端的配置:

vsftpd的配置文件中加入如下两行即可. 
pasv_addr_resolve=yes        //允许vsftpd去欺骗客户 
pasv_address=10.10.10.20        //让vsftpd以这个地址去欺骗客户

其实这里原来的同事配置也有问题,我就贴下被动模式的全部配置

pasv_enable=YES 
pasv_addr_resolve=YES 
pasv_address=120.55.61.243 
pasv_min_port=40000 
pasv_max_port=40050 
pasv_promiscuous=YES

注意的是40000和40050端口要对客户端IP开放。否则无法来访问。

2:主动模式下,我们测试一台机器可以使用ls,另一台却无法使用ls命令。

其实原因很简单。了解主动模式的原理。因为一台服务器是有防火墙的。所以主动模式,FTP服务器无法访问这台机器。另一台没问题就是因为没有防火墙。所以一般服务器来访问的话,建议使用被动模式,否则对客户端有很多限制。

原文地址:https://www.cnblogs.com/augusite/p/11232680.html