始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

Linux中使用有状态防火墙实现FTP功能

发布时间:  2012/8/13 12:01:38
 首先大家要认清楚一个概念,使用FTP是从http代理出去,还是由socks代理或firewall上打开一个口转发。从http代理出去的FTP,实际上使用的是http代理程序,象最常用的squid,是http tps代理,但是它也能代理ftp请求。当你打开浏览器登陆ftp站点时,使用的就是http代理程序来处理ftp的问题。而有些程序只能设置成socks或firewall代理,象Cuteftp,wu-ftp和dos下的FTP。此类的代理才是标准的FTP代理。

本文假设大家对netfilter技术已经有了一定了解,介绍利用netfilter的有状态功能在inux2.4内核上实现FTP。

系统环境:

linux7.2,安装了iptable,squid,有两块网卡:

eth0:x.x.x.x 接internet,

eth1:192.168.0.1 接内网。

firewall相关规则:

以下为引用的内容:

  ##Ismod the firewall modules *加载模块
modprobe ip_tables
insmod ip_conntrack
insmod ip_conntrack_ftp
insmod ip_nat_ftp
 


关于有状态功能,重点在于后三个模块:ip_conntrack模块能够使防火墙具有连接跟踪能力。(通过输入 "cat /proc/net/ip_conntrack" 可以查看您的机器参与的活动网络连接。)加载这个模块后,基本上所有有状态的返回包都能识别,例:telnet,http,QQ,mail,ping,dns等。

实际上,加载了ip_conntrack模块,ftp已经能够登陆,并能使用象pwd,cd等命令,但当使用ls命令显示文件内容时,就会timeout。原因在于显示文件列表的包防火墙无法识别,就会进入默认策略----禁止,此时就需要加载ip_conntrack_ftp模块。

ip_conntrack_ftp模块使防火墙能够识别FTP某类特殊的返回包。如果防火墙上对所有出去的返回包作了伪装,就需要加载ip_nat_ftp模块。ip_nat_ftp模块在出去的包作了伪装以后,必须加载,否则防火墙无法知道返回的包该转发到哪里。

以下为引用的内容:
    ##Define the policy *定义默认规则
iptables -P INPUT DROP 
iptables -P FORWARD DROP 
iptables -P OUTPUT ACCEPT 

#MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
 


所有从局域网出去的包伪装。

以下为引用的内容:
#accept lan use ftp *允许所有局域网用户使用FTP
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 20 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp --dport 20 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp --dport 21 -j ACCEPT
打开ftp的20,21端口

#accept come back packets from INTERNET
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


允许有状态的返回包转发。

关于netfilter有状态基础知识,请查看相关资料。


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线