Linux (CentOS)Ipset

Linux (CentOS)Ipset数据集合

  • ipset是iptables的扩展,允许你创建匹配整个地址sets(地址集合)的规则。而不像普通的iptables链是线性的存储和过滤,ip集合存储在带索引的数据结构中,这种集合比较大也可以进行高效的查找。在许多的linux发布中ipset是一个简单的安装包,可以通过linux发行版提供的yum进行安装
  • 参数

 

参数                                 |    说明
list                                |    查看ipset所有集合 + SETNAME 查看指定ipset集合
create SETNAME [存储类型:数据类型]   |    创建ipset集合
add                                 |    追加/添加ipset集合数据
flush                               |    清空ipset所有集合 + SETNAME 清空指定ipset集合
destroy                             |    删除ipset所有集合 + SETNAME 删除指定ipset集合
save                                |    保存ipset所有集合 + SETNAME 保存指定ipset集合
save > [文件名称]                    |    将ipset所有集合持久化至指定文件,+ SETNAME 将指定
                                    |ipset集合持久化至指定文件
restore < [文件名称]                 |    读取指定文件到ipset集合
  • 创建ipset集合:ipset create SETNAME TYPENAME,SETNAME:集合名称(bitmap, hash, list);TYPENAME:存放方式与数据类型(ip, net, mac, port, iface
  • 例如:ipset create test_ipset hash:ip,创建一个test_ipset集合,哈希存储方式,类型是ip

  • 指定多种数据类型:ipset create aa hash:ip,port

Linux (CentOS)Ipset_第1张图片

  • 指定集合中添加数据:ipset add test_ipset 11.0.34.196-11.0.34.220ipset add test_ipset 11.0.34.222,可以是IP段也可以是指定ip

Linux (CentOS)Ipset_第2张图片

  • 添加多类型需要‘,’分割,例如:ipset add aa 198.0.1.2,80

Linux (CentOS)Ipset_第3张图片

  • 查看ipset集合:ipset list 查看所有 ipset集合;ipset list SETNAME 查看指定ipset集合

Linux (CentOS)Ipset_第4张图片

  • 检测ipset集合中是否存在该数据:ipset test SETNAME ENTYRY

  • 删除ipset集合中的单条数据:ipset del SETNAME ENTYRY

Linux (CentOS)Ipset_第5张图片

  • 删除与清空ipset集合
  • 清空:ipset flush [SETNAME] (指定清空需要ipset集合的名称/不指定名称清空所有)

Linux (CentOS)Ipset_第6张图片

Linux (CentOS)Ipset_第7张图片

  • 删除:ipset destroy [SETNAME](指定删除需要ipset集合的名称/不指定名称

Linux (CentOS)Ipset_第8张图片

  • *ipset集合持久化与数据读取
  • *ipset集合持久化:ipset save  [SETNAME] > test_ipset (提供ipset名称为指定ipset集合持久化,不指定,将所有的ipset集合持久化到一个文件,test_ipset:临时生成文件)

Linux (CentOS)Ipset_第9张图片

  • *ipset集合读取持久化:ipset restore < test_ipset (test_ipset 指定的读取持久化文件)

Linux (CentOS)Ipset_第10张图片

chenyb 随笔记录,只为方便自己学习

2021-05-11

你可能感兴趣的:(Linux(CentOS,Ubuntu等),linux)