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服务器无法访问这台机器。另一台没问题就是因为没有防火墙。所以一般服务器来访问的话,建议使用被动模式,否则对客户端有很多限制。