スクリプト解説 3、4行目 メンテナンスホスト(trusthost)とサーバ(myhost)のIPアドレス指定。 5行目 不特定クライアント指定。 10、11行目 既存iptables設定リセット。 15行目 すべての送受信パケットを破棄(DROP)。 一旦ネットワークを塞いだ後、用途に応じて穴を開ける。 下記3種類のパケットを破棄。 送信先が受信したホスト自身であるパケット(INPUTチェイン) ホスト自身で生成されたパケット(OUTPUTチェイン) 受信したパケットの送信先が別のホストであるパケット(FORWARDチェイン) ※チェイン:フィルタルールを集めてモジュール化したもの ※-P INPUT:INPUTチェインで定義されたパケットの破棄(DROP)を指定。 16行目 「-P OUTPUT」:OUTPUTチェインの破棄を設定。 17行目 「-P FORWARD」:FORWARDチェインの破棄を設定。 21、22行目 ループバックインターフェイスを経由するすべての送受信パケットの通過を許可。 「-i」で受信側インターフェイス、「-o」で送信側インターフェイスを指定。 サーバからサーバ自身へのローカル接続をすべて許可。 26、27行目 メンテナンスホストからサーバへのpingを許可するルールの追加。 pingは、「request」(26行目)とそれに答える「reply」(27行目)が対で必要。 31、32行目 サーバからメンテナンスホストへのpingを許可するルール。 送信と受信が入れ替わるため、26、27行目におけるソースホスト(「-s ホストまたはネットワーク」)とディスティネーションホストの指定(「-d ホストまたはネットワーク」)、INPUT/OUTPUTチェインが入れ替わっている。 36、37行目 sh設定。ソースIPアドレスだけで制限。 「-p tcp」:プロトコル、TCP「-s $trusthost」:ソースIPアドレス、$trusthost「-d $myhost」:ディスティネーションIPアドレス、$myhost「–dport 22」:ディスティネーションポート、22「–sport 22」:ソースポート、22「-j ACCEPT」:許可 43行目 無効パケットの破棄(DROP)を指定。 ログ出力の後に破棄。 44、45行目 INPUTおよびOUTPUTチェインに対しこのLOGGINGが行われるように設定。 参考 連載記事 「習うより慣れろ! iptablesテンプレート集」