`
lz1130
  • 浏览: 406348 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

ip_conntrack_ftp ftp设置(待解决)

阅读更多
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端口发送连接请求,建立一条数据链路来 传送数据。

本文用到ip_conntrack_ftp模块

对modprobe命令不了解的可以先看看我的这篇博客:modprobe命令

iptables模块关系:
1、modprobe ip_tables
当 iptables 对 filter、nat、mangle 任意一个表进行操作的时候,会自动加载 ip_tables 模块
另外,iptable_filter、iptable_nat、iptable_mangle 模块也会自动加载。

2、modprobe ip_conntrack
ip_conntrack 是状态检测机制,state 模块要用到
当 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 时,ip_conntrack 自动加载。

3、modprobe ip_conntrack_ftp
ip_conntrack_ftp 是本机做 FTP 时用的。
ip_nat_ftp 是通过本机的 FTP 需要用到的(若你的系统不需要路由转发,没必要用这个)
当 modprobe ip_nat_ftp 时,系统自动会加载 ip_conntrack_ftp 模块。

具体设置
加载模块(ports=21可以不写,如果用其他端口时要加上):
引用
sudo modprobe ip_conntrack_ftp ports=21

iptables设置(我的默认DROP所有,只开启要用的端口):
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT  
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT


我用pure-ftp做试验。
问题:客户端连接服务器只能通过Port模式连接,因为我默认DROP了所有高端口,这一来用ip_conntrack_ftp的意义就没了。我是想只开21和20端口对外提供主动和被动模式ftp服务。应该用nat能解决?网上有加载ip_nat_ftp模块和ip_conntrack_ftp的,不太懂怎么用,有谁知道怎么解决?指点一下,感激不尽!


具体情况如下:
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 127.0.0.1:10080             0.0.0.0:*                   LISTEN     
tcp        0      0 10.3.37.110:41505           0.0.0.0:*                   LISTEN      #Pasv模式协商的数据端口
tcp        0      0 10.3.37.110:49861           0.0.0.0:*                   LISTEN      #Pasv模式协商的数据端口
tcp        0      0 10.3.37.110:26218           0.0.0.0:*                   LISTEN      #Pasv模式协商的数据端口
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN     
tcp        0      0 10.3.37.110:38605           0.0.0.0:*                   LISTEN      #Pasv模式协商的数据端口
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN     
tcp        0      0 10.3.37.110:44792           0.0.0.0:*                   LISTEN      #Pasv模式自动协商的数据端口
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN     
tcp        1      0 10.3.37.110:21              10.5.28.185:2436            CLOSE_WAIT 
tcp        0      0 10.3.37.110:21              10.5.28.185:2439            ESTABLISHED #正在连接的
tcp        1      0 10.3.37.110:21              10.5.28.185:2412            CLOSE_WAIT  #客户端关闭而不能正常关闭的连接
tcp        1      0 10.3.37.110:21              10.5.28.185:2403            CLOSE_WAIT  #客户端关闭而不能正常关闭的连接
tcp        1      0 10.3.37.110:21              10.5.28.185:2419            CLOSE_WAIT  #客户端关闭而不能正常关闭的连接
tcp        1      0 10.3.37.110:21              10.5.28.185:2423            CLOSE_WAIT   #客户端关闭而不能正常关闭的连接

iptables设置:
# Generated by iptables-save v1.3.5 on Mon Oct 12 00:05:43 2009
*filter
:INPUT DROP [2364:220265]
:FORWARD DROP [0:0]
:OUTPUT DROP [181:8260]
-A INPUT -i lo -j ACCEPT 
-A INPUT -p udp -m udp --dport 53 -j ACCEPT 
-A INPUT -p udp -m udp --sport 53 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 10080 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT 
-A OUTPUT -o lo -j ACCEPT 
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT 
-A OUTPUT -p udp -m udp --sport 53 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 10080 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 25 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 20 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 21 -j ACCEPT 
COMMIT
# Completed on Mon Oct 12 00:05:43 2009
分享到:
评论

相关推荐

    iptables不错脚本

    # 载入相关模块 PATH=/sbin:/bin:/usr/sbin:/usr/bin ...modprobe ip_conntrack_ftp &gt; /dev/null 2&gt;&1 modprobe ip_conntrack_irc &gt; /dev/null 2&gt;&1 modprobe ipt_MASQUERADE &gt; /dev/null 2&gt;&1

    Netfilter_读书笔记.pdf

    - **Nat helper**:负责根据数据包的内容(如源地址、目的地址、端口和协议等),查找 ip_conntrack 数组中的相关信息,并按照 ALG 的要求修改数据包,从而解决 NAT 引发的问题。 例如,在 `linux/...

    Linux-netfilter-conntrack机制初步分析

    连接跟踪辅助模块(`ip_conntrack_helper`)用于扩展连接跟踪功能,例如支持FTP等活跃协议。每个辅助模块都由一个`ip_conntrack_helper`结构体表示,该结构体包括: - **protocol**:协议类型。 - **helper_function*...

    vsftp登录后不显示文件目录的问题怎么修改防火墙.doc.docx

    IPTABLES_MODULES=ip_conntrack_netbios_ns ip_conntrack_ftp service iptables restart 四、防火墙管理技巧 防火墙管理是非常重要的,以下是一些防火墙管理技巧: 1. 所有的防火墙文件规则必须更改。 2. 以最小的...

    CentOS 配置防火墙详解及实例

    CentOS配置防火墙 昨天帮朋友配置CentOS服务器,一开始为了方便测试直接把防火墙关...把文件最后一行IPTABLES_MODULES=”ip_conntrack_ftp” 改为#IPTABLES_MODULES=”ip_conntrack_ftp” ,即注释掉那一行配置项 添加

    LINUX网络安全讲义1

    - `CONFIG_IP_NF_CONNTRACK` - `CONFIG_IP_NF_FTP` - `CONFIG_IP_NF_IPTABLES` - `CONFIG_IP_NF_MATCH_LIMIT` - `CONFIG_IP_NF_MATCH_MAC` - `CONFIG_IP_NF_MATCH_MARK` - `CONFIG_IP_NF_MATCH_MULTIPORT` -...

    使用Debian Linux操作系统架设安全的网关

    /sbin/modprobe ip_conntrack_ftp iptables -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -F -t nat iptables -t nat -A PREROUTING -p tcp -i eth0 -d 202.120.2....

    vsftpd被动模式的配置

    modprobe ip_conntrack_ftp modprobe ip_nat_ftp # 清空所有链 iptables -F iptables -X iptables -Z # 设置默认策略 iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # 允许 FTP ...

    centos6.5配置FTP服务器[参考].pdf

    为支持FTP的被动模式,需要加载`ip_conntrack_ftp`模块,修改`/etc/sysconfig/iptables-config`文件,并重启`iptables`和`vsftpd`服务。 完成上述步骤后,FTP服务器已基本配置完毕。你可以通过本地PC或FTP客户端...

    Linux网络安全讲义Netfilter机制与iptables工具.pdf

    有多种配置选项与iptables和Netfilter相关,例如CONFIG_PACKET用于支持原始套接字的网络包捕获,CONFIG_NETFILTER用于启用内核网络包过滤框架,CONFIG_IP_NF_CONNTRACK用于网络连接跟踪,CONFIG_IP_NF_FTP用于支持...

    在DNS服务器上配置路由工作计划总结.doc

    /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp /sbin/iptables -t nat -A postrouting -o eth0 -j masquerade /sbin/iptables -t nat -A postrouting -o eth1 -j masquerade route add default gw 219...

    TCPIP并发连接数修改

    通过调整`net.ipv4.ip_conntrack_max`和`net.ipv4.tcp_max_syn_backlog`等参数,可以改变系统的并发连接处理能力。 3. **内核参数**:在某些情况下,可能需要重新编译或动态调整操作系统的内核参数,例如`/proc/sys...

    softap_ap6212a0_tinav2.1_验证通过_旧版本的系统_20170915_1223没有外层目录.7z

    &lt;*&gt; "conntrack" connection tracking match support &lt;*&gt; "state" match support &lt; &gt; IP virtual server support ---&gt; 修改为: &lt;*&gt; IP virtual server support ---&gt; [ ] Netfilter connection tracking (NEW) ...

    10-18章测试1

    11. **vsftpd工作模式**:vsftpd有两种主要模式,被动模式和主动模式,其中被动模式常用于解决防火墙问题,它使用一个随机端口与FTP客户端通信,而主动模式则是服务器直接向客户端的特定端口发送数据。 12. **DNS...

    LINUX服务器前台常出现的提示及含意.pdf

    5. **kernel: conntrack_ftp: partial 2272205426703 + 13** - **含义**:FTP协议连接维护时出现错误。 - **分析**: - 此类提示通常可以忽略,但如果频繁出现则可能意味着服务器的某些配置存在问题。 6. **...

    构筑Linux防火墙之IPtables的概念与用法

    ftp是个很好的例子,FTP-data 连接就是和FTP-control有RELATED的。 &lt;br&gt;INVALID &lt;br&gt;INVALID说明数据包不能被识别属于哪个连接或没有任何状态。有几个原因可以产生这种情况,比如,内存溢出,收到不知属于哪个...

    XAI识别方法

    2、输出模块:该模块负责将分类结果输出,包括mark、标记skb和conntrack,多维分类结果记录于DPI内部结构cls_info,并提供查询接口。 3、DPI功能模块:该模块是XAI识别方法的核心部分,负责对网络流量进行分类和...

    Linux服务器常出现的错误及其代表的含义

    5. **FTP连接错误**:`kernel: conntrack_ftp: partial 227 2205426703+13FTP_NAT: partial packet 2635716056/20 in 2635716048/2635716075`。这类错误涉及FTP协议连接问题,但通常对服务器运行影响不大,可以直接...

Global site tag (gtag.js) - Google Analytics