

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
iptables-nftとは?
iptables-nftは、Linuxのファイアウォール設定を行う道具のひとつです。名前にある iptables-nft は、実際には nftables という新しい仕組みをバックエンドに使い、従来の iptables のコマンド感覚でルールを作れるようにする「互換性のあるツール」です。
2020年ごろから多くの Linux ディストリビューションで nftables が推奨されるようになりましたが、古いスクリプトや習慣には iptables の書き方を使い続けたい人もいます。そこで iptables-nft が登場しました。これを使えば、これまでの iptables のコマンドを nftables ベースのバックエンドで実行し、同じ感覚でファイアウォールを構築できます。
iptables-nftと nftables の関係
nftables は、iptables の後継として作られた新しいファイアウォールフレームワークです。ルールの書き方が少し変わることもある一方で、iptables-nft は「iptables の書き方をそのまま使えるようにする橋渡し」です。つまり、従来の iptables のコマンドを使いながら、実際には nftables の仕組みが動いています。
基本的な使い方の考え方
使い方のポイントは、ルールの「チェーン」と「テーブル」という箱の概念を理解することです。テーブルはルールの集合を入れる箱、チェーンはパケットの流れを処理する道順です。INPUT・OUTPUT・FORWARD などのチェーンが代表的です。iptables-nft ではこの考え方を、そのままコマンドにも反映させています。
代表的なコマンドと例
| コマンド | 意味・用途 |
|---|---|
| iptables-nft -L | 現在のルールを一覧表示します。 |
| iptables-nft -A INPUT -p tcp --dport 22 -j ACCEPT | SSH 通信を許可する例です。新しい接続を許可します。 |
| iptables-nft -P INPUT DROP | INPUT チェーンのデフォルト動作を拒否にします。新しいパケットはすべて落とされます。 |
インストールと基本設定の一例
多くの Linux ディストリビューションでは、次のようにして iptables-nft を導入します。sudo apt-get update の後に sudo apt-get install iptables-nft を実行するのが一般的です。Red Hat 系なら sudo dnf install iptables-nft となることがあります。インストール後は再起動や再ログインが必要になる場合があります。
インストールができたら、まずは小さなルールから始めましょう。例えば、リモートからの SSH のセッションを安全な状態で許可し、他は拒否するような基本形を作ると良いです。
実践演習の例
自分の家のサーバーを想定して、ウェブを公開する場合の最小限のルール例を紹介します。以下のルールは「初期設定で安全性を確保しつつ、必要な通信だけを許可する」イメージです。
| ルール | 意味 |
|---|---|
| iptables-nft -A INPUT -i lo -j ACCEPT | ループバックインターフェースからの通信を許可 |
| iptables-nft -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT | 既に確立した接続のパケットを許可 |
| iptables-nft -A INPUT -p tcp --dport 80 -j ACCEPT | Webの標準ポートを許可 |
| iptables-nft -A INPUT -p tcp --dport 443 -j ACCEPT | HTTPSを許可 |
| iptables-nft -P INPUT DROP | その他は全て拒否 |
実務での注意点
ファイアウォールの設定を変えると、サーバーに自分でアクセスできなくなるリスクがあります。作業するときは、必ず別の接続経路(コンソールなど)を用意しておくと安心です。設定をすぐに反映させたい場合には、ルールを一つずつ追加し、動作を確認しながら進めてください。テスト用の環境で先に試すのもおすすめの方法です。
用語の定義
- テーブル:ルールを格納する「箱」のこと。複数のチェーンを含みます。
- チェーン:パケットを処理する順序の集合。INPUT・OUTPUT などがあります。
- バックエンド:実際の処理を担う部分のこと。iptables-nft は nftables をバックエンドに用います。
まとめ
iptables-nft は、従来の iptables の感覚を保ちつつ、現代の nftables を使って firewall を管理する便利なツールです。初心者でも基本を押さえれば、ルールの追加や変更を安全に行うことが可能です。最初は簡単なルールから始めて、慣れてきたら複雑な条件やログの取り方にも挑戦してみましょう。
iptables-nftの同意語
- iptables-nft
- nftables ベースのバックエンドを使って、iptables コマンドを nftables 上で実行可能にする互換実装。
- nftables ベースの iptables 互換バックエンド
- nftables をバックエンドとして採用する、iptables の互換機能。
- iptables の NFT 互換モード
- iptables コマンドを nftables 互換の挙動で動作させるモード。
- NFT バックエンドを使う iptables
- iptables が NFT バックエンドを利用して動作する構成。
- iptables-nft 互換バックエンド
- iptables-nft が提供する nftables 互換バックエンド。
- iptables-nft のバックエンド機能
- iptables-nft が提供する nftables バックエンド機能の総称。
- nftables へのiptables の橋渡し
- iptables のルールを nftables へ適用・橋渡しする仕組み。
- iptables-nft 実装
- nftables 互換を実現する iptables-nft の実装側の意味合い。
- iptables-nft (NFTバックエンド)
- iptables の NFT バックエンドとしての iptables-nft の表現。
iptables-nftの対義語・反対語
- nftables直接運用
- iptables-nftはiptablesの互換層として、nftablesをバックエンドに使います。対義語として、nftablesを直接使用する運用を指します。具体的にはnftコマンドでテーブル・チェーンを管理する形です。
- iptables-legacy
- 旧来の、ネイティブのiptablesバックエンドを使う運用。iptables-nftがnftablesバックエンドを使うのに対して、従来型のバックエンドを選ぶケースを指します。
- firewalld
- daemon型のファイアウォール管理ツール。iptables-nftのような直接的なルール編集ではなく、ゾーンやサービスベースで動的に管理します。
- ufw
- 簡易なインターフェースでファイアウォールを設定するツール。初心者向けの手軽さを重視する対義的な運用です。
- nftコマンド
- nftコマンドは nftables の公式CLI。iptables-nftの対義語として、直接nftablesを操作する場合に使います。
- ファイアウォール無し
- ファイアウォールを使わない設定。セキュリティ防御を欠く対概念として挙げられます。
iptables-nftの共起語
- nftables
- Linuxの新世代のパケットフィルタ機能で、iptables-nftはこのバックエンドを利用して動作します。従来のiptablesと互換性を保ちながら、より柔軟で高速なルール管理を提供します。
- netfilter
- カーネル内のパケット処理フレームワーク。iptables-nftはnetfilterのAPIを介してルールを適用します。
- iptables-nft
- iptablesコマンド互換のCLIで、バックエンドにnftablesを使用する形態。従来のiptablesの感覚で使えつつ、現代的な機能を活用できます。
- iptables-legacy
- 従来のiptablesバックエンド。iptables-nftへの移行対象として比較されることがあります。
- nft
- nftablesのコマンドラインツール。iptables-nftは内部でこのバックエンドを活用します。
- kernel
- Linuxカーネル。netfilterやiptables-nftはカーネル機能に依存します。
- Linux
- Linuxオペレーティングシステム。サーバーやデスクトップでファイアウォール設定に使われます。
- firewall
- 不正な通信を遮断する防御機構。iptables-nftはその実装の一つです。
- rule
- 1つの適用規則。条件とアクションを組み合わせてパケットを処理します。
- rules
- 複数のルールを集めた集合。テーブルとチェーンごとに管理します。
- table
- ルールを分類する枠組み。代表的なものに filter、nat、mangle、raw などがあります。
- filter
- デフォルトのパケット通過を決定するテーブル。主に許可/拒否の基本ルールを扱います。
- nat
- Network Address Translationを扱うテーブル。アドレス変換(DNAT/SNAT、MASQUERADEなど)を定義します。
- mangle
- パケットの変更やマーク付けなど、詳細な操作を行うテーブル。
- raw
- 特殊な前処理を記述するテーブル。特定の条件で素早く処理したい場合に使われます。
- security
- セキュリティ関連の拡張領域や概念。必要に応じて利用します。
- INPUT
- 受信パケットに適用されるチェーン。
- OUTPUT
- 送信パケットに適用されるチェーン。
- FORWARD
- ルータ機能を持つ場合の転送パケットに適用されるチェーン。
- PREROUTING
- ルーティング決定前に適用されるチェーン。
- POSTROUTING
- ルーティング決定後に適用されるチェーン。
- ACCEPT
- パケットを通過させるアクション。
- DROP
- パケットを破棄するアクション。
- REJECT
- 拒否応答を返してパケットを破棄するアクション。
- LOG
- パケット情報をログに記録するアクション。
- MASQUERADE
- 動的なNATで送信元アドレスを偽装する操作。主にLAN→インターネットの出力で使用。
- DNAT
- 宛先アドレスを書き換えるNATの操作。
- SNAT
- 送信元アドレスを書き換えるNATの操作。
- conntrack
- コネクション追跡機能。状態を管理してRELATED/ESTABLISHEDなどを扱います。
- ESTABLISHED
- すでに確立済みの接続を意味します。
- RELATED
- 関連する新規接続を含めた状態を扱います。
- NEW
- 新しい接続の試みを指します。
- state
- 状態マッチャー(state/conntrack)。
- tcp
- TCPプロトコルを対象としたマッチ条件。
- udp
- UDPプロトコルを対象としたマッチ条件。
- icmp
- ICMPプロトコルを対象としたマッチ条件。
- dport
- 宛先ポートを指定するマッチ条件。
- sport
- 送信元ポートを指定するマッチ条件。
- src
- 送信元アドレスの指定。
- dst
- 宛先アドレスの指定。
- IPv4
- IPv4アドレス・ルールの適用対象。
- IPv6
- IPv6アドレス・ルールの適用対象。
- iptables-save
- 現在のルールをファイルに保存するコマンド。
- iptables-restore
- 保存したルールをファイルから復元するコマンド。
- migration
- iptables-legacyからiptables-nftまたはnftablesへの移行作業。
- compatibility
- 互換性を保つための設計思想。旧規格との共存を支援します。
- conversion
- 既存のiptablesルールをnftables/iptables-nftで動作させるための変換作業。
- nft-backend
- nftablesバックエンドを指す表現。iptables-nftはこれを利用します。
- syntax
- iptablesとnftablesの記法・構文の違いを理解するポイント。
- iptables
- 従来のiptablesコマンド。iptables-nftはこのコマンドの互換実装です。
- ip6tables
- IPv6用のiptables互換コマンド。IPv6のルール管理に使います。
- interface
- ネットワークインターフェース名(例: eth0、enp3s0)。
- logging
- パケットの動作をログに残す設定や機能。
iptables-nftの関連用語
- iptables-nft
- iptablesコマンドの機能をnftablesバックエンドで実現する互換レイヤー。従来のiptablesルールをそのまま利用できるよう、iptables風の操作感を提供します。
- nftables
- Netfilterの新世代バックエンド・フレームワーク。テーブル・チェーン・ルール・セット・マップ・表現式を組み合わせてルールを作成する、柔軟で拡張性の高い設計です。
- nft
- nftablesを操作するためのコマンドラインツール。ルールの追加・編集・表示などを行います。
- iptables-legacy
- 従来のiptablesバックエンドを指す名称。古いNetfilter実装で動作するiptables系の実装です。
- netfilter
- カーネル内部のパケット処理・ファイアウォール・NATなどを司る基盤となるフレームワーク。
- nf_tables
- nf_tablesはNetfilterの新しいバックエンドを指す名称。nftablesやiptables-nftがこのバックエンドを利用します。
- conntrack
- 接続追跡機構。状態(NEW/ESTABLISHED/RELATED/INVALID)を把握し、状態に応じたルール適用を可能にします。
- NAT
- Network Address Translationの略。内部と外部のIPアドレスを変換して、複数端末でのインターネット接続を可能にします。
- SNAT
- Source NAT。送信元アドレスを別のアドレスに書き換えるNATの一種です。
- DNAT
- Destination NAT。宛先アドレスを別の内部アドレスへ書き換えるNATの一種です。
- MASQUERADE
- 動的なSNATの一種。外部インターフェースのIPを動的に使用してNATを行います。
- NAT table
- NAT関連のルールを格納するテーブル(チェーンやルールを含む)。
- inet
- IPv4とIPv6のデュアルスタックを扱えるファミリー。table inet で使用します。
- ip
- IPv4専用のファミリー。table ip で使用します。
- ip6
- IPv6専用のファミリー。table ip6 または table inet で使用します。
- chains
- ルールの集合をグループ化する枠組み。パケットがどのチェーンを経由するかを決定します。
- rules
- パケットに対して適用する条件と動作を定義する最小単位。マッチ条件とアクションを組み合わせます。
- sets
- ルール内で再利用できる、IPアドレス列やポート番号などの集合データ構造。
- maps
- キーと値の対応関係を表すデータ構造。ルール内で動的参照に使用します。
- expressions
- ルールを構成する基本的要素。比較・計算・ペイロード参照などを組み合わせて判定を作ります。
- verdicts
- ルール適用後の結末。一般にACCEPT、DROP、REJECT、CONTINUE等を指します。
- accept
- パケットを許可して処理を継続/通過させる verdict。
- drop
- パケットを破棄して処理を終了させる verdict。
- reject
- パケットを拒否し、拒否通知を返す verdict。
- log
- マッチしたパケット情報をログに記録します。デバッグや監視に活用。
- counter
- ルールがマッチした回数をカウントする機能。統計取得に便利。
- iifname
- 入力インターフェース名でマッチさせる条件。
- oifname
- 出力インターフェース名でマッチさせる条件。
- ct state
- conntrackの状態でマッチさせる条件。
- NEW
- 新規の接続として扱われる状態。
- ESTABLISHED
- 既に確立している接続の状態。
- RELATED
- 新しい関連接続を代表する状態。



















