どちらが最優先になるのか、まだ疑問です。「Iptables」または「カーネルモジュール」?
ヘルプipiptablesを使用して、次のように言います
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ルールに従うか、カスタムモジュールに入る他のすべてのパケットと直接同じです。