文章目录
规则集类型
hash:net #创建网络规则集(可以是是网段 或者 IP)
hash:net,port #创建网络规则集,带端口,
基础用法
ipset create black_list hash:net #创建规则集
ipset add black_list 10.0.0.0/24 #给新加的规则添加IP段
ipset del black_list 10.68.22.1/24 #删除IP
ipset flush black_list #清空规则集black_list里的规则
#注意:centos6通过yum安装的ipset 版本是ipset 6.11 是没有 -f这个选项的,下面是centos6正确的使用方法
ipset save black_list > rule.txt
ipset restore < rule.txt
ipset save black_list -f rule.txt #将规则导出为文件
ipset restore -f rule.txt #将规则导入ipset
ipset destroy black_list #删除black_list规则集
ipset destroy #清除所有ipset规则集
ipset list (pset -L) #查看ipset现有规则集
灵活用法
#创建集合指定初始hash大小是4096,如果满了,这个hash会自动扩容为之前的两倍。最大能存储的数量是100000个
ipset create black_list hash:net,port hashsize 4096 maxelem 1000000
ipset add black_list 3.4.5.6,80 #指定端口80,但是没指定协议,默认是TCP
ipset add black_list 5.6.7.8,udp:53 #
ipset add black_list 1.2.3.4,80-86 #指定一个端口范围
ipset add black_list 123.123.123.0/24 #
ipset add black_list 123.123.123.0/30 nomatch #这是排除的意思(即将 123.123.123.0/30段从123.123.123.0/24里面排除)
iptables灵活调用方式
#黑名单用法(拒绝规则集里的地址)
iptables -I INPUT -m set --match-set black_list src -j DROP
#白名单用法(不拒绝规则集里的地址)
iptables -I INPUT -m set ! --match-set black_list src -j DROP
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论