linux下iptables lay7配置下
Iptables l7应用层过滤 好的,上次我们简单的讨论了下iptales的用法,其中有很多的用法我们都还没说,例如非常重要的SNAT ,DNAT转换,字符匹配过滤,同是定义多端口,最大连接数限制,访问时间限制,匹配速率限制,还有就是现在企业中经常要用到的l7layer应用层过滤!!下面我们来讨论这些非常重要有用但是又很具挑战难度的东东 主要内容: iptables的实践应用,L7应用层过滤 目标: 熟练应用ipatbles的用法,要做到烂熟于心 我们接着上次继续探讨iptables更深层的用法.这次我们基于上次的理论介绍主要通过实验来熟悉每个命令的用法. 实验环境: 内网2:10.0.2.100 telnet vsftp http 内网1:10.0.1.100 外网:10.0.3.100 firewall:eth0:10.0.2.1 eth1:10.0.3.1 ssh SNAT DNAT: ü SNAT ü --to-source IPport ü DNAT ü --to-destination IP:port 路由测试: [root@station93 ~]# sysctl -p net.ipv4.ip_forward = 1 NAT转换测试: 外网访问iptables10.0.3.1端口时,iptables均把地址DNAT成内网10.0.2.100服务器的httpd服务,注意,这里外网不知道内网有10.0.2.100这个地址,只知道10.0.3.1 DNAT 转换;==========》一个IP可实现多个功能 [root@station93 ~]# iptables -t nat -A PREROUTING -s 10.0.3.100 -d 10.0.3.1 -p tcp --dport 80 -j DNAT --to-dest 10.0.2.100 [root@station93 ~]# iptables -t nat -A PREROUTING -s 10.0.3.100 -d 10.0.3.1 -p tcp --dport 22 -j DNAT --to-dest 10.0.1.100 SNAT转化测试:=========è内网用户只需要一个IP地址即可全部上网 内网用户通过iptables外网网关实现SNAT转化的功能 [root@station93 ~]# iptables -t nat -A POSTROUTING -s 10.0.2.100 -p tcp --dport 80 -j SNAT --to-source 10.0.3.1 拥有帝国一切,皆有可能。欢迎访问phome.net [root@3 httpd]# tail access_log============》这里查看日志时我们会法相其实是10.0.3.1来访问外网服务器的,即iptables的外网网关 10.0.3.1 - - [09/Mar/2010:20:43:59 0800] "GET / HTTP/1.1" 403 3985 "-" "ELinks/0.11.1 (textmode; Linux; 77x24-2)" 基于状态的限制 v -m state ü NEW ü ESTABLISHED ü RELATED ü INVALID 只允许3.100访问2.100的web服务,不允许2.100自发的回应3.100的 主要用来防止本机中毒,自发的向外发出信息泄密 [root@station93 ~]# iptables -A FORWARD -s 10.0.3.100 -d 10.0.2.100 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT [root@station93 ~]# iptables -R FORWARD 2 -s 10.0.2.100 -d 10.0.3.100 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT 测试: [root@3 ~]# elinks 10.0.2.100 ======》出现测试页 [root@2 ~]# elinks 10.0.3.100 ========》失败 v -m multiport ü --source-ports port1,port2,port3,… ü --destination-ports port1,port2,port3,… ü --ports port1,port2,port3,… 企业中防火墙的实际应用 在实际的企业应用中,我们以上学习的iptables只是使远远不够的,举个简单的例子,我们在平时的工作中往往需要限制qq,msn,迅雷,快车等聊天下载工具的使用,而我们以上学的都是写非常简单点的限制,而这这些工具的服务器的众多,端口多变,我们通过普通的方法是很难控制住的,银次我们需要给予Layer的第七层应用的控制,这里我们需要重新编译升级内核. 需要的软件包: v The 2.4 or 2.6 Linux kernel source (2.6 strongly preferred) from kernel.org v The iptables source from netfilter.org v "l7-filter kernel version" package (netfilter-layer7- |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |