iptables
不要なトラフィックをふるいにかけるフィルタリング機能であり、ファイアウォールツールのひとつ。
トラフィックのグループ
ローカルシステムのプロセス宛ての着信トラフィック。
このトラフィックを受け入れる前に、INPUTフィルタルールでテストする。
ローカルシステムから発信したトラフィック。
このトラフィックを送信する前に、OUTPUTフィルタルールでテストする。
ある外部システムから別の外部システムへのトラフィック。
このトラフィックをFORWARDINGフィルタルールでテストする。
INPUTルールとOUTPUTルールを適用するのは、システムがホストとして動作する場合。
FORWARDルールを適用するのは、システムがルータとして動作する場合。
これら3つの標準カテゴリに加えて、iptablesはユーザ定義のカテゴリを受け入れる。
iptablesのフィルタルールの定義
カテゴリごとのルールのリストを
Linuxカーネルは保持する。
ルールのリストはiptablesコマンドで管理する。
iptablesコマンドのオプション
~オプション |
~ 機能 |
-A |
ルールセットの終わりにルールを追加 |
-D |
ルールセットからルールを削除 |
-E |
ルールセットの名前を変更 |
-F |
ルールセットからすべてのルールを削除 |
-I |
ルールセットの特定の場所にルールを挿入 |
-L |
ルールセット内のすべてのルール一覧を表示 |
-N |
指定した名前でユーザ定義のルールセットを作成 |
-P |
チェーンにデフォルトポリシーを設定 |
-R |
チェーン内のルールを置換 |
-X |
指定したユーザ定義のルールセットを削除 |
-Z |
すべてのパケットとバイトカウンタをゼロにリセット |
標準ポリシー
ファイアウォールでパケットを通過させる。
パケットを破棄する。
ユーザ空間にパケットを渡して処理させる。
ユーザ定義のルールセットの場合、このルールセットを呼び出したルールセットに戻る。
3つのカーネルルールセットのいずれかの場合、チェーンを抜け出して、チェーンのデフォルトポリシーを実施する。
パラメータ
ルールを適用するプロトコルを特定する。protocolに、
/etc/protocolsファイルで定義した数値またはキーワード(tcp, udp, icmp)のどれかを指定する。
ルールを適用するパケットの発信元アドレスを特定する。addressに、
ホスト名、ネットワーク名、またはIPアドレスを指定する。
ルールを適用するパケットの発信元ポートを特定する。portに、/etc/servicesファイル
で定義した名前または値を指定する。ポートの範囲を、port:portという形式で指定できる。
特定のポート値を指定しなければ、すべてのポートが対象になる。
※おそらくsource の s。source address, source port
ルールを適用するパケットの宛先アドレスを特定する。addressに、ホスト名、ネットワーク名、
またはIPアドレスを指定する。
ルールを適用する宛先ポートを特定する。特定のポート宛のすべてのトラフィックにフィルタをかける。
パケットの発信元ポートに指定した値と同様の値を、portに指定する。
※おそらくdesitination の d。destination address, desitination port
ルールを適用するICMPタイプを特定する。typeに、有効なICMPメッセージタイプの値または名前を指定する。
ルールを適用する入力ネットワークインターフェースの名前を特定する。指定したインターフェース上で受信したパケットだけが、
ルールの影響を受ける。インターフェース名の一部だけを指定する場合は、最後を+で終える(例えば、eth+ と指定すると、ethで
始まるすべてのイーサネットインターフェースに一致する)。
※おそらくinput の i。input name
ルールを適用する出力ネットワークインターフェースの名前を特定する。指定したインターフェース上で発信したパケットだけが、
ルールの影響を受ける。インターフェース名の一部だけを指定する場合は、最後を+で終える。
※おそらくounput の o。output name
パケットがフラグメント化されている場合、2番目以降のフラグメントだけにルールを適用する。
参考文献
- TCP/IPネットワーク管理 第3版(著 Craig Hunt,監訳 村井 純, 土本 康生,訳 林 秀幸, 2003, オライリー・ジャパン, オーム社)
最終更新:2011年07月08日 08:16