初学iptables算是简单的了解一下,写一下学习笔记。

iptables是工作在网路层上的 基于包过滤的防火墙。他是基于内核编码实现的,所以相当的稳定和高效率;

netfilter和iptables 

netfilter是linux内核中实现包过滤的防火墙的内部结构,不以程序或文件形式存在,属于内核态,

iptables管理防火墙的工具,位于/sbin/iptables,属于用户态。

iptables是以表和链的形式实现的;一般有4个表5个链

表:filter表   (input      forward     output)用于进行包过滤,模块 iptables_filter

        nat表       (prerouting      postrouting     output)地址转换  模块 iptables_nat

       mangle表 (5个链) 修改数据包的TOS信息TTL,Mark标记  模块 iptables_mangle

       raw表 (output   prerouting) 1.2.9版本后有的 决定是否被跟踪机制处理 raw表优先其他表 模块iptables_raw

链:  inout链 访问本机的包接受这个链的处理

           output链   防火墙本机向外发包的时候用这个连上规则

           forward链   转发数据包用这个

           prerouting   目的地址转化

           postrouting    源地址转化

表之间的优先顺序:raw  mangle  nat    filter

链之间的优先顺序:入站   prerouting处理  是否修改数据包地址   之后进行路由选择   

                                    如果访问本机  则是交给input访问。

                                    出站  先被output处理 完后路由选择  最后postrouting处理

                                    转发   prerouting链处理  路由选择  forward 链处理  postrouting处理