iptables・nftablesルール解説(1行貼り付け)

iptablesやnftablesのルールを1行貼り付けると、テーブル・チェーン・操作・プロトコル・送信元/宛先・ポート・モジュール・ターゲットに分解して日本語の表で説明。未対応の要素は「未対応」と明示して読み飛ばしません。

1行ずつ解析して、下に表で表示します。解析できなかった要素は「未対応」として表に残します(黙って読み飛ばしません)。逆方向(日本語→ルール文字列)への変換は行いません。

先輩が書き残したiptablesの1行を前に、-mやら--dportやらが並んでいて読む気が失せた経験はありませんか。 もう触っていない環境のnftablesルールも、正直どこから読めばいいか分かりません。 このツールは、その1行を要素ごとに分解して、日本語の表にして見せます。

使い方

  1. iptablesまたはnftablesのルールを1行、上の欄に貼り付けます(複数行まとめてもOKです)。
  2. 入力と同時に、テーブル・チェーン・操作・プロトコル・送信元/宛先・ポート・モジュール・ターゲットに分解した表が出ます。
  3. 辞書にない要素は「未対応」の行として残ります。読み飛ばさず、自分で調べる対象として拾えます。

仕組み・計算式

iptablesのルールは、-A(追加)などの操作の後に、-p(プロトコル)や-s(送信元)のようなマッチ条件と、-m(追加モジュール)で拡張したマッチ条件、最後に-j(ターゲット)という処理内容が続く構造をしています。この構造はman iptables(8)のOPTIONS節に書かれているとおりです。このツールはスペース区切りでトークンに分解し、-m state --state NEWのような組を、既知のフラグ一覧と突き合わせて日本語に変換しています。

nftablesは書き方が違っていて、nft add rule <family> <table> <chain> <statement...>という並びです(man nft(8))。iptablesの-m state --state NEWに相当するものがct state newになるなど、対応関係を知らないと面食らいます。このツールのnftables対応は「簡易対応」で、tcp dportやct state、accept/drop/rejectなど代表的な文だけをカバーしています。

現場の落とし穴を一つ挙げると、-Aで追加したルールは既存ルールの末尾に足されるだけなので、それより前にあるDROPやREJECTの広いルールに先に引っかかっていれば、後から足したACCEPTルールは一生評価されません。ルール1行だけを見て「許可されているはず」と判断すると事故ります。試しにREJECTを含むルールを貼ると、--reject-withの値がそのまま表示されるだけで種別の説明までは持っていないことにも気づきました。未対応表示はこういうときのためのものです。

よくある質問

Q. 逆に日本語からiptablesのコマンドを組み立てられますか?

A. いいえ、このツールは解説専用で、逆方向の変換は行っていません。

Q. 「未対応」と出た要素は間違っているということですか?

A. いいえ、構文として間違っているとは限りません。単にこのツールの辞書に登録がないだけなので、man iptables-extensionsなどで意味を確認してください。

Q. -m multiport --dports 80,443のような複数ポート指定は対応していますか?

A. --dports自体は認識してカンマ区切りの値をそのまま表示しますが、値ごとの意味(範囲指定の:表記など)までは解釈していません。

関連ツール

最終更新・根拠の確認日: 2026-09-22 · カテゴリ: Linux・サーバー