iptables基础及模块高级应用

上传人:宝路 文档编号:47880810 上传时间:2018-07-05 格式:PPT 页数:49 大小:381.47KB
返回 下载 相关 举报
iptables基础及模块高级应用_第1页
第1页 / 共49页
iptables基础及模块高级应用_第2页
第2页 / 共49页
iptables基础及模块高级应用_第3页
第3页 / 共49页
iptables基础及模块高级应用_第4页
第4页 / 共49页
iptables基础及模块高级应用_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《iptables基础及模块高级应用》由会员分享,可在线阅读,更多相关《iptables基础及模块高级应用(49页珍藏版)》请在金锄头文库上搜索。

1、ChinaUNIX技术沙龙 iptables基础及模块高级应用 marsaber 2009.6.20 西安主 题 大 纲一、防火墙的作用及分类 二、iptables概述 三、iptables流程图 四、iptables语法 五、iptables模块应用六、实例分析说明参考文档:CU_platinum的2 小时玩转 iptables 讲义企业版 v1.5.4 http:/ iptables 指南 1.1.19http:/iptables- iptables的man文档互联网测试平台:CentOS 5.3 ( kernel-2.6.27、iptables-1.4.1.1 )一、防火墙的作用作用:过

2、滤两个网络间流入流出的数据包,由 预先制定的策略来控制访问行为。防火墙种类(一)1、简单包过滤防火墙;优点:速度快、性能高,对应用程序透明; 缺点:只检查报头,不检查数据区,不建立连接状态表,安 全性低,应用控制层很弱; 2、状态检测包过滤防火墙;优点:安全性高,性能高, 缺点:只检查报头,但建立连接状态表,不检查数据区,安 全性高,应用控制层很弱;防火墙种类(二)3、应用代理防火墙;优点:安全性高,提供应用层的安全; 缺点:性能差,只支持有限的应用,不透明,不检查报头, 不建立连接状态表,检查数据区,网络层保护较弱; 4、核检测防火墙;优点:重组并检查会话内容,建立连接状态表;网络层保护 强

3、、应用层保护强、会话保护强; 缺点:性能差,不透明。二、iptables概述 Kernel 0.01(1991.9) Kernel 2.0(1994.3.14) ipfwadm Kernel 2.2(1999.1.25) ipfwadm Kernel 2.4(2001.1.4) Netfilter/iptables Kernel 2.6(2003.12.17) Netfilter/iptables三、iptables流程图PREROUTINGRouteFORWARDPOSTROUTING INPUT OUTPUT - local -四、iptables基本语法iptables基本语法: ipt

4、ables -t table command match target 1、table,表,filter、nat、mangle、raw; 2、command,iptables最重要的部分; 3、match,匹配数据包的特征;4、target,对匹配的数据包进行的操作; 4.1、表 filter,用于一般的数据包过滤,针对本机;iptables默认的 表;链:INPUT、FORWARD、OUTPUT; nat,仅用于NAT,也就是转换数据包的源地址或目标地址 ;链:PREROUTING、POSTROUTING、OUT; mangle,用来修改流经防火墙的数据包内容,不能做任何 NAT,它只是改变

5、数据包的 TTL,TOS或MARK,而不是其 源目地址。强烈建议你不要在这个表里做任何过滤;链 :PREROUTING、POSTROUTING、OUTPUT、INPUT和 FORWARD; raw, 负责加快数据包穿越防火墙的速度,借此提高防火 墙的性能;4.2、命令(1) -L:查看规则;iptables -L iptables -L -n iptables -t nat -L -n iptables -L -n -line-number iptables -t nat -L -n -line-number -P:修改默认规则;iptables -P INPUT DROP 备注:为链设置默认

6、的target (可用的是DROP 和ACCEPT ),做为最后一条 规则被执行4.2、命令(2) -A:追加规则,做为最后一条规则;iptables -A INPUT -p tcp -dport 22 -j ACCEPT iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 2222 -J DNAT -to 192.168.0.1:22 -I:插入规则,不写规则数,默认第1条;iptables -I INPUT 1 -p icmp -j ACCEPT iptables -I INPUT 3 -p tcp -dport 22 -j ACCEPT

7、 iptables -t nat -I PREROUTING -i eth0 -p tcp -dport 2222 -J DNAT -to 192.168.0.1:224.2、命令(3) -D:删除规则;iptables -D INPUT 3 iptables -D INPUT -s 192.168.0.1 -j DROP -R:修改规则;iptables -R INPUT 3 -s 192.168.0.1 -j ACCEPT iptables -t nat -R POSTROUTING 1 -s 192.168.0.1/244.2、命令(4) -F:清空规则; iptables -F ipt

8、ables -F INPUT iptables -t nat -F iptables -t nat -F POSTROUTING -Z:把指定链的所有计数器归零; iptables -Z iptables INPUT -Z iptables -t nat -Z iptables -t nat POSTROUTING -Z4.3 匹配条件 出、入接口(-o、-i) 源、目的地址(-s、-d) 协议类型(-p) 源、目的端口(-sport、-dport)4.3 匹配条件(1)按网络接口匹配 -o 匹配数据流出的网络接口 iptables -A INPUT -o eth0 -j DROP iptab

9、les -A INPUT -o ppp0 -j DROP 备注:将接口eth0、ppp0流出的数据DROP掉; -i 匹配数据流入的网络接口 iptables -A INPUT -i eth0 -j DROP iptables -A INPUT -i ppp0 -j DROP 备注:将流入到接口eth0、ppp0的数据DROP掉;4.3 匹配条件(2)按地址匹配 -s 匹配源地址iptables -A INPUT -s 192.168.0.1 -j DROP #将来自192.168.0.1的任何 请求DROP掉; -d 匹配目的地址iptables -A INPUT -d 192.168.0.

10、1 -j DROP #将本机发往192.168.0.1的 任何请求DROP掉; 备注: 可以是单个IP(192.168.0.1)、网段(192.168.0.1/24)、域名 (),不设则表示任何地址;4.3 匹配条件(3)按协议类型匹配 -p 匹配协议类型iptables -A INPUT -s 192.168.0.1/24 -p tcp -dport 22 -j DROP #禁止 192.168.0.1/24的客户机连接本机22端口iptables -A INPUT -p icmp -j DROP #禁pingiptables -A INPUT -p 1 -icmp-type 8 -j DR

11、OP #可以ping通其他客户机 ,但是其他客户机ping不通该机; 备注:第三条规则中1对应的协议类型是icmp,详情请参照 /etc/protocols4.3 匹配条件(4)按端口匹配 -sport 匹配源端口 iptables -A INPUT -p tcp -sport 80 -j DROP #将来自80端口的请求DROP掉 (比如,我向发出请求,回应后 ,遇到该规则后回应就被拒绝掉); -dport 匹配目的端口 iptables -A INPUT -s 192.168.0.1/24 -p tcp -dport 80 -j DROP #将来自 192.168.0.1/24的针对本机8

12、0端口的请求DROP掉; 备注: 1、-sport、-dport必须配合参数-p使用; 2、可以指定某个端口,也可以是端口范围,比如:2000(2000以下端口 )、2000:3000(2000-3000端口)、3000: (3000以上端口)4.4处理方式(1) ACCEPT这个target没有任何选项和参数,使用也很简单,指定-j ACCEPT即可。一旦数 据包满足了指定的匹配条件,就会被ACCEPT,并且不会再去匹配当前链中的 其他规则或同一个表内的其他规则; iptables -P INPUT ACCEPT #修改INPUT的默认规则为ACCEPT iptables -A INPUT

13、-s 192.168.0.1/24 -j ACCEPT #允许来自192.168.0.1/24的所有针 对本机的所有请求;4.4处理方式(2) DROP如果包符合条件,这个target就会把它丢掉,也就是说包的生命到此结束,不 会再向前走一步,效果就是包被阻塞了。在某些情况下,这个target会引起意 外的结果,因为它不会向发送者返回任何信息,也不会向路由器返回信息, 这就可能会使连接的另一方因苦等回音而亡,解决这个问题的较好办法较好 的办法是使用REJECT(除了丢弃数据包之外,还向发送者返回错误信息); iptables -A INPUT -s 192.168.0.1 -j DROP #将

14、来自192.168.0.1的请求全部 DROP掉; iptables -A INPUT -s 192.168.0.1 -j REJECT #将来自192.168.0.1的请求全部 DROP掉,并向请求者返回错误信息;4.4处理方式(3) -SNAT这个target是用来做源网络地址转换的,就是重写包的源IP地址。先在内核里 打开ip转发功能,然后再写一个SNAT规则,就可以把所有从本地网络出去的 包的源地址改为Internet连接的地址了。 SNAT target的作用就是让所有从本地 网出发的包看起来都是从一台机子发出的,这台机子一般就是防火墙。 iptables -t nat -A POS

15、TROUTING -o eth0 -j SNAT -to 1.2.3.4 iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -j SNAT -to 1.2.3.4 备注:eth0为外网网卡接口,192.168.0.1/24为内网网段;4.4处理方式(4) -j DNAT -to IP-IP:port (nat表的PREROUTING链 )用来做目的网络地址转换的,就是重写包的目的IP地址。如果一个包被匹配了 ,那么和它属于同一个流的所有的包都会被自动转换,然后就可以被路由到 正确的主机或网络。 iptables -t nat -A PREROUTI

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号