iptablesで日本以外の国別IPを締め出したい

soutahirose 30views 更新:2017年10月11日

上記のスクリプトを以下に示すのですが、このスクリプトだとAWSの東京リージョンのIPレンジがカバーできません。jpコマンドを使用して増やすと良いかもしれません

#!/bin/sh

IPLIST=cidr.txt

iptables -F
iptables -X

iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

wget http://nami.iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -j ACCEPT

if [ -z "$1" ]; then
  date=`date -d '1 day ago' +%Y%m%d`
else
  date="$1"
fi

if [ -e $IPLIST ]; then
    mv $IPLIST "${IPLIST}_${date}"
fi

wget http://nami.jp/ipv4bycc/$IPLIST.gz
gunzip -d $IPLIST.gz

sed -n 's/^JP\t//p' $IPLIST | while read ipaddress; do
    iptables -A INPUT -s $ipaddress -j ACCEPT
done

iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT DROP] : '
iptables -P INPUT DROP

#/etc/init.d/iptables save #設定を保存する場合にはコメントアウトを取る

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません