Movatterモバイル変換


[0]ホーム

URL:


コンテンツにスキップ
Wikipedia
検索

nftables

出典: フリー百科事典『ウィキペディア(Wikipedia)』
この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。このテンプレートの使い方
出典検索?"Nftables" – ニュース ·書籍 ·スカラー ·CiNii ·J-STAGE ·NDL ·dlib.jp ·ジャパンサーチ ·TWL
(2025年12月)
この項目「Nftables」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "nftables" 2019年10月4日 (金) 20:01(UTC)
修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページ履歴も参照してください。2019年10月
nftables
作者The Netfilter project
開発元The Netfilter project
最新版
1.1.6[1] ウィキデータを編集 /2025年12月5日 (2か月前)
リポジトリウィキデータを編集
プログラミング
言語
C
対応OSLinux
種別パケットフィルタリング
ライセンスGNU GPL v2
公式サイトnetfilter.org/projects/nftables/ウィキデータを編集
テンプレートを表示
tc英語版Linuxカーネルのパケットスケジューラーに対して、Netfilter英語版に対するiptablesや、nftablesに対するnftのような関係のツールである。これらは全てLinuxカーネルサブシステムを構成するために使用されるユーザー空間ユーティリティーである。

nftablesは、パケット/データグラム/フレームパケットフィルタリングと分類機能を提供するLinuxカーネルのサブシステムである。2014年1月19日に公開されたLinux 3.13以降で利用可能である[2]

nftablesはNetfilter英語版の特定の部分のみを置き換え、それ以外の部分は維持および再利用することになっている。Netfilterに対するnftablesの利点は、フィルタリングルールを纏めることができる (重複コードを減らすことができる) ことと、スループットが高いことである。nftablesの設定はユーザー空間ユーティリティーnftを介して行うが、Netfilterではiptablesip6tablesarptables英語版およびebtablesフレームワークを介して設定を行う。

nftablesは、ネットワークスタックへの既存のフック、接続追跡システム、ユーザー空間のキューイングコンポーネント、ログサブシステムなどのNetfilterインフラストラクチャーの構成要素を利用している。

nft

[編集]

コマンドラインの構文

[編集]

宛先のIPアドレス1.2.3.4のパケットを破棄するnftのコマンドは、次のように書ける。

nftaddruleipfilteroutputipdaddr1.2.3.4drop

iptablesのコマンドの構文はnftとは異なり、次のようになる。

iptables-AOUTPUT-d1.2.3.4-jDROP

また、互換レイヤーが提供されており、バックエンドとしてnftablesを使用している場合でも、従来のiptablesのフィルタリングルールの構文でパケットフィルタリングを行うことができる。

歴史

[編集]

このプロジェクトは、NetfilterのコアチームのPatrick McHardyによってNetfilter Workshop 2008で公開された[3]カーネルおよびユーザー空間の実装の最初のプレビュー版は2009年3月に公開された[4]。nftablesは「2001年にiptablesが導入されて以降、Linuxのファイアウォールでの最大の変更点」と呼ばれているが、ほとんど報道されていない[5]。著名なハッカーであるFyodor Vaskovich英語版(Gordon Lyon)は「メインストリームのLinuxカーネルで公開されることを楽しみにしている。」と述べている[5]

2012年10月、Pablo Neira Ayusoがiptablesの互換レイヤーを提案し[6]、プロジェクトをメインストリームのLinuxカーネルに含める可能性を発表した。

2013年10月26日、Pablo Neira Ayusoは、nftablesの中核部分をメインストリームのLinuxカーネルにマージするためのプルリクエストを提出した[7]。このプルリクエストは2014年1月19日にマージされ、Linux 3.13として公開された[2]

概要

[編集]

