■Etc‎ > ‎

krfilter

特定のアジアからのアクセスを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日も待てば数字が表示されるともう・・・
まぁ、無い方が良いのですが('~')
ċ
krfilter.zip
(1k)
mind simple,
2010/11/13 6:33