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 *加载模块
实际上,加载了ip_conntrack模块,ftp已经能够登陆,并能使用象pwd,cd等命令,但当使用ls命令显示文件内容时,就会timeout。原因在于显示文件列表的包防火墙无法识别,就会进入默认策略----禁止,此时就需要加载ip_conntrack_ftp模块。 ip_conntrack_ftp模块使防火墙能够识别FTP某类特殊的返回包。如果防火墙上对所有出去的返回包作了伪装,就需要加载ip_nat_ftp模块。ip_nat_ftp模块在出去的包作了伪装以后,必须加载,否则防火墙无法知道返回的包该转发到哪里。 以下为引用的内容:
以下为引用的内容:
关于netfilter有状态基础知识,请查看相关资料。 本文出自:亿恩科技【www.enkj.com】 |
京公网安备41019702002023号