1319606416 iptablesを設定しようと思い、下記内容が書いたファイル(iptabels)作成


そしてservice iptables restart と実行したのですが下記のようなエラーが出てしまします。
「iptables ファイアウォールルールを適用中: iptables-restore: line 20 failed [失敗]」
このline 20 というのはCOMMITが書かれている行になります。
iptables -V でバージョンを調べたところ「iptables v1.3.5」でした。
OSはCentOS 5 32bitです。

お手数ですが、どなたかアドバイスいただけないでしょうか??

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:
  • 終了:2011/11/02 14:25:02

回答1件)

id:JULY No.1

回答回数966ベストアンサー獲得回数247

手元の CentOS 5.7 では、正常に動作します。


/etc/sysconfig/iptables の文法上の間違いであれば、COMMIT 以外のところでエラーが発生するはずなので、COMMIT 行でエラーになるのは、基本的には「何か使えない機能を使っている」可能性が高いです。


カーネル再構築後にiptablesでエラー - サラリーマンから起業するリアル

COMMIT で失敗するケースとして、-m で指定しているモジュールが存在していない場合があります。上記のページの方は、自分でカーネルをビルドする時に、これらのモジュールがビルドされていなかったので、ビルドされるように設定変更して再ビルドした、という話です。


ただ、実際に指定されている「state」「tcp」の各モジュールは、通常の CentOS であれば標準で入っているものなので、本来であればエラーにならないはずです。


ちなみに、iptables で -m を使って指定できるモジュールは /lib/iptables の下にあります。state モジュールであれば、libipt_state.so というファイルがモジュールの実体です。


試しに、COMMIT を途中に入れて、その COMMIT 以降の行をコメントアウトしてみる、というのを繰り返すと、原因のヒントが得られるかもしれません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません