【アイピーテーブルズ】
iptables とは?
最終更新:
💡 Linuxサーバーを守る門番の指示書
LinuxカーネルのIPv4パケット処理ルールを設定するコマンド。テーブルとチェーンにルールを追加し、通信の許可・破棄やアドレス変換などを設定する。IPv6用にはip6tablesがある。
📌 このページのポイント
INPUT・OUTPUT・FORWARDって何が違うの?
どうやってルールを追加するの?
最初に一致したルールで、必ず処理が終わるの?
実行する処理によるよ。ACCEPTやDROPならその判定で終了するので、先にDROPされるパケットは後ろの許可ルールへ届かない。一方、ログを記録するLOGなど、その後の評価を続ける処理もある。条件だけでなく、順番と処理の種類を合わせて見ることが大切なんだ。
設定したルールは、再起動後も残る?
コマンドで変更するだけでは、永続化したことにはならないよ。iptables-saveは現在のルールを出力し、iptables-restoreは保存した内容を読み込む。保存先や起動時に復元する仕組みは環境ごとに設定する必要があるので、利用しているディストリビューションや管理サービスを確認しよう。
iptablesとnftablesは、どういう関係なの?
iptables-legacyは従来の仕組みを使い、iptables-nftはiptables形式のコマンドをnf_tablesの仕組みに反映するよ。同じiptablesという名前でも、どちらを使うかは環境による。nftコマンドへ移行するときは、すべてがそのまま互換とは限らないので、使っているバックエンドとルール内容を確認するんだ。
📖 おまけ:英語の意味
「IP Tables」 = IPパケットのルールをまとめるテーブル
💬 IPパケットを扱うルールを、テーブルとその中のチェーンにまとめて管理するよ。iptablesはIPv4用、ip6tablesはIPv6用のコマンドだ。フィルタリングのほか、NATなどのテーブルもあるんだ。