iptables 表、链知识

1.1 IPTABLES

  1、什么是Netfilter/iptales?
       Netfilter是表(iptables)的容器,这样解释大家肯定还是不清楚吧
       举个例子,如果把Netfilter看成是某小区的一栋楼。那么表(iptables)就是楼里的其中一套房子。这套房子“表”属于这栋楼“Netfilter”
  2、什么是表(tables)?
       表(tables)是链的容器,即所有的链(chains)都属于其对应的表(tables)
  3、什么是链(chains)?
       链(chains)是规则(policys)的容器。

1.2 IPTABLES
  1、容器:包含或者说属于的关系
  2、Netfilter/iptables是表的容器,iptables包含的4个表
     (filter,NAT,MANGLE,RAW)
  3、iptables的表(tables)又是链的容器
      链chains:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING
  4、链chains是规则容器:
  5、规则Policy:一条条过滤的语句。

1.3 iptables工作流程
    前面介绍已经提到,iptables是采用数据包过滤机制工作的,所以它会对请求的数据包的包头数据进行分析,并根据我们预先设定的规则进行匹配来确定是否可以进入主机。
    数据包的流向是从左向右的:

    小结:

    1、防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
    2、如果匹配上规则,即明确表明是阻止还是通过,数据包就不在向下进行匹配新规则了。
    3、如果所有规则中没有明确表明是阻止还是通过,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
    4、防火墙默认规则是所有的规则执行完才会执行的。
    5、匹配上了拒绝规则也是匹配,这点要多注意。

1.4 iptables表(iptables)和链(chains)
    描述完iptables术语后,相信大家对iptables的表和链有了初步的了解。默认情况下,Iptables根据功能和表的定义划分包含三个表,filter,nat,mangle,其中每个表又包含不同的操作链
    下面的表格展示了表和链的对应关系:

   


   

   

   

1.5 iptables表和链工作的流程图
     下面的这张图清晰的描绘了netfilter对包的处理流程

   

     简化版为:

    

  强调:上图可以用北京地铁1,2号线来描述:
  1号线:主要是NAT功能
  企业案例:1)局域网上网共享(路由和网关),NAT POSTROUTING
                2) 外部IP和端口映射为内部IP和端口(DMZ功能),NAT PREROUTING
  2号线:主要是filter功能,即防火墙功能FILTER INPUT FORWARD
  企业案例:
                1)主要应用就是服务器防火墙

1.6 更多iptables知识请参看

  iptables 从链、表开始理解

      linux下IPTABLES配置详解

      iptables 命令介绍


   

原文地址:https://www.cnblogs.com/migongci0412/p/5198370.html