RHEL5.6 をインストールすると、ip6tables の起動に失敗する。
RHEL5.6 から、インストール時に IPv6 を検出しない環境では IPv6 関連モジュールをロードしなくなったらしい。そのため ip6tables の起動時に ip6tables-restore がエラーになる。
でもこれ、格好悪いよね。動作的には無害だとしても、見た目がとにかく宜しくない。こういうのが放置される状況が信じられないが、RHEL5.7 でも直っていないところを見ると気にする方が変らしい。まあ確かに私が変なのは認めるけどな。
考えてもみれ。ユーザーから「サーバー起動時に何とか何とか ファイレド って赤くなるんだけど」とかいう電話を受ける人の気持ちを。その度に、「大丈夫です、それは 問題ないエラー なので無視してください」とか説明しなければならない人の気持ちを。
『問題ないエラーって何だよ。じゃあ「問題あるエラー」と「問題ないエラー」をどう区別すりゃいいのか教えてくれよ。まったく適当なこと言いやがって。使えねー』
私がユーザーの立場だったらそう思う。絶対に思う。とんだとばっちりだ。
まあ対処の方はスクリプトでも流して ip6tables の自動起動を off にすればいいとして、どうやって ip6tables が起動できないことを知るか。/etc/init.d/ip6tables をざっと見て、とりあえずこんな感じにしてみたら、
[ -n "`cat /proc/net/ip6_tables_names 2>/dev/null`" ] \
|| chkconfig ip6tables off
駄目だった orz。モジュールは動的にロードされるので、IPv6 環境 + ip6tables 停止中の場合は、RHEL5.5 以前であっても /proc/net/ip6_tables_name が存在しない。同じ理由で lsmod | grep ip6table_filter しても無駄。仕方がないので、実際に ip6tables-restore が動くかを試す。
echo -e '*filter\nCOMMIT' | ip6tables-restore --test >/dev/null 2>&1 \
|| chkconfig ip6tables off
ちなみに、RHEL6.2 では本現象は発生せず、正常に ip6tables が起動する。うん、それでいいと思う。そもそも RHEL5.6 で従来動作を変える意味が分からん。
追記: RHEL5.8 で直っていることを確認。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。