iptablesコマンド
NetfilterはパケットフィルタやNAT(Network Address Translation)などとして動作するパケット転送の制御機能で、iptablesコマンドコマンドによって設定を変更することができる。iptablesコマンド自体はIPv4用で、IPv6では「ip6tables」コマンドを用いる。
パケットの宛先や送信元のIPアドレス、ポート番号などの条件に基づいて通過の可否を判断したり、正しく送信されたか検査して不正なものを破棄したり、送信元や宛先のアドレスを一定のルールに基づいて書き換えたりすることができる。
ルールの記述は、機能ごとに用意された「テーブル」(table)と、処理の段階を表す「チェーン」(chain)の組み合わせで指定する。テーブルはパケットフィルタを表す「filter」、アドレス変換を表す「nat」、特殊なパケット処理を表す「mangle」の3つが用意されている。
チェーンはパケットが機器に着信する段階である「PREROUTING」に始まり、機器を通過するパケットは「FORWARD」、機器内部への受信パケットは「INPUT」に分岐する。機器内部から発信するパケットは「OUTPUT」を通り、FORWARDを経た通過パケットと共に「POSTROUTING」を通して外部へ送信される。通常、filterテーブルはINPUT、FORWARD、OUTPUTで、natテーブルはPREROUTING、POSTROUTINGで構成される。
(2023.10.11更新)