ipset详解 使用ipset提高iptables的控制效率

Posted faberbeta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ipset详解 使用ipset提高iptables的控制效率相关的知识,希望对你有一定的参考价值。

ipset是通过IP集合的方式管理itables,

官方文档地址

https://ipset.netfilter.org/ipset.man.html

ipset的一个优势是集合可以动态的修改,??????????

ipset的安装

yum install ipset -y

 

ipset的配置

1. 命名(创建)一个新的ipset集合

# ipset -N myset nethash
或者
# ipset create myset hash:net


推荐下面的方式
ipset -N myset nethash timeout 259200 
#timeout 259200是集合内新增的IP有三天的寿命

 

 

2.把希望屏蔽的IP地址添加到集合中

# ipset add myset 14.144.0.0/12
# ipset add myset 27.8.0.0/13
# ipset add myset 58.16.0.0/15
或者添加一个timeout时间
ipset add test 192.168.0.1 timeout 3600
或者修改现存的ip timeout时间
ipset -exist add test 192.168.0.1 timeout 259200

 

3. 把新建的ipset集合丢到iptables里

# iptables -I INPUT -m set --match-set myset src -j DROP

上面的iptables命令用到了

 

4.其他知识

ipset默认可以存储65536个元素,使用maxelem指定数量

ipset create blacklist hash:net maxelem 1000000    #黑名单
ipset create whitelist hash:net maxelem 1000000    #白名单

查看已创建的ipset

ipset list

加一个IP到你的集合中

ipset add myset 1.2.3.4

移除一个你的集合中的IP

ipset del myset 1.2.3.4

ipset持久化

创建的 ipset 存在于内存中,重启后将会消失。要使ipset持久化,需要把他保存到一个文件中

例如

# ipset save > /etc/ipset.conf
# ipset save myset -f /etc/ipset_myset.txt

导入 ipset规则

ipset restore -f /etc/ipset_myset.txt

 

删除名为“myset”的集合。

# ipset destroy myset

删除所有集合。

# ipset destroy

 


 

以上是关于ipset详解 使用ipset提高iptables的控制效率的主要内容,如果未能解决你的问题,请参考以下文章

iptables一次性封多个ip,使用ipset 工具

Linux使用iptables设置黑白名单使用ipset工具

重启后使用 ipset 的规则

ipset和iptables配合来自动封闭和解封有问题的IP

Linux下使用 ipset 封大量IP及ipset参数说明

k8s网络原理-ipvs