第10章 nftables の使用
firewalld
で対処できる一般的なパケットフィルタリングのケースに当てはまらない場合、またはルールを完全に制御する必要がある場合は、nftables
フレームワークを使用できます。
10.1. nftables とは
nftables
フレームワークは、パケットを分類機能を提供し、iptables
、ip6tables
、arptables
、ebtables
、および ipset
ユーティリティーの後継となります。利便性、機能、パフォーマンスにおいて、以前のパケットフィルタリングツールに多くの改良が追加されました。以下に例を示します。
- 線形処理の代わりに組み込みルックアップテーブルを使用
-
IPv4
プロトコルおよびIPv6
プロトコルに対する 1 つのフレームワーク - ルールセット全体を取得、更新、保存するのではなく、トランザクションを通じてカーネルルールセットをその場で更新する
-
ルールセットにおけるデバッグおよびトレースへの対応 (
nftrace
) およびトレースイベントの監視 (nft
ツール) - より統一されたコンパクトな構文、プロトコル固有の拡張なし
- サードパーティーのアプリケーション用 Netlink API
nftables
フレームワークは、テーブルを使用してチェーンを保存します。このチェーンには、アクションを実行する個々のルールが含まれます。nft
ユーティリティーは、以前のパケットフィルタリングフレームワークのツールをすべて置き換えます。libnftnl
ライブラリーを介して、nftables
Netlink API との低レベルの対話に libnftables
ライブラリーを使用できます。
ルールセット変更が適用されていることを表示するには、nft list ruleset
コマンドを使用します。カーネルルールセットをクリアするには、nft flush ruleset
コマンドを使用します。同じカーネルインフラストラクチャーを使用するため、iptables-nft
コマンドでインストールされたルールセットにも影響する可能性があることに注意してください。