nftablesカーネルエンジンはLinuxカーネルに単純な仮想マシンを追加する。この仮想マシンはバイトコードを実行して、パケットを検査することで、パケットの処理方法を決定することができる。この仮想マシンによって行われる操作の実装は意図的に基本的なものになっている。この仮想マシンはパケットからデータを取得し、関連するメタデータ (インバウンドインタフェースなど) を確認し、接続追跡データを管理することができる。算術演算子、ビット単位演算子および比較演算子を使用して、そのデータに基づいて決定を下すことができる。また、仮想マシンはデータセット (通常はIPアドレス) を操作できるので、複数の比較操作を単一のフィルタリングルールに置き換えることができる[8]

上記の内容は、iptablesのフィルタリングルールに反している。iptablesのフィルタリングルールではプロトコルを識別する機能が仕組みの奥深くに組み込まれているので、フィルタリングルールを4回(IPv4IPv6ARPおよびイーサネットブリッジ)呼び出す必要がある。これは、エンジンがプロトコル毎に固有であり、汎用的には使用できないからである[8]

iptablesに対するnftablesの主な利点は、LinuxカーネルABIの簡素化、重複コードの削減、エラーメッセージの改善およびフィルタリングルールのより効率的な実行、保存および増分変更である。従来使用されていたiptables(8)ip6tables(8)arptables(8)およびebtables(8)(それぞれIPv4、IPv6、ARPおよびイーサネットブリッジ用)は、単一の実装としてnft(8)に置き換えられる予定であり、カーネル内仮想マシン上にファイアウォール設定を提供する。

nftablesは単一のNetlink英語版トランザクション内で、1つ以上のファイアウォールルールのアトミックな置き換えができるように改良されたユーザー空間APIも提供する。これによって、大きなフィルタリングルールを持つファイアウォール設定の変更が高速化される。また、ルールの変更中に競合が発生することを避けるためにも役立つ。nftablesには以前のファイアウォールからの移行を容易にする互換性機能、iptablesのフィルタリングルールを変換するユーティリティー[9]、バックエンドとしてnftablesを使用している場合のiptablesのフィルタリングルールの互換構文が含まれている[10]

脚注

[編集]
  1. ^Pablo Neira Ayuso (2025年12月5日). “[ANNOUNCE nftables 1.1.6 release]”. 2025年12月8日閲覧。
  2. ^ab末岡洋子 (2014年1月21日). “Linuxカーネル3.13リリース、nftablesやブロックデバイスレイヤーの改良などが特徴”. OSDN Magazine. 2019年10月8日閲覧。
  3. ^User day program - NFWS2008”. The Netfilter project. 2017年6月30日時点のオリジナルよりアーカイブ。2019年10月8日閲覧。
  4. ^McHardy, Patrick (18 March 2009).“First release of nftables”.linux-netdev (Mailing list). 2019年10月8日閲覧.
  5. ^abPatrick Gray (2009年3月26日). “NEWS: Linux Gets New Firewall”. Risky Business. 2019年10月8日閲覧。
  6. ^Pablo Neira Ayuso (25 October 2012).“back on nf_tables (plus compatibility layer)”.netfilter-devel (Mailing list). 2019年10月8日閲覧.
  7. ^Pablo Neira Ayuso (14 October 2013).“netfilter updates: nf_tables pull request”.netfilter-devel (Mailing list). 2019年10月8日閲覧.
  8. ^abJonathan Corbet (2013年8月20日). “The return of nftables”. LWN.net. 2019年10月8日閲覧。
  9. ^Pablo Neira Ayuso (2016年7月13日). “src: add xt compat support”. 2019年10月8日閲覧。
  10. ^Arturo Borrero Gonzalez (2018年6月16日). “Netfilter Workshop 2018 Berlin summary”. 2019年10月8日閲覧。

関連項目

[編集]
ポータル FOSS
  • firewalld - バージョン0.6.0以降でnftablesをデフォルトのバックエンドとして使用している

外部リンク

[編集]
Linux
アプリ
ディストロ
BSD
アプリ
ディストロ
macOS
Windows
商用
フリーミアム
オープンソース
アプライアンス
https://ja.wikipedia.org/w/index.php?title=Nftables&oldid=107479195」から取得
カテゴリ:
隠しカテゴリ:

[8]ページ先頭

©2009-2026 Movatter.jp