Linux使用ipset禁止国外Ip访问
首先要有工具:
apt install ipset
创建一个名为cnip的规则
ipset -N cnip hash:net
下载国家IP段
curl https://www.ipdeny.com/ipblocks/data/countries/cn.zone >cn.zone.txt #这里是中国的
将IP段添加到cnip规则中
for i in $(cat cntest.txt ); do ipset -A cnip $i; done
把cntest.txt里的网络放开,其他全drop掉:
iptables -A INPUT -p tcp --dport 80 -m set --match-set cnip src -j ACCEPT解除屏蔽
#-D为删除规则
iptables -D INPUT -p tcp -m set --match-set cnip src -j DROP
以后开放某网段时直接ipset add cnip 1.0.0.0/8就可以了,Iptables不用动.