IPTables六—— IPTable规则优化IPSet

简介: 六、IPSetiptables在进行包过滤的时候,对每个数据包都过滤一遍iptables中的规则。假设我们有如下三条规则:-s 1.1.1.1 -p tcp accpet-s 2.2.2.2 -p tcp accpet-s 3.3.3.3 -p tcp accpet那么当一个数据包源地址是3.3.3.3的时候,它首先去匹配第一条规则,不匹配再匹配第二条,最后在第三条匹配中了。

六、IPSet

iptables在进行包过滤的时候,对每个数据包都过滤一遍iptables中的规则。假设我们有如下三条规则:

-s 1.1.1.1 -p tcp accpet

-s 2.2.2.2 -p tcp accpet

-s 3.3.3.3 -p tcp accpet

那么当一个数据包源地址是3.3.3.3的时候,它首先去匹配第一条规则,不匹配再匹配第二条,最后在第三条匹配中了。想一想如果我有类似的100条规则呢?内核最差的情况是不是对一个数据包需要做100个规则匹配,这是相当没有效率的事情。在上述的例子中,其动作都是一样的能不能把这三条规则总结成一条规则呢 ?有那就是IPSet,它将多条iptable规则富集到一个ip set里,这个ip set使用hash或者图来组织,在netfilter过滤的时候,采用hash或者图方式规则运算进行查找,比原来的iptable一个顺序的规则查找方法运算速度提升很多,特别是规则条目很多的时候。

1、IPSet支持的匹配集

1.1 bitmap

支持bitmap:ip bimap:ip,mac和bitmap:port

支持hash:ip,hash:net ,hash:ip,port,net hash:ip,port,ip hash:net,port hash:net,if

支持list

2、使用例子:

针对上例,我们使用如下方法设置ipset

IPSet -N zxy_set hash:ip  hashsize 256 maxelem 1024

IPSet add zxy_set 1.1.1.1

IPSet add zxy_set 2.2.2.2

IPSet add zxy_set 3.3.3.3

Iptable -I INPUT -m set --match-set zxy_set src -p tcp -j Accept

目录
相关文章
|
网络安全 数据安全/隐私保护 网络架构
【防火墙】iptables定义、iptables规则修改、常用端口号
文章目录 前言 一、概述 二、iptables(Centos5/6防火墙
344 0
【防火墙】iptables定义、iptables规则修改、常用端口号
|
网络协议 网络安全 开发工具
|
3月前
|
网络协议 Linux 网络安全
iptables基础
iptables基础
|
消息中间件 网络协议 Linux
|
网络安全
|
网络协议 网络安全 网络虚拟化
|
网络协议 Linux 网络安全