我仍然想知道哪个是第一优先级。“Iptables”还是“内核模块”?
在 ip 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 规则,或者直接像它进入我的自定义模块的所有其他数据包一样。