iptables 表、链知识

一、 前言

1、什么是Netfilter/iptales?

Netfilter是表(iptables)的容器
​ 举个例子,如果把Netfilter看成是某小区的一栋楼。那么表(iptables)就是楼里的其中一套房子。这套房子“表”属于这栋楼“Netfilter”

2、什么是表(tables)?

   表(tables)是链的容器,即所有的链(chains)都属于其对应的表(tables)

3、什么是链(chains)?

   链(chains)是规则(policys)的容器。

二、 IPTABLES

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

三、iptables工作流程

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

​数据包的流向是从左向右的:
img

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

四、iptables表(iptables)和链(chains)


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

下面的表格展示了表和链的对应关系:
img
img
img
img

五、iptables表和链工作的流程图

下面的这张图清晰的描绘了netfilter对包的处理流程
img

​简化版为:
img

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

六、 更多iptables知识请参看

iptables 从链、表开始理解
linux下IPTABLES配置详解
iptables 命令介绍

posted @ 2018-02-26 16:06  oneVillager  阅读(312)  评论(0编辑  收藏  举报
打赏

喜欢请打赏

扫描二维码打赏