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

  • 相关阅读:
    C++---使用类
    C++---函数
    C++---指针和引用
    C++---面向对象
    C++---数组
    C++---条件结构和循环结构
    C++---变量、数据类型和运算符
    C++---初识C++
    MySQL---什么是事务
    MySQL---char和varchar的区别
  • 原文地址:https://www.cnblogs.com/augusite/p/11232680.html
Copyright © 2011-2022 走看看