iptables是处理内核模块"Netfilter"的用户界面那么你提到的两种情况都会使用相同的钩子。
我仍然想知道哪个优先。"Iptables"还是"内核模块"?
说,在iptables的帮助下
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j thoTPROXY --tproxy-mark 0x1/0x1 --on-port 3000
我正在将数据包重定向到端口3000。我在系统启动时这样做。在我的内核模块中,我正在获取预先路由中的所有数据包,并根据我的需要进行处理,然后返回内核。
if( nf_register_hook(&pac_preroute_hook_ops) < 0 ) {
printk("Failed to register pac_preroute_hook_ops.");
return -1;
}
如果一个80端口的数据包进入盒子,哪个优先?它首先遵循iptables规则,或者像所有其他数据包一样直接进入我的自定义模块。