dポイントプレゼントキャンペーン実施中!

CentOS6.5において、こちらのサイトhttp://centossrv.com/iptables.shtml を参考にiptablesのスクリプトを作成しました。

いざ sh iptables.shで実行しようとすると
iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ]
iptables: ファイアウォールルールを消去中: [ OK ]
iptables: モジュールを取り外し中: [ OK ]
iptables: ファイアウォールルールを適用中: Bad argument `ACCEPT'
Error occurred at line: 9
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[失敗]

と表示されます。
9行目付近は
1 #!/bin/bash
2
3
4 # デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設

5 IPTABLES_CONFIG=`mktemp`
6 echo "*filter" >> $IPTABLES_CONFIG
7 echo ":INPUT DROP [0:0]" >> $IPTABLES_CONFIG # 受信はすべて破棄
8 echo ":FORWARD DROP [0:0]" >> $IPTABLES_CONFIG # 通過はすべて破棄
9 echo ":OUTPUT ACCEPT [0:0]" >> $IPTABLES_CONFIG # 送信はすべて許可
10 echo ":ACCEPT_COUNTRY - [0:0]" >> $IPTABLES_CONFIG # 指定した国からのア> クセスを許可
11 echo ":DROP_COUNTRY - [0:0]" >> $IPTABLES_CONFIG # 指定した国からのア> クセスを破棄
12 echo ":LOG_PINGDEATH - [0:0]" >> $IPTABLES_CONFIG # Ping of Death攻撃は
ログを記録して破棄

とサイトと同じ内容になっています。
空白など無駄なものが挿入されていないか確認しましたがありませんでした。
解決できるようどうかお力添えをお願いします。

A 回答 (4件)

9行目はこれですね。


-A INPUT -s -j ACCEPT

元のサイトと見比べればわかると思いますが、$LOCALNET が空になっています。

前の方に、
LOCALNET=192.168.1.0/24
という行があると思いますが、あなたの書いた物にはこれが無いですよね?
この行の=の後のネットワークアドレスの部分をあなたの環境に正しく合わせて設定してください。

なにが正しい設定かわからないようだと、あなたにはまだ自分でサーバーを管理するスキルが無いと言うことなので、取りあえずサーバーをシャットダウンして、わかるまで起動しないでください。
    • good
    • 0
この回答へのお礼

なるほど。暫定の環境だったので消したのがいけなかったようです。
ありがとうございました。

お礼日時:2014/12/16 22:05

さっきのじゃわからないですよね。



$IPTABLES_CONFIG ファイルの中身を見たいわけですが、

あなたが見たサイトを見ると、最後の方で、
cat $IPTABLES_CONFIG > /etc/sysconfig/iptables
してるので、そこまで書いて実行したのなら、/etc/sysconfig/iptables の中身を見るといいです。

この回答への補足

丁寧にありがとうございます。

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:ACCEPT_COUNTRY - [0:0]
:DROP_COUNTRY - [0:0]
:LOG_PINGDEATH - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -s -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -f -j LOG --log-prefix "[IPTABLES FRAGMENT] : "
-A INPUT -f -j DROP
-A INPUT ! -s -p tcp -m multiport --dports 135,137,138,139,445 -j DROP
-A INPUT ! -s -p udp -m multiport --dports 135,137,138,139,445 -j DROP
-A OUTPUT ! -d -p tcp -m multiport --sports 135,137,138,139,445 -j DROP
-A OUTPUT ! -d -p udp -m multiport --sports 135,137,138,139,445 -j DROP
-A LOG_PINGDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT
-A LOG_PINGDEATH -j LOG --log-prefix "[IPTABLES PINGDEATH] : "
-A LOG_PINGDEATH -j DROP
-A INPUT -p icmp --icmp-type echo-request -j LOG_PINGDEATH
-A INPUT -d 255.255.255.255 -j DROP
-A INPUT -d 224.0.0.1 -j DROP
-A INPUT -j DROP_COUNTRY
-A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -m limit --limit 1/s -j LOG --log-prefix "[IPTABLES INPUT] : "
-A INPUT -j DROP
-A FORWARD -m limit --limit 1/s -j LOG --log-prefix "[IPTABLES FORWARD] : "
-A FORWARD -j DROP
COMMIT

このようになっています。

補足日時:2014/12/16 15:31
    • good
    • 0

>iptables-configはこのようにコメントアウトされています。



いや、そのファイルじゃなくて、
スクリプト中で
echo ~~~ >> $IPTABLES_CONFIG
で作っている $IPTABLES_CONFIG ファイルのことです。
    • good
    • 0

$IPTABLES_CONFIG ファイルの9行目ですね。

この回答への補足

7
8 # Unload modules on restart and stop
9 # Value: yes|no, default: yes
10 # This option has to be 'yes' to get to a sane state for a firewall
11 # restart or stop. Only set to 'no' if there are problems unloading netf ilter

iptables-configはこのようにコメントアウトされています。
こちらはインストール時から触ってないのですが間違っているのでしょうか?

補足日時:2014/12/16 00:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!