如何使用 ipset 将单个国家的所有IP加入黑名单

joseph

&#9733 VIP

如何使用 ipset 将单个国家的所有IP加入黑名单

joseph

· · 244 次点击 ·
·
开始浏览    

这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
IPset 是 iptables 的扩展,它允许你创建匹配整个地址集合的规则,而不像普通的 iptables 链只能单IP或单网段匹配。
ipset 规则中的IP地址集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,从而减少系统资源占用或网络拥塞。IP sets 也具备一些新防火墙设计方法,并简化了配置。ipset 的官网:https://ipset.netfilter.org/

下面我们以一个实际场景为样例,介绍如何在Debian系统中,使用 ipset 将单个国家的左右 IP段 加入黑名单。

#### 准备工作:安装 ipset、或者网段列表

sudo apt-get -y install ipset
wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone #下载国家IP段,这里以cn为例
sudo ipset -N cnip hash:net
for i in $(cat ./cn.zone ); do sudo ipset -A cnip $i; done #将IP段添加到cnip规则中

#### 创建 iptables 规则

`sudo iptables -A OUTPUT -p tcp -m state –state NEW -m set –match-set cnip dst -j REJECT`

将以上规则配置为系统重启后,依然生效。

ipset save cnip -f /etc/iptables/ipset.conf #保存
iptables-save > /etc/iptables/iptables.conf #保存后请检查是否含有 -A OUTPUT -p tcp -m state –state NEW -m set –match-set cnip dst -j REJECT

#### 添加自动启动脚本

vim /etc/rc.local
#在exit 0之前添加以下两行,保存退出
sudo ipset restore -f /etc/iptables/ipset.conf
sudo iptables-restore < /etc/iptables/iptables.conf

然后重启系统,大功告成。

244 次点击  ∙  1 赞  
加入收藏

下一篇:DNSCrypt简明教程

回复

暂无回复

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/linux/33290.html

(0)
上一篇 2021年7月25日 22:38
下一篇 2021年7月25日 22:38

相关推荐

发表回复

登录后才能评论