物料准备:获得国家ip段,地址:http://www.ipdeny.com/ipblocks/

  1. 安装 ipset
  • Debian或ubuntu:
    apt-get -y install ipset
  • centos:
    yum -y install ipset
  1. 创建规则
#创建一个名为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
  1. 开始屏蔽

iptables -I INPUT -p tcp -m set --match-set cnip src -j DROP

  1. 解除屏蔽
    #-D为删除规则 iptables -D INPUT -p tcp -m set --match-set cnip src -j DROP

参考文章: