选择显示字体大小

使用有状态防火墙实现ftp功能

首先大家要认清楚一个概念,使用ftp是从http代理出去,还是由socks代理或firewall上打开一个口转发。从http代理出去的ftp,实际上使用的是http代理程序,象最常用的squid,是http/https代理,但是它也能代理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 接inte.net
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" 可以查看您的机器参与的活动网络连接。)加载这个模块后,基本上所有有状态的返回包都能识别,例:te.net,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 inte.net
iptables -a forward -m state --state established,related -j accept
允许有状态的返回包转发

.netfilter有状态基础知识,请查看下面这篇优秀的文章:
http://www.linuxeden.com/edu/doctext.php?docid=1627

另:本人水平有限,错误之处再所难免。关于ip_conntrack_ftp和ip_nat_ftp模块的资料本人没有找到,只是按照自己的理解作了上述解释。欢迎各位同行批评指正或来信交流。   


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons