NF_INET_PRE_ROUTING和NF_INET_POST_ROUTING之间的区别

时间:2015-11-20 15:14:10

标签: linux-kernel netfilter

我无法找到这两个标志的详细解释。我发现的只是一个简短的描述。谁能解释每一面旗帜和它们之间的区别?如果我使用NF_INET_PRE_ROUTING或NF_INET_POST_ROUTING注册,我的钩子函数何时被调用?从测试开始,我知道tcphdr源和目标翻转,如果我使用一个标志而不是另一个。

1 个答案:

答案 0 :(得分:2)

This imagethis documentation应该有所帮助。

在将数据包传递到内部路由引擎之前,在网络层中调用NF_INET_PRE_ROUTING挂钩,内部路由引擎确定是将数据包转发到其他主机还是在本地传送。相反,在路由引擎确定数据包发往另​​一个主机后调用NF_INET_POST_ROUTING挂钩。请注意,对于在一个接口和另一个接口中转发的数据包以及从本地计算机到外部主机的数据包,都将调用POST_ROUTING挂钩。