アプリ版:「スタンプのみでお礼する」機能のリリースについて

基本的なことで大変申し訳ないのですが、Linuxのiptablesを設定する際のRH-Firewall-1-INPUTとはなんでしょうか?似たような意味(?)の

INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING

に関してはググるとすぐに明解に意味が書かれているサイトをいくつか発見出来るのですが、iptablesの書き方の例によく記載されているRH-Firewall-1-INPUTのみ、なぜか明確に意味が書かれているサイトを見つけられませんでした。

RH-Firewall-1-INPUTは、一体どのような意味を持ったものなのでしょうか?

A 回答 (1件)

INPUT


OUTPUT
FORWARD
などは、ご存じのとおりiptablesのチェーン名として意味のある単語ですが、
「RH-Firewall-1-INPUT」は、適当につけたラベル名です。

この文字列はどんなものに変更しても大丈夫です。
たとえば
「MY-FIREWALL-SETTINGS」
なんかでも大丈夫です。

ではなぜラベル名なんかを定義しているかというと、
一般的にはINPUTチェーンとFORWARDチェーンには、
設定として全く同じものを定義します。

たとえば、HTTPを許可する場合は、
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A FORWARD -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
というように2つ分記述する必要があります。

ただ、これですと、INPUT側を変更したら、FORWARD側も変更しないといけなくなってしまい、ミスを誘発しやすくなってしまいます。

そこで、適当な名前で作った別のチェーンを作成しておいて、INPUTもFORWARDも、どちらもその新しいチェーンへ無条件に飛ばしてしまい、本当のルールは新しく作ったチェーン(この場合、RH-Firewall-1-INPUT)内でやれば、ルールの記述は1回で済みますね。

/etc/sysconfig/iptables を見てみるとこんな記述があると思います。

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT

上記の記述を上から順に訳していきますと、

INPUTチェーンの定義
FORWARDチェーンの定義
OUTPUTチェーンの定義
RH-Firewall-1-INPUTチェーンの定義
INPUTチェーンに来たものはすべて無条件にRH-Firewall-1-INPUTチェーンへ転送する
FORWARDチェーンに来たものはすべて無条件にRH-Firewall-1-INPUTチェーンへ転送する

となります。
つまり、これでINPUTとFORWARDがRH-Firewall-1-INPUTチェーンで束ねられたことになります。

さらに/etc/sysconfig/iptables を見ていくと、以下のようになっていると思います。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

これは、RH-Firewall-1-INPUTチェーン内のルール設定で、
外部からの80番と8080番ポートへのアクセスを許可するように設定しています。

そして最後の行の
「-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited」
によって、RH-Firewall-1-INPUT チェーン内のどのルールにもマッチしなかったパケットは、
icmp-host-prohibitedエラーを返すように設定しています。
つまり上記の場合、80番でも8080番でもない宛先ポートのパケットは全部エラーになるということになります。
    • good
    • 0
この回答へのお礼

なるほど、理解出来ました。分かりやすい説明ありがとうございます!

お礼日時:2011/09/10 18:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!