【アイピーテーブルズ】

iptables とは?

公開:
💡 Linuxサーバーを守る門番の指示書
📌 このページのポイント
iptables のチェーンとルール 外部通信 INPUT port 80 → ACCEPT port 443 → ACCEPT その他 → DROP サーバー Linux OUTPUT DNS → ACCEPT 全許可 ACCEPT(許可) DROP(破棄) REJECT(拒否) ルールは上から順に評価され、最初にマッチしたものが適用される
iptablesのチェーンとルールのイメージ
ひよこ ひよこ
iptablesってどういうものなの?
ペンギン先生 ペンギン先生
Linuxサーバーに届くネットワーク通信を『これは通してOK』『これはブロック』って振り分けるためのコマンドだよ。いわばサーバーの入口に立つ門番に指示書を渡すようなものだね
ひよこ ひよこ
どうやってルールを設定するの?
ペンギン先生 ペンギン先生
たとえば `iptables -A INPUT -p tcp --dport 80 -j ACCEPT` で『TCPの80番ポート(HTTP)への通信を許可する』というルールを追加できるよ。`-A` が追加、`-p` がプロトコル、`--dport` が宛先ポート、`-j` がアクション(許可/拒否)だね
ひよこ ひよこ
ルールの順番って大事なの?
ペンギン先生 ペンギン先生
すごく大事だよ!iptablesは上から順番にルールを評価して、最初にマッチしたルールが適用されるんだ。だから『全部拒否』のルールを先に書いちゃうと、その後に許可ルールを書いても通信が通らないよ
ひよこ ひよこ
設定したルールはずっと残るの?
ペンギン先生 ペンギン先生
実は再起動すると消えちゃうんだ。`iptables-save` でルールをファイルに保存して、起動時に `iptables-restore` で読み込む設定が必要だよ。Ubuntu なら `iptables-persistent` パッケージを入れると自動で保存・復元してくれるね
ひよこ ひよこ
nftablesっていう新しいのがあるって聞いたけど?
ペンギン先生 ペンギン先生
そうなんだ。nftablesはiptablesの後継で、ルール記述がシンプルになり、IPv4IPv6を統合的に扱えるのが特徴だよ。ただ、最新のLinuxでも内部的にiptablesの互換レイヤーが動いていることが多いから、iptablesのコマンド体系を知っておくことは今でもとても価値があるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「iptables」って出てきたら「Linuxファイアウォール設定コマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「IP Tables」 = IPテーブル(ルール表)
💬 IPパケットを振り分けるルールをテーブル(表)形式で管理するから、この名前なんだよ
← 用語集にもどる