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命令用到了
- input链的知识
- -m 加模块的知识
- -m set --match-set myset(myset是你的ipset的名称)
- iptables的其他规则,如何src -j DROP
- 参考本博客的iptables教程https://www.cnblogs.com/faberbeta/p/iptables001.html
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的控制效率的主要内容,如果未能解决你的问题,请参考以下文章
Linux使用iptables设置黑白名单使用ipset工具
ipset和iptables配合来自动封闭和解封有问题的IP