いこいの森

Think globally, Act locally!
 -Globis、IT、経営力を高める-

iptablesの設定 その1(Fedora5)

2007-05-19 | サーバ構築・環境設定

■iptablesの設定手順 LAST UPDATE 2007/05/18

※この内容はレノボ・ジャパンThinkPad R61e(2007年冬モデル) にFedora8をインストールした環境で動作を確認しています。

■はじめに
iptablesはパケットフィルタリングツールです。
Linuxをルータ代わりやFWとして利用する場合に利用します。

■iptablesを理解するための概念
(1)基本的な概念
iptablesを使うには、「テーブル」や「チェイン」などの概念を理解しておく必要があります。
iptablesには、3つの「テーブル」が用意されており、
それぞれ

①「filter」 ②「nat」 ③「mangle」と呼びます。

(1)テーブル
「filterテーブル」がデフォルトテーブルで、テーブルを指定せずにiptablesコマンドを使用した場合はこれが使われます。
また、テーブルによって使用できる「チェイン」が異なります。


◆各テーブルの組み込みチェイン
------------------------------
【テーブル】 :【使用するchain】
①filter     INPUT、FORWARD、OUTPUT
②nat        PREROUTING、OUTPUT、POSTROUTING
③mangle     PREROUTING、OUTPUT
------------------------------


(2)チェイン
「chain(チェイン)」と呼ばれるパケットをチェックするポイントがあります。
チェインは、パケットを検査する「ルール」のリストです。
各チェインでルールに適合するかを調べ、次のチェインにパケットを渡します。
このチェインのルールを変更・追加することでfilterテーブルやnatテーブルの設定が行われ、
これによってファイアウォールを構築するわけです。
natテーブルで使用するPREROUTING、OUTPUT、POSTROUTINGについては、NATの設定時にでも。


◆組み込みチェイン
------------------------------
INPUT  入力(受信)パケット
OUTPUT   出力(送信)パケット
FORWARD  フォワードするパケット
PREROUTING  受信時に変換するチェイン
POSTROUTING  送信時に変換するチェイン
------------------------------


◆下の図1の[ ] でくくった部分です。

図1

>>>インタフェース                                            インタフェース
    からの出力                                                   からの出力>>>
 IN---> [PRERUTING] --->ROUTING---> [FORWORD] ---> [POSTROUTING] --->OUT       
                                               |                                           ^
                                               |                                           |
                                              V                                           |
                                           [INPUT]                                  [OUTPUT]
                                               |                                           ^
                                               |                                           |
                                              V                                           |
                                 -----------------------------------------
                                 |                                                                   |
                                 |         Linux Local Pro                                 |
                                 |                                                                   |
                                 ------------------------------------------


上図からわかるようにパケットの送信元/送信先によって通るchainが異なります。

①Linuxがパケットの送信元の場合
"OUTPUT" ⇒ "POSTROUTING" の2箇所のchainを通ります。

②Linuxがパケットの送信先の場合
"PREROUTING" ⇒ "INPUT" の2箇所のchainを通ります。

③Linuxがパケットの送信元、及び送信先になっていない場合
"PREROUTING" ⇒ "FORWORD" ⇒ "POSTROUTING" の3箇所のchainを通ります。

【ポイント】
これらの各 chain に到達したパケットを許可(ACCEPT)、拒否(DROP)するほか、様々な処理をすることができます。

 

iptablesの設定 その2(Fedora5)


最新の画像もっと見る