シェルスクリプトを利用して、iptablesに特定のIPを拒否するスクリプト
シェルスクリプトの引数に特定のIPを指定して、そのIPをF/Wに追加する
iptablesのF/Wで特定のIPアドレスを拒否(DROP)したい場合に、その都度コマンドを入力するのが面倒なので、シェルスクリプトで引数に拒否したいIPアドレスを指定して、そのIPアドレスをiptablesで拒否(DROP)するシェルスクリプトを作りました
以下のシェルスクリプトが、引数に指定したIPアドレスをiptablesで拒否するIPアドレスに追加するシェルスクリプトです。
途中で引数で指定したIPアドレスが間違っている可能性もあるので、「Enter」キーを押さないと先に進まないようにしています。途中で処理を中止したい場合は「Ctrl」+「C」で処理を止めることができます
$ vim iptables_drop.sh #!/bin/bash if [ $# -ge 1 ]; then IPADDR=$1 else echo "usage ./iptables_drop.sh [ip address]" exit fi echo "iptables -I INPUT -s $IPADDR -j DROP" echo "iptablesに${IPADDR}を拒否する為に上記のコマンドを実行します" echo "宜しければ「Enter」キーを押してください" read Wait iptables -I INPUT -s $IPADDR -j DROP /etc/rc.d/init.d/iptables save iptables -nL INPUT --line-numbers | head
上記のシェルスクリプトに実行権限を与えてシェルスクリプトが実行できるようしています。
シェルスクリプトを実行するには「ファイル名(iptables_drop.sh) 「拒否するIPアドレス」とすれば、指定したIPアドレスがiptablesで拒否されるようになります
$ sudo chmod +x iptables_drop.sh $ sudo ./iptables_drop.sh 192.168.10.200
ディスカッション
コメント一覧
まだ、コメントがありません