Slackware 9.1でのiptables設定メモ
iptablesでカーネルに書き込んだだけでは再起動したときにルールは消えてしまいますで,
起動時に設定ファイルを読み込むようにします。
手順:
iptables-save コマンドを使って iptables のルールを特定のファイルに保存する
/etc/rc.d/rc.local ファイルにスクリプトを記述します。
最初に iptables コマンドを利用して設定します。(例)
#iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
のように記述します。次にこのルールを例えば/etc下に iptisch.rules のような名前で保存します。
保存する名前は上記例では iptisch.rules としましたが自分で分かる名前でしたらなんでもOK
ですし、保存する場所も必ずしも /etc 下の必要はありません。
#iptables-save > /etc/iptisch.rules
これでルールが /etc 下の iptisch.rules というファイル名で保存されました。
次に /etc/rc.d/rc.local ファイルに下記の行を追加します。
if [ -f /etc/iptisch.rules ]; then
/usr/sbin/ipchains-restore < /etc/iptisch.rules
echo 1 > /proc/sys/ipv4/ip_forward
fi
以上でOKです。確認するには再起動をして下記コマンドを実行します。
#iptables -L
このコマンドで再起動前のテーブルが読み込まれていればOKです。
設定されているルールの確認(インストール直後はルールは設定され ていないので、全てのパケットが通過する状態になる。
iptables -L
フィルタリングルールの消去/クリアー
iptables -F
デフォルトポリシーの設定
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
ブロードキャストパケットを破棄する
iptables -A INPUT -i eth0 -d 255.255.255.255 -j DROP
iptables -A INPUT -i eth0 -d 224.0.0.1 -j DROP
SSHの為に22番ポートをtcp通信の為に空ける
iptables -I INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT
synフラッド攻撃を拒否する
iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT