Iptables并不是一个简单的东西,这段时间一直在想怎么才能把自己已常握的iptables分享给大家,如果像前面一样.上来就是一张拓扑图,再呼呼啦啦一条条策略,我想那样肯定是没有什么效果的.一条条策略如果没有强大的理论做支撑,是站不住脚的.正在苦恼之际.突然看到了自己以前学习iptables时的记的笔记.觉得记得还挺到位的,如果自己再整合一下,应该是很容易理解的.就这样,翻出老家底——咱们来学Iptables就诞生了,呵呵!来看看吧!
Iptables和netfilter的关系:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
这是第一个要说的地方,Iptables和netfilter的关系是一个很容易让人搞不清的问题.很多的知道iptables却不知道netfilter.其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables.真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构.
Iptables的规则表和链:
Iptables采用“表”和“链”的分层结构.在REHL4中是三张表五个链.现在REHL5成了四张表五个链了,不过多出来的那个表用的也不太多,基本还是和以前一样.下面罗列一下这四张表和五个链.注意一定要明白这些表和链的关系及作用,很多的人就是在这一块不清楚.万一不行就把它背下来在慢慢地去体会.
规则表:
1. filter表——三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包 内核模块:iptables_filter.
2. Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
3. Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS
内核模块:iptable_mangle
(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
4. Raw表——两个链:OUTPUT、PREROUTING
作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw
(这个是REHL4没有的,不过不用怕,用的不多)
规则链:
1. INPUT——进来的数据包应用此规则链中的策略
OK!上面都是一些比较常用到的,Iptables功能很多希望各位同仁们去挖掘.下次我们会看到iptables中的常用技术SNAT和DNAT的应用. |