iptables ipsetで海外からのアクセスを遮断
インストール
yum -y install ipset
iptablesに登録
cn, kr, ruを遮断。
cronで日次で更新すればいいのかな。
#!/bin/bash
ZONE_FILE_URL="http://www.ipdeny.com/ipblocks/data/countries"
ipset destroy BLACKLIST
ipset create BLACKLIST hash:net
for IP in $(wget -O - ${ZONE_FILE_URL}/{cn,kr,ru}.zone | grep -v "^#|^$" )
do
ipset add BLACKLIST $IP
done
iptables -A INPUT -m set --match-set BLACKLIST src -j DROP
確認
上のshを実行した後に変数が登録されているか確認。
ipset list BLACKLIST | less
iptables起動後に自動起動
iptablesを再起動すると、ipsetで設定した内容が削除される。
chkconfig ipset on
chkconfig --list ipset