1. Netfilter的命令结构
(1)filter 表的任务是执行数据包的过滤操作。即起到防火墙的作用。
(2)nat 表的功能是IP分享器。
(3)mangle 表的可以修改经过防火墙内的数据包的内容,也可以为特定的数据包来标示不同的识别码。
(4)raw 表能够加快数据包穿过防火墙机制的速度,提高防火墙的性能。
2.Netfilter的filter机制
(1)INPUT 链
当网络数据包的目的端是本机进程的时候,会进入INPUT 链中;
INPUT 链机制是为了保护本机进程而设计的。
(2)OUTPUT 链
当本机进程生成数据包往外发送的时候,进入OUTPUT 链。
(3)FORWARD 链
当网络数据穿过本机(如将本机作为网关)的时候,进入FORWARD 链。
3.Netfilter的NAT机制
(1)PREROUTING 链
PREROUTING 链的功能在于执行DNAT的任务,数据包一旦进入PREROUTING 链,数据包内的“Destination IP”就会被修改。
(2)POSTROUTING 链
POSTROUTING 链的功能在于执行SNAT的任务,执行SNAT操作的时候,“SourceIP”是在整个NAT机制的最末端才会被修改。
(3)OUTPUT 链
OUTPUT 链执行DNAT的任务,其对象就是本机进程产生并要外送的数据包。
4. Netfilter的mangle 机制
mangle 表的这几个链和以上 filter 和 nat 表的介绍基本相同,只是实现功能上有些区别。
mangle 表能修改数据包内容,如TTL或者DSCP。(注意:如果想要改变本机进程所生成的数据包内的某些值,就必须将规则放置于OUTPUT链或者POSTROUTING链之中)
mangle 表为数据包做标识的功能,在带宽分配器,或者LTE隧道上经常能见到。
5. Netfilter的raw 机制
(1)raw表只有两个链:
●PREROUTING链
若是网关式防火墙,则可用于处理防火墙两侧网络所建立的连接,也可处理任何主动连接到防火墙本机的连接
●OUTPUT链
用于处理本机对外建立的连接(如同NAT表)
(2)raw表作用:
raw表定义的连接会直接跳过nat_table和nf_conntrack模块的处理,从而加快数据包进出防火墙的速度。
6. Netfilter的完整结构
Netfilter完整结构众多链之中,相同名字但是各自独立的链执行的先后顺序是:raw表 -> mangle表 -> nat表 -> filter表