【推荐阅读】
一、Netfilter/IPTables 框架简介
Netfiter/lPTables 是继2.0.x的IPfwadm、2.2.x的IPchains之后, 新- -代的Linux防火墙。Netilter采用 模
块化设计,具有良好的可扩展性,其重要工具模块IPTables连接到Netilter的架构中,并允许使用者对数据
报进行过滤、地址转换等处理操作。Netfilter提供了--个框架,将对网络的直接干涉降到最低,并允许规定
接口将其它包处理代码以模块的形式添加到内核中,具有极强的灵活性。
二、Netfilter总体架构
Netilter 主要通过表、链实现规则,可以这么说,Netfilter是 表的容器,表是链的容器,链是规则的容
器,最终形成对数据报处理规则的实现。
Netilter的通用框架不依赖于具体的协议,而是为每种网络协议定义一套HOOK函数, 这些HOOK函数
在数据报经过协议栈的几个关键点时被调用,这样这些模块就有机会检查、修改、丢弃该数据报及指示Netf
ilter将该数据报传入用户空间的队列。
Netilter定义了五大HOOK,分别是: NF_ IP_ PRE_ ROUTING、 NF_