以NF_INET_PRE_ROUTING为例,当数据包到达NF_INET_PRE_ROUTING钩子点时,会按照以下顺序执行相关操作: 1. 新的报文:先经过ip_recv,然后到达PREROUTING HOOK点。 2. 优先级NF_IP_PRI_CONNTRACK:执行NF_IP_PRI_CONNTRACK优先级的规则。 3. 优先级NF_IP_PRI_MANGLE:执行NF_IP_PRI_MANGLE优先级的规则。 4. ...
NF_IP_*和NF_IP6_*都不能用在新的内核,内核/内核模块要用NF_INET_*。我记得没错的话,这种转变是从2.6.25的内核开始,当时还没有NF_INET_*,全部都用NF_IP系列的。现在,NF_IP_*只是为了兼容用户程序而保留的,一般应该用NF_INET_*。你可以理解成变量换了个名字。