ipset 中文手册(1)
(2010-09-08 11:23:29)
标签:
杂谈 |
分类: 技术 |
名称
ipset –设置ip的管理工具
摘要
ipset
-N 集合 类型描述 [选项]
ipset -[XFLSHh] [集合]
[选项]
ipset -[EW] 进设置
出设置
ipset -[ADU] 集合元素
ipset -B集合元素-b binding
ipset -T集合元素
[-b binding]
ipset -R
描述
Ipset 用于设置、维护和检测,所以在内核中称之为IPsets .依赖于类型,存储的ip地址的设置,端口号和其他基于ip地址的添加信息。IP在这里是一个通用的术语,请参阅类型定义。
集合中的任意一个元素都可以关联到其他结构类似的集合. 为了定义一个约束并不需要规则已经添加到集合中。每个集合都有一个默认的约束。
创建IP set集合的绑定点绑定集合的时候可以参照iptables规则和目标管理规则。这可以在内核中保护集合. 当集合只有一个访问点时是不可以被删除的
选项
这些选择在ipset的使用中可以在不同的组中自由组合。
命令
这些选项明确地指定了执行的活动。只有一个命令可以在命令行中规定除非其他的命令在下面。对于所有的长版本命令和选项名称,必须使用足够大的空间以确保ipset可以把他们和其他的选项区分开。
-N, --创建 集合名称 类型 类型具体选项
创建一个用集合名称命名并且指定类型的集合。类型具体选项必须是系统规定的。
-X, --删除 [集合名称]
删除指定的集合,如果没有指定或者指定all就删除全部集合。在删除集合之前,所有基于集合的绑定和默认绑定都会被移除。
如果集合已经被使用,则什么都不做。
-F, --清空 [集合名称]
删除指定集合中的所有规则, 如果没有指定或者指定了all就清空所有的集合。绑定不会受到清空操作的影响。
-E,
--重命名
旧集合名
重命名集合,新集合名的标识必须是目前不存在。
-W, --交换 源集合名 目的集合名
交换两个集合的内容,或者说交换两个集合的名称。这两个集合必须是存在的而且是具有相同的类型才能交换。
-L, --列出 [集合名名称]
列出指定集合的规则和绑定,如果没有指定或者指定为all就列出所有的集合。-n选项,数字选项可以用来限定名称查找和生产数字输出,当-s ,分类选项已经使用,规则将分类排列(如果给出的集合类型支持这个选项)。
-S,
--保存
保存指定名称的集合,如果没有指定或者指定为all,则保持所有集合:指定恢复可以读取的标准输出格式。
-R, --复原
复原已保存的会话.已被保存的会话可以是标准输入提供的。
当产生一个会话文件的时候请注意支持的命令(创建集合,添加元素,绑定)必须遵循严格的规范:首先创建集合添加所有属于它的集合等等,最后你可以列出所有的绑定命令.此外,这是一个复原选项,所以复原的集合必须是不存在的。
-A, --添加 集合名称 IP
往集合中添加一个ip。
-D, --删除 集合名称IP
从集合中删除一个ip
-T, --测试 集合名称 IP
测试一个ip是不是在集合中,要是ip在集合中返回0,如果ip不在集合中则返回非0.
-T,
--测试
集合名称
测试ip是否附属指定集合的绑定点。如果成功返回0,否则返回非0.关键字default可以用来测试集合的默认绑定。
-B, --绑定 集合名称 IP 绑定的目的集合
绑定集合里的ip和目的集合
-U, --解除绑定 集合名称 IP
删除集合中指定ip的绑定。
-H, --帮助 [设置类型]
找出指定设置类型的帮助信息。
在-B –U和-T命令,你可以使用默认的:default,去绑定,解除绑定或者测试默认绑定去代替ip.在-U命令中你可以使用默认的:all去删除绑定集合的所有元素。
其他选项
接下来的选项可以被指定
-b, --binding setname
这个选择为-B绑定选项指定值。这是一个强制性的命令. 你在-T中可以用来测试绑定。
-s, --分类
分类标准输出.当监听集合,规则列表分类的时候。
-n, --数字
数字输出。当监听集合,绑定,ip地址和端口好需要输出的时候使用数字格式. 默认的系统试着去显示这些信息用主机名,网络名和服务,这会引起dns查找。
-q, --安静
禁止在标准输出和标准错误上有认可输出但是ipset还是会返回可能的错误。
集合类型
ipmap
ipmap 集合类型使用内存范围,每一比特代表一个ip地址,一个ipmap集合可以存放65535个ip地址。当在匹配固定范围的ip时, Ipmap集合非常快速而且内存开销小。如果-netmask选项指定了无路由选择子网值在1-31,网络地址会存放在给出的集合。例如当一个ip与上掩码的结果在集合中,那么这个ip地址就是这个网络地址。
创建ipmap的选项:
--from 源ip
--to 目的ip
创建一个指定范围的ipmap集合。
--network ip/掩码
创建指定网络的ipmap集合。
--netmask 路由选择-网络
当选项-network参数指定,网络地址将会保存下来以代替网络地址,路由选择-网络的值必须是在1-31之间。
macipmap
macipmap集合类型使用内存范围,用每8比特代表一个ip和一个Mac地址。一个macipmap集合类型可以存储65523个带mac的ip地址。当向macipmap集合中添加规则的时候,你必须使用IP,MAC类型,但是在删除的时候MAC部分并不是强制的。
创建macipmap的选项:
--from 源ip
--to t目的ip
创建一个指定范围的macipmap集合。.
--network IP/mask
创建指定网络的macipmap集合。
--matchunset
当选项 –matchunset 参数指定,i地址可以保存在没有设置好的集合中,并且会被匹配。
请注意,这个集合和设置netfilter内核模块通常使用进包源MAC地址来匹配,添加或者删除macipmap类型集合规则
portmap
portmap集合类型使用一个内存范围,每个比特关联一个端口,一个portmap集合类型可以存储65536个端口。Portmap集合类型非常快而且内存开销很小。
创建portmap集合要用的选项:
--from 源端口
--to 目的端口
创建指定范围的portmap集合。
iphash
iphash集合类型使用哈希来存储ip地址。为了避免两个哈希冲撞,作为最后的手段,动态地增长已完成的哈希。iphash集合类型很好地存储随机地址。如果选项—network 参数指定了在1-31之间的CIDR网络,则网络地址会存储到指定的集合中。例如:一个ip地址与掩码后在集合中,这个ip地址将会在集合中。
用来创建iphash的选项:
--hashsize 哈希大小
初始化哈希大小,默认1024
--probes 探针
定义重试次数当添加ip冲突时,默认为8
--resize 百分比
当添加ip冲突时,增长哈希大小的百分比,默认为50
--netmask CIDR-netmask
当 --netmask 选项参数指定时,网络地址将替代ip地址存储在集合中。CIDR-netmask 的值必须在1-31中。
一个iphash类型的集合可以存储65535条规则。如果一个集合已经满了,那么新的规则就不能添加进去了。
集合创建时都被赋值为0,在iphash集合中的查询时间随着探索参数的变化接近于线性增长。普遍来说使用大一些的探索值的搜索结果会比小的更好一些,因为小的探索值会参数更大、更分散的哈希。
nethash
nethash集合类型使用哈希来存储不同长度的网络地址。在集合命令中使用Ip地址必须为IP-address/cidr-size 格式,cidr-size的值必须在1-31之间。为了避免两个哈希冲撞,作为最后的手段,动态地增长已完成的哈希。
创建nethash集合使用的选项:
--hashsize 哈希长度
初始化哈希长度(默认1024)
--probes 探针
定义重试次数当添加ip冲突时,默认为4
--resize percent
当添加ip冲突时,增长哈希大小的百分比,默认为50
一个nethash类型的集合可以存储65535条规则。如果一个集合已经满了,那么新的规则就不能添加进去了。
当一个ip地址属于添加在nethash集合中的网络块,这个ip地址将会添加到集合中。从最小的网络块到最大的网络块之间往往相似.当以SET netfiter内核模块的形式添加或者删除nethash集合中的ip地址,会添加或者删除集合中最小的网络模块 。
在iphash集合中的查询时间随着探索参数和网络哈希数的变化接近于线性增长,不然它和iphash具有相同的速度和内存消耗。
ipporthash
iphash集合类型使用哈希来存储ip地址、端口对。为了避免两个哈希冲撞,作为最后的手段,动态地增长已完成的哈希。一个ipporthash可以存储65536个ip地址和带有的端口值。. 当添加、删除和测试集合中的值是,规则必须指定为“ip:port”格式。
Ipporthash 类型集合使用使用两个参数源/目的参数来匹配集合和SET目标。
创建 ipporthash 集合所用选项:
--from 源ip
--to to-IP
创建指定范围的 ipporthash集合。
--network IP/mask
创建指定网络的ipporthash集合。
--hashsize hashsize
初始化哈希长度(默认1024)
--probes probes
定义重试次数当添加ip冲突时,默认为8
--resize percent
当添加ip冲突时,增长哈希大小的百分比,默认为50