Debianのiptables設定

Debianでiptablesの設定をしていてふと/etc/init.d/iptables saveしてみると/etc/init.d/iptablesはそんざいしないと言われてしまった。Debianからは削除されてしまったらしい。ということで友人が「stop」「save」で保存「start」「restore」で設定の読み込みをするスクリプトを作ってくれたのを頂いた。快く許可してくださり以下にiptablesの設定方法と共に記載する。まずは設定方法。

<code>
$ su
# iptables -P INPUT ACCEPT
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -F# iptables -A INPUT -p icmp -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
</code>

これでいったん全部許可し、「ping」と自分自身からの接続を許可したことになる。
続いてポートごとに許可をしていく。
必要なら個別に追加しいらないものは削除してほしい。

<code>
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT    //http
# iptables -A INPUT -p tcp --dport 443 -j ACCEPT   //https
# iptables -A INPUT -p tcp --dport 548 -j ACCEPT   //netatalk
# iptables -A INPUT -p tcp --dport 21 -j ACCEPT    //FTP
# iptables -A INPUT -p tcp --dport 110 -j ACCEPT   //POP
# iptables -A INPUT -p tcp --dport 25 -j ACCEPT    //SMTP
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT    //SSH
</code>

そして応答とデータを許可しその他をすべて拒否する。

<code>
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -P INPUT DROP
</code>

これでOK。

しかしこのままでは再起動すると設定が削除されてしまいます。
ここで友人にもらったスクリプトを使います。

<code>
# vi /etc/init.d/iptables
</code>

とスクリプトを新規作成し、以下のように記述し保存します。

<code>
#!/bin/bash
start(){
iptables -F
iptables-restore  /etc/iptables.save
return 0
}

case "$1" in
start)
start
;;
stop)
stop
;;
save)
stop
;;
restore)
start
;;
restart)
stop
start
;;
esac

</code>

注意:これは保存と読込をするだけであって実際にiptablesの起動や終了はしません。
そして、パーミションの変更と登録、そして設定の保存。

<code>
# chmod 755 /etc/init.d/iptables
# update-rc.d iptables defaults 18
# /etc/init.d/iptables save
</code>

これで再起動したときも自動で設定ファイルが読み込まれます。

One Comment

  1. debian ファイアウォール設定

    ファイアウォールの設定がまだだったのでやっておく

    iptables

    以下rootにsuしてから行う

    # iptables -P INPUT ACCEPT
    # iptables -P FORWARD DROP
    # iptables -P OUTPUT ACCEPT

    FORWARD以外まずはACCEPT

    # iptabl…

コメントを残す

メールアドレスが公開されることはありません。

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*