Linux kernel NF_INET_PRE_路由和NF_INET_POST_路由之间的差异

Linux kernel NF_INET_PRE_路由和NF_INET_POST_路由之间的差异,linux-kernel,netfilter,Linux Kernel,Netfilter,我找不到这两个标志的详细说明。我发现的只是一个简短的描述。有人能解释每一个标志以及它们之间的区别吗?如果我注册NF_INET_PRE_路由或NF_INET_POST_路由,我的钩子函数何时被调用?通过测试,我知道如果我使用一个标志而不是另一个标志,tcphdr源和目标会发生翻转。,应该会有所帮助 NF_INET_PRE_ROUTING钩子在数据包传递到内部路由引擎之前在网络层被调用,内部路由引擎决定是将数据包转发到另一台主机上还是本地传递。相反,在路由引擎确定一个包的目的地是另一个主机之后,调用

我找不到这两个标志的详细说明。我发现的只是一个简短的描述。有人能解释每一个标志以及它们之间的区别吗?如果我注册NF_INET_PRE_路由或NF_INET_POST_路由,我的钩子函数何时被调用?通过测试,我知道如果我使用一个标志而不是另一个标志,tcphdr源和目标会发生翻转。

,应该会有所帮助


NF_INET_PRE_ROUTING
钩子在数据包传递到内部路由引擎之前在网络层被调用,内部路由引擎决定是将数据包转发到另一台主机上还是本地传递。相反,在路由引擎确定一个包的目的地是另一个主机之后,调用
NF_INET_POST_路由
钩子。请注意,对于在一个接口和另一个接口中转发的数据包,以及从本地计算机到外部主机的数据包,都将调用POST_路由钩子。

谢谢!这就解释了!