« 書き込みを行うCGI | メイン | DNSサーバー »

2005年01月04日

ネットワークの構築:: iptablesの設定を追う

    

iptablesの設定を見てみると、元々あると思われるhttpの設定は次のようになっている。
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
しかし、自分で設定したのは次の通り。
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
なんか、少し違う。
気になるので、iptablesのManページを参考に意味を見ていく。
たぶん、次のような感じ。

-A RH-Firewall-1-INPUT :
選択されたチェインの最後に 1 つ以上のルールを追加する。送信元や送信先の名前が 1 つ以上のアドレスに解決された場合は、可能なアドレスの組合せそれぞれに対してルールが追加される。
この場合、選択されたチェインとはRH-Firewall-1-INPUT のこと。

-p tcp :
ルールで使われるプロトコル、またはチェックされるパケットのプロトコル。
この場合、TCPを使うってこと。

-m state :
state モジュールをロードする。
次の、--state NEWのために必要?

--state NEW :
接続追跡 (connection tracking) と組み合わせて用いると、パケットについての接続追跡状態を知ることができる。
NEWの接続状態は、このパケットが新しい接続を開始したか、双方向にはパケットがやり取りされていない接続に属するパケット。

--dport 80 :
送信先ポートまたはポート範囲の指定。
ポート80を指定。

-j ACCEPT :
ルールのターゲット、つまり、パケットがマッチした場合にどうするかを指定する。
ACCEPTなので、受け入れる。

----------------------
最初のルールはそんなところみたい。
で、RH-Firewall-1-INPUT がなぞだが、これはそれより前に、次のように定義されている。
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

INPUT と FORWARDの意味は次の通り。
INPUT : マシン自体に入ってくるパケットに対するチェイン
FORWARD : マシンを経由するパケットに対するチェイン

で、-j は前述の通り、次に来るターゲットに従う。
つまり、RH-Firewall-1-INPUTに従うってことで、さらにRH-Firewall-1-INPUT は、後でルールが定義されている。
間接的に定義しているってことか。
なら、-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT でも、問題なさそう。
たぶん、RH-Firewall-1-INPUT を使用することで、設定を一気に書き換えたり、切り替えたりする時に便利なんだろう。
まあ、とりあえず、今のままでいいや。



投稿者 Takenori : 2005年01月04日 10:26




comments powered by Disqus
Total : Today : Yesterday : なかのひと