特定のアジアからのアクセスをiptablesでブロックします。 krfilter - deny accesses from .kr を参考にしています。 下記はDebian以外では確認してません('~') ■krfilter.start作成 拒否したい国のデータは上記サイトの 【各国用フィルタのダウンロード】内のどれかを利用させて頂きます_(._.)_ # mkdir /etc/krfilter # cd /etc/krfilter # wget 各国用フィルタのいずれかをダウンロード # vi krfilter.start ------ ここから ------ #!/bin/sh iptables -N KRFILTER iptables -N KRFILTERED sh /etc/krfilter/(wgetで落としたファイル名) iptables -A KRFILTER -j ACCEPT iptables -A KRFILTERED -j LOG --log-prefix "Rej-TCP " iptables -A KRFILTERED -j DROP iptables -A INPUT -p tcp -m state --state NEW -j KRFILTER ------ ここまで ------ # chmod 755 krfilter.start # vi krfilter.stop ------ ここから ------ #!/bin/sh iptables -D INPUT 1 iptables -F KRFILTER iptables -X KRFILTER iptables -F KRFILTERED iptables -X KRFILTERED ------ ここまで ------ # chmod 755 krfilter.stop # vi /etc/init.d/krfilter ------ ここから ------ #!/bin/sh if [ ! -f /etc/krfilter/krfilter.start ]; then exit 0 fi if [ ! -f /etc/krfilter/krfilter.stop ]; then exit 0 fi case "$1" in start) echo "Starting firewall with the following config:" /etc/krfilter/krfilter.start echo "." ;; stop) echo "Stopping firewall with the following config:" /etc/krfilter/krfilter.stop echo "." ;; *) echo "Usage: /etc/init.d/ppp {start|stop|restart|force-reload}" exit 1 ;; esac exit 0 ------ ここまで ------ # chmod 755 /etc/init.d/krfilter サンプルはおいておきます。 ・起動 # /etc/init.d/krfilter start ・停止 # /etc/init.d/krfilter stop ■自動起動 # cd /etc/rc3.d # ln -s ../init.d/krfilter ./S99krfilter ■ログ確認 # dmesg | grep "Rej-TCP" | wc -l 1日も待てば数字が表示されるともう・・・ まぁ、無い方が良いのですが('~') |