iptables または IFB を使用して、着信トラフィックをデバイス別にマークするにはどうすればよいですか?

iptables または IFB を使用して、着信トラフィックをデバイス別にマークするにはどうすればよいですか?

iptables を使用して、パケットが到着したデバイス (発信元の IP アドレスやポートなどではなく) に基づいて着信パケットをマークしようとしていますが、これを機能させる方法が見つかりません。

具体的には、すべての着信パケットをカウントするフィルターを設定できます (これは正常に動作します)。

iptables -F -t mangle
iptables -A PREROUTING -t mangle -j MARK --set-mark 1
iptables -nvL

Chain PREROUTING (policy ACCEPT 185 packets, 41507 bytes)
 pkts bytes target     prot opt in     out     source               destination
  185 41507 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MARK set 0x1

ただし、eth2 からのパケットのみをキャッチするフィルターはトリガーされないようです (すべてのトラフィックがまさにそこから来ているにもかかわらず)。

iptables -F -t mangle
iptables -A PREROUTING -t mangle -i eth2 -j MARK --set-mark 1
iptables -nvL

Chain PREROUTING (policy ACCEPT 101 packets, 19288 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MARK       all  --  eth2   *       0.0.0.0/0            0.0.0.0/0            MARK set 0x1

オンラインのハウツーなどから、この動作は iptables の動作方法の論理的な結果である可能性が高いようです。また、これを回避するために、人々は IMQ (IMQ が廃止される前) の使用を試み、その後、代わりに IFB を使用するようになりました。しかし、そこではドキュメントの痕跡が完全に消えてしまったようです。

そこで私の質問は、IFB を使用することがこの問題を回避する正しい方法である場合、デバイスごとに着信トラフィックをマークする同等の IFB の方法はどのようになるでしょうか。

あるいは特定のインターフェースを介して入ってくるトラフィックを、一連の異なるレルムの 1 つとして分類する方法はありますか? たとえば、eth0 --> realm_10、eth1 --> realm_11 などです。このアプローチも機能するはずですが、これに関する実用的なドキュメントも (再び) まだ見つけていません。

関連情報