CentOS4でiptablesをリスタートしたらsshが切られる

iptablesをリスタートしたらsshが切られる現象が起きまして。
最初は、テーブルの書き換え方がまずいのかな、と思ってはてなで聞いてみたりしていたのですが。

調べた末に、iptablesを終了した際にKernelPanic起こしていたことが分りました。

解決策については、おれ最前線ねっと – Kernel panicで書いていただいているとおり、Kernelを新しくするか、古くすればOKです。

問題なのは、このサーバは遠隔地にあるということで。
カーネルをアップデートしたら再起動しないといけないですけど、普通にやると終了時にKernelPanicを起こして、二度と上がってきません。

メールとか電話で再起動を依頼できるのですけど、必要以上に頼みたくないですし。

そんなわけで、Bug 456664の状況下で、KernelPanicせずにリブートを成功させる方法を見つけたのでメモです。

  • とりあえず普通にKernelをアップデート(または、grub.confを修正する)
  • /etc/sysconfig/iptables-configを開いて、IPTABLES_MODULES_UNLOAD を”no”にする

これで、iptablesの終了時にモジュールのアンロードをしなくなるので、KernelPanicせずにリブートさせることが出来ます。とりあえずこれで一回リブートしてkernelが変われば、あとは設定を元に戻してもiptablesをrestartさせることが出来るようになります。やれやれ。

#今回の調査のために10回くらい依頼したから、今さら一回くらい一緒なんですけどね。