Netfilter/iptables 简要分析

来源:互联网 发布:bbc有声双语新闻软件 编辑:程序博客网 时间:2024/04/30 16:45

1. Netfilter的命令结构

(1)filter 表的任务是执行数据包的过滤操作。即起到防火墙的作用。

(2)nat 表的功能是IP分享器。

(3)mangle 表的可以修改经过防火墙内的数据包的内容,也可以为特定的数据包来标示不同的识别码。

(4)raw 表能够加快数据包穿过防火墙机制的速度,提高防火墙的性能。

2.Netfilterfilter机制

(1)INPUT 链

当网络数据包的目的端是本机进程的时候,会进入INPUT 链中;

INPUT 链机制是为了保护本机进程而设计的。

(2)OUTPUT 链

当本机进程生成数据包往外发送的时候,进入OUTPUT 链。

(3)FORWARD 链

当网络数据穿过本机(如将本机作为网关)的时候,进入FORWARD 链。

3.NetfilterNAT机制

(1)PREROUTING 链

PREROUTING 链的功能在于执行DNAT的任务,数据包一旦进入PREROUTING 链,数据包内的Destination IP”就会被修改。

(2)POSTROUTING 链

POSTROUTING 链的功能在于执行SNAT的任务,执行SNAT操作的时候,“SourceIP”是在整个NAT机制的最末端才会被修改。

(3)OUTPUT 链

OUTPUT 链执行DNAT的任务,其对象就是本机进程产生并要外送的数据包。

4. Netfiltermangle机制

mangle 表的这几个链和以上 filter 和 nat 表的介绍基本相同,只是实现功能上有些区别。

mangle 表能修改数据包内容,如TTL或者DSCP。(注意:如果想要改变本机进程所生成的数据包内的某些值,就必须将规则放置于OUTPUT链或者POSTROUTING链之中)

mangle 表为数据包做标识的功能,在带宽分配器,或者LTE隧道上经常能见到。

5. Netfilterraw机制

(1)raw表只有两个链:

PREROUTING

        若是网关式防火墙,则可用于处理防火墙两侧网络所建立的连接,也可处理任何主动连接到防火墙本机的连接

OUTPUT

         用于处理本机对外建立的连接(如同NAT表)

(2)raw表作用:

       raw表定义的连接会直接跳过nat_tablenf_conntrack模块的处理,从而加快数据包进出防火墙的速度。


6. Netfilter的完整结构  

Netfilter完整结构众多链之中,相同名字但是各自独立的链执行的先后顺序是:raw表 -> mangle表 -> nat表 ->  filter表

0 0