ipset是iptables的扩展,它允许你创建匹配整个IP地址集合的规则。可以快速的让我们屏蔽某个IP段。这里分享个屏蔽指定国家访问的方法,有时候还可以有效的帮网站阻挡下攻击。
方法
首先需要得到国家IP段,下载地址:http://www.ipdeny.com/ipblocks/。这里以我们国家为例。
1、安装 ipset
#Debian/Ubuntu 系统
apt-get -y install ipset
#CentOS 系统
yum -y install ipset
2、创建规则
#创建一个名为 cnip 的规则
ipset -N cnip hash:net
#下载国家 IP 段
wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone
#将 IP 段添加到 cnip 规则中
for i in $(cat /root/cn.zone ); do ipset -A cnip $i; done
3、开始屏蔽
iptables -I INPUT -p tcp -m set –match-set cnip src -j DROP
4、解除屏蔽
#-D 为删除规则
iptables -D INPUT -p tcp -m set –match-set cnip src -j DROP
正文完