長南様 寺西です。ご協力、アドバイスありがとうございました。 > ともあれ、ルータが使えるようになったとのことなので、ちょっとお節介気味 > ですが、最初のメールで気になったことを書いておきます。 > > まず、/sbin/chkconfig --list iptables を実行してみてください。 > > $ /sbin/chkconfig --list iptables > iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off > > 上のように、2 3 4 5 あたりが on になっていたら、マシンの起動時に > /etc/rc.d/init.d/iptables start が実行されるようになっています。 > この場合、/etc/sysconfig/iptables が存在すれば、上記スクリプトの中で > iptables-restore が実行され、その設定が読み込まれます。 > 寺西さんがお作りになった rc.ip-masq は、その中で > /sbin/iptables-save > /etc/sysconfig/iptables をやっています(メールの > 原文では iptable になっていますが、スクリプトのコメントは iptables。 > iptables でしょうね)。そこで、再起動時からは /etc/rc.d/init.d/iptables が > /etc/sysconfig/iptables に書き出された設定を自動的に再現することになります。 /sbin/iptables-save > /etc/sysconfig/iptablesというコマンドで 再起動時に/etc/rc.d/init.d/iptables startを実行するわけですね。 起動時にiptablesの設定がロードされているのに、/etc/rc.d/rc.localに /etc/rc.d/rc.ip-masqを書くと再度rc.ip-masqに書かれたiptablesのスクリプト が実行され、結果的に2回iptablesの設定がロードされているというわけですね。 > /etc/sysctl.conf で net.ipv4.ip_forward = 1 になっていれば、必要ないはず)。 これはnetcfgのルーティングの設定のところでネットワークパケットフォワーディング (IPv4)をチェックすれば済みますね。 > # 細かいことですが、この場合、rc.ip-masq の「clear rules」部分で > # /sbin/iptables -F -t nat もやっておかないと、マスカレードの設定が > # 二重三重になってしまうのではないでしょうか。 > 起動時に /etc/rc.d/init.d/iptables を実行しないようになっている場合や、 > /etc/sysconfig/iptable( s がない)に設定を保存している場合は、もちろん > 別の話です。rc.ip-masq ですべてを設定してよいわけです。 > # ただし、この場合は、/etc/rc.d/init.d/network でネットワークが > # 起動してから、rc.local 経由で iptables の設定が有効になるまで、 > # ネットワークが無防備状態になるそうです。/etc/rc.d/init.d/iptables が > # 起動時に実行される場合、network よ先に実行されるようになっていることに > # 注目。 なるほど。勉強になりました。確かに2重に起動しても、エラーも出ませんし、 特に問題はありませんが、iptablesの実行される際のプロセスを理解出来ていな いことになり、それではいけませんね。ご教授ありがとうございました。 挙げて下さった文献を参考にもっと勉強します。 ありがとうございました。 -- ----------------------------- Kenji Teranishi (Itoh Lab.) Doctorate Course in Electrical & Electronics Enginnering Chiba Institute of Technology Tel +81-47-478-0363 / Fax +81-47-478-0379 email at g0274501@xxxxxxxxxxxxxxxxx