zoukankan      html  css  js  c++  java
  • Linux iptables配置FTP的主动和被动模式

    http://www.cppblog.com/mydriverc/archive/2010/03/14/109670.html


    先理解主被动的联接方式:

    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

    Port模式ftp server:tcp
    21 <------client:dynamic    ftp server:tcp 20 ------>client:dynamic

    Pasv模式:ftp server:tcp 21 <----client:dynamic     ftp server:tcp dynamic <----client:dynamic
    PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
    PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

    #allow all ftp incoming connections
    iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

    # Enable active ftp transfers
    iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT


    # Enable passive ftp transfers
    iptables -A INPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

  • 相关阅读:
    Linux平台开发技术指南
    VIM 笔记 (for python )
    Python如何使用urllib2获取网络资源
    5种获取RSS全文输出的方法
    python IDE比较与推荐
    ESRI ArcGIS 9.0系列软件报价
    去年写的测试GDAL用法的一些函数
    有感所谓“研究”
    超强的病毒“诺顿是个SB”
    如何在博客中插入语法格式高亮的源代码
  • 原文地址:https://www.cnblogs.com/xia/p/2445553.html
Copyright © 2011-2022 走看看