Chinaunix
标题:
关于iptables/netfilter表,链,规则以及hook函数的疑问
[打印本页]
作者:
li_freedom
时间:
2014-02-21 09:59
标题:
关于iptables/netfilter表,链,规则以及hook函数的疑问
如题,我有个相关的疑问一直没有弄清楚:
我现在理解的hook函数就是在某个挂载点(PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING)挂在的callback函数
我们知道:
对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT
对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING
而mangle则是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
从上可知,比如filter表和nat表有相同的链OUTPUT,
我的疑问是:当我在OUTPUT上挂接hook函数的时候,这个hook是挂在了filter上面还是nat上面了?
比如如下结构体赋值:
struct nf_hook_ops output_node;
output_node.hook = foo;
outpit_node.pf = AF_INET;
outpit_node.hooknum = NF_INET_LOCAL_OUT;
outpit_node.priority = NF_IP_PRI_FIRST;
那这个时候我要是 nf_register_hook(&output_node)的话,会挂接到哪个表上呢?
--------------------------------------------------------------------------------------------------------
另: 我的理解:数据处理的流程是2中
1
REROUTING->INPUT->OUTPUT->
OSTROUTING
2
REROUTING->FORWARD->
OSTROUTING
那这样的话我上面注册的hook函数foo实际上就是在经过OUTPUT的时候来调用的了, 在这个流程里面没有表的体现啊?
filter的OUTPUT和nat的OUTPUT难道是两个不同的点吗?
我现在有点晕了,不清楚到底是怎么弄的, 希望大婶们能给指点一下。
真心感谢。
作者:
li_freedom
时间:
2014-02-22 18:47
没有人回答吗? 自己顶一下。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2