nftablesとiptables / ip6tablesルールを同時に適用できますか?それでは、優先順位は何ですか?

nftablesとiptables / ip6tablesルールを同時に適用できますか?それでは、優先順位は何ですか?

質問はほぼタイトルにあります。

nftablesとiptables / ip6tablesルールを同時に適用できますか?それでは、優先順位は何ですか?

私が質問する理由は、多くのツール(特にコンテナ化の世界)が依然としてルールに依存してiptables追加ip6tablesし、ネットワーク内の他のエンティティがコンテナ化されたサービスを使用または使用できなくするためです。したがって、nftこれを使用して標準のファイアウォールルールを表現するには、iptables/と並列に動作する必要がありますip6tables

iptables-legacyそれとも/ ip6tables-legacywithまたはそれに似たものを使って満足していますかupdate-alternatives?つまり、これらすべてのコンテナ化ツールはiptables/想定どおり使用し続けますip6tablesが、実際にはnftablesが提供する互換性「階層」ですか?

優先順位に関しては、ルールの優先順位を示すことができる一種のチャートがありたいと思います。

答え1

カーネルのiptables合計を同時に使用することも可能ですnftablesが、少し注意が必要です。ルールが適用される順序は、フックの優先順位によって決定されます。従来iptablesのデフォルト値は0なので、nftフックを最初に適用する必要がある場合は優先順位を-1に設定し、iptables後で適用する必要がある場合は1に設定できます。

同期NATにはカーネル> = 4.18が必要です。

iptables-nftへの移行を容易にするように設計されていますnft。これをインストールすると、nftカーネルで使用してもインターフェイスが機能し続けることができます。iptablesip6tablesnftables

これは、現在コンテナ化されている環境(Kubernetesなど)で使用されているアプローチです。コンテナはホストがどのテーブルセットを使用しているかを検出し、対応するiptablesインターフェイス(以前のテーブルまたは提供nftables)を使用する必要があります。バラよりキューバネティス問題 #71305もっと学ぶ。

主な問題は、合計を組み合わせることですiptables-nftiptables-legacyつまり、同じ優先順位を使用するため、パケットは両方のチェーンを通過し、どこにも行かなくなります。

バラよりnftablesでチェーン優先順位を使用するタイミングと方法優先順位の詳細をご覧くださいnftables

関連情報