结构图:

iptable是用户层的网络工具
netfilter工作在IP层,在IP层中设置了5个钩子函数,实现对数据包过滤

目前Linux2.6内核的netfilter支持IPv4和IPv6以及DECnet等协议栈。
netfilter可以在每个关键点上预先注册钩子函数。

在数据包流经整个内核协议栈的整个过程中,在一些已预定义的关键点上 PRE_ROUTING,LOCAL_IN,FORWARD,LOCAL_OUT,POST_ROUTING 会根据数据包的协议族到这些关键点检查是否有钩子函数,没有则直接返回。有则调用相关的钩子函数,根据钩子函数返回的返回值决定下一步操作。
iptables与Netfilter详解
本文介绍了iptables作为用户层网络工具如何通过netfilter在IP层设置五个钩子函数来实现数据包过滤。对于Linux 2.6内核而言,netfilter支持IPv4、IPv6以及DECnet等多种协议栈。在数据包流经内核协议栈的过程中,会在预定义的关键点PRE_ROUTING、LOCAL_IN、FORWARD、LOCAL_OUT、POST_ROUTING进行检查并调用相应的钩子函数。

被折叠的 条评论
为什么被折叠?



