【エヌエフテーブルズ】

nftables(次世代パケットフィルタ) とは?

💡 iptablesを進化させたLinuxファイアウォールの新標準
📌 このページのポイント
nftables — テーブル / チェーン / ルール構造 table inet filter chain input type filter hook input priority 0 ct state established accept tcp dport 22 accept tcp dport 80,443 accept policy drop(それ以外は拒否) chain output type filter hook output priority 0 policy accept(全て許可) chain forward policy drop iptables の後継。テーブル→チェーン→ルールの階層で管理
nftables のルール構造のイメージ
ひよこ ひよこ

iptablesで十分じゃないの?なんでnftablesが必要なの?

ペンギン先生 ペンギン先生

iptablesは長年使われてきたけど、IPv4用のiptablesIPv6用のip6tables、MACアドレス用のebtablesとバラバラだったんだ。nftablesはこれを一つに統合して、設定もずっとシンプルにしたんだよ。

ひよこ ひよこ

設定の書き方はどう違うの?

ペンギン先生 ペンギン先生

iptablesは「iptables -A INPUT -p tcp --dport 80 -j ACCEPT」のように長いコマンドを1行ずつ追加する方式だった。nftablesは「nft add rule inet filter input tcp dport 80 accept」のように、より自然な文法で書けるし、設定ファイルにまとめて書くこともできるよ。

ひよこ ひよこ

既存のiptablesのルールはどうなるの?

ペンギン先生 ペンギン先生

iptables-nft という互換レイヤーがあって、iptablesのコマンドをそのまま使いつつ裏側はnftablesで動かすことができるよ。移行期間として多くのディストリビューションがこの方式を採用しているんだ。

ひよこ ひよこ

実務で直接nftablesを触ることはある?

ペンギン先生 ペンギン先生

正直なところ、ufwやfirewalldといった上位のツールを通して使うことが多いかな。でもそれらの裏側で動いているのがnftablesだから、トラブル時に中身を理解していると強いよ。特にパフォーマンスが求められる環境では、nftablesのセット(集合)機能を使って何千ものIPアドレスを高速にフィルタリングできるのが大きな利点なんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「nftables」って出てきたら「iptablesの後継となるLinuxファイアウォール基盤」と思えればだいたいOK!
📖 おまけ:英語の意味
「nf tables (netfilter tables)」 = ネットフィルターテーブル
💬 Linuxのnetfilterフレームワーク上で動作するテーブル形式のフィルタだよ
← 用語集にもどる