Linux中使用有状态防火墙实现FTP功能
2009-05-13 00:51:21来源:未知 阅读 ()
首先大家要认清楚一个概念,使用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 |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- RAID 1 软件实现(Linux 系统) 2020-06-10
- php多版本:已存在php5场景下,编译安装php7,实现apache2.2 2020-06-05
- keepalived 实现LVS负载均衡高可用集群(一) 2020-06-04
- Linux命令(35)du命令 2020-06-03
- centos6.8 防火墙简单操作 2020-06-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
