工程问题

当前位置:首页>>工程资讯>>工程问题

3步搞定交换机ACL资源不足

作者: 消防改造安装 时间:2021-05-17 09:03:09 来源:http://www.zmjaxf.com/
摘要:3步搞定交换机ACL资源不足 来源:华为产品资料 很多业务都会占用ACL资源,而设备的ACL资源是有限的,当ACL资源不足时,则会导致业务应用ACL失败或产生ACL资源不足告警。换设备嘛领导...

3步搞定交换机ACL资源不足

来源:华为产品资料

很多业务都会占用ACL资源,而设备的ACL资源是有限的,当ACL资源不足时,则会导致业务应用ACL失败或产生ACL资源不足告警。换设备嘛领导不同意,不换设备有什么办法吗?

本文以V200R019C10版本的华为S5732-H系列交换机为例,介绍了ACL资源的基本原理,ACL资源不足的原因,并通过一个例子,讲解了ACL资源优化方法。不同款型及版本之间的ACL资源原理和规格可能存在差异,请以实际设备为准。
  ACL资源的基本原理 

通常情况下,当用户配置ACL相关的业务时,需要先创建ACL并配置rule规则,随后在全局、VLAN或接口视图下应用ACL。当业务下发成功后,这些rule规则就会占用ACL资源。

通常我们可以通过以下公式简单计算或预估ACL资源占用数量:

ACL资源占用数量=rule规则数量×业务应用位置的数量×业务应用方向的数量

  • rule规则数量:一般情况下,一条rule规则会占用一条ACL资源。如果一条rule规则中指定了TCP/UDP端口号范围时,一条rule规则可能会按照拆分成多条规则下发,进而占用多条ACL资源。具体拆分规则可通过display acl division命令指定相应的端口号范围进行查看。

  • 业务应用位置的数量:业务应用的接口数量或VLAN数量,应用到全局时为记为1。

  • 业务应用方向的数量:业务应用到入方向或出方向时记为1,出入方向都应用时记为2。
说明:

部分业务在不需要配置rule规则的情况下也会隐式地下发rule规则,这些不通过配置rule规则占用ACL资源的业务不在本文的讨论范围之内,如黑名单等安全类业务,流量抑制、CPCAR等流量限速业务,上送CPU的报文统计、VLAN的流量统计等流量统计业务。

为了更加直观地介绍如何计算ACL资源占用数量,下面我们通过举例观察设备ACL资源信息变化:
1.  首先,查看设备的ACL模块的资源信息。可以看到“ACL Unallocated”字段显示设备未分配ACL资源共有4096条,“ACLAllocated”字段显示设备已分配ACL资源共有512条,其中Sec安全类业务已使用146条,设备ACL资源总数量为4608条。

图片

2.  配置ACL 3000。ACL 3000中包含2条rule规则,并将ACL 3000应用到接口GE0/0/1和GE0/0/2的入方向。


acl number 3000 
 rule 5 permit ip destination 0.0.0.1255.255.255.0 
 rule 10 permit ip destination 0.0.0.2255.255.255.0 

interface GigabitEthernet0/0/1 
 traffic-filter inbound acl 3000 

interface GigabitEthernet0/0/2 
 traffic-filter inbound acl 3000 
#
3.  再次查看ACL资源信息。“Ingress ACL”字段显示设备入方向ACL资源占用数量为2(rule规则数量)×2(接口数量)×1(入方向)=4。

图片

ACL资源不足的原因 
导致ACL资源不足的原因主要有如下两个:
原因一:配置使用ACL资源的冗余业务过多

很多业务配置以后长时间不生效或不使用,持续占用大量ACL资源。例如流策略业务、基于ACL的简化流策略业务、本机防攻击业务、iPCA业务等。

原因二:配置使用ACL资源的业务时规划不精细

以下几种情况都会导致ACL资源占用数量成倍增长:

  • 配置的rule规则数量过多,没有考虑rule规则合并。

  • 业务应用范围过大,将业务应用到过多的接口或VLAN上。

  • 业务应用的范围有重叠,相同业务同时应用到全局、VLAN和接口上。
ACL资源的优化方法
对于使用ACL资源的冗余业务过多的情况,可以排查已配置的ACL相关业务,删除其中长时间不生效或不使用的业务。

本章节着重介绍规划ACL相关业务的配置不精细导致ACL资源不足的优化方法,从而在不影响业务的情况下精简业务所占用的ACL资源。为了更好的理解如何优化ACL资源,本章节以流策略业务为例进行介绍。

优化前,某流策略所绑定的ACL中包含1000条rule规则,并且该流策略应用在4个接口的入方向上,则该业务需要占用的ACL资源为1000(rule规则数量)×4(接口数量)×1(入方向)=4000,但当前设备剩余的ACL资源仅为3000,小于该流策略所需的ACL资源4000,因此当前该业务无法成功下发。对应的配置文件如下:


acl number 3000 
 rule 1 permit ip source 10.1.1.1 0destination 10.10.1.1 0 
 ...                                           //此处省略rule规则的具体配置 
 rule 1000 ip source 192.168.10.1 32 

traffic classifier c1 operator and precedence 5 
 if-match acl 3000 

traffic behavior b1 
 permit 
 statistic enable 

traffic policy p1 match-order config 
 classifier c1 behavior b1  

interface GigabitEthernet1/0/1 
 port link-type access 
 port default vlan 10 
 traffic-policy p1 inbound 

interface GigabitEthernet1/0/2 
 port link-type access 
 port default vlan 10 
 traffic-policy p1 inbound 

interface GigabitEthernet1/0/3 
 port link-type access 
 port default vlan 20 
 traffic-policy p1 inbound 

interface GigabitEthernet1/0/4 
 port link-type access 
 port default vlan 20 
 traffic-policy p1 inbound 
#

接下来,通过以下三种方法,就可以将该流策略所需占用的ACL资源减少到3000以下,从而满足配置该流策略的ACL资源需求。

1.  推荐先尝试使用方法一,合并rule规则,减少rule规则数量。

2.  在已经使用方法一的基础上,可以继续使用方法二或方法三,进一步减少ACL资源的使用数量。如果对ACL资源精简数量要求较高,推荐将应用在接口的业务调整至全局,或者配置基于流ID的流策略;如果对ACL资源精简数量要求不高,且应用流策略的接口数量大于接口所属VLAN的数量,推荐将应用在接口的业务调整至VLAN。

表1-1 方法二与方法三的比较

图片

方法一:合并rule规则,减少rule规则数量

分析各rule规则公用的匹配项,找出各规则之间的联系。

本例中的1000条rule规则中包含以下内容:

#                               
acl number 3000            
rule 1 permit ip source 10.1.1.1 0destination 10.10.1.1 0 
rule 2 permit ip source 10.1.1.2 0destination 10.10.1.1 0 
rule 3 permit ip source 10.1.1.3 0destination 10.10.1.1 0 
 ... 
rule 255 permit ip source 10.1.1.255 0destination 10.10.1.1 0
rule 256 permit ip source 10.1.2.1 0destination 10.10.1.1 0 
rule 256 permit ip source 10.1.2.2 0destination 10.10.1.1 0 
rule 256 permit ip source 10.1.2.3 0destination 10.10.1.1 0   
 ... 
rule 510 permit ip source 10.1.2.255 0destination 10.10.1.1 0 
 ... 
rule 801 deny tcp destination-port eqwww //80端口
rule 802 deny tcp destination-port eq81    
rule 803 deny tcp destination-port eq82    
 ... 
rule 830 deny tcp destination-port eqpop2  //109端口  
rule 831 deny tcp destination-port eqpop3  //110端口  
 ... 
rule 1000 xxx 
#      
                         
首先,可以通过合并网段来合并rule规则,将rule 1~rule510合并成以下两条规则。rule 1~rule 510均匹配报文的源IP地址和目的IP地址,且源IP地址覆盖了10.1.1.0/24和10..2.0/24两个网段的所有地址(真实组网中,一般不会通过rule匹配一个网段的所有IP地址,可以结合掩码拆分成多个网段),因此可以将合并成以下两条规则:
#                                                
acl number 3000                           
 rule 1 permit ip source 10.1.1.00.0.0.255 destination 10.10.1.1 0 
 rule 2 permit ip source 10.1.2.00.0.0.255 destination 10.10.1.1 0 
 ... 
#     
 
    
其次,可以通过range比较符合并端口号来合并rule规则,将rule 801~rule831合并成一条规则。由于rule 801~rule 831均用到了匹配项TCP目的端口号,且端口号范围覆盖了80~110整个号段,因此可以合并成一条规则(通过display acl division命令可以查看80~110端口号之间rule规则会拆成5条下发):

acl number 3000  
 ... 
 rule 801 deny tcp destination-port range80 110 
 ... 
#

合并规则后,上例中的规则减少到462条,实际下发的规则为466条,占用的ACL资源数量为1864。计算过程为:461(IP地址合并后的rule规则数量)×4(接口数量)×1(入方向)+1(端口号合并后的rule规则数量)×5(按range拆分后的rule规则数量)×4(接口数量)×1(入方向)=1864,小于设备剩余的ACL资源数量(3000条),因此能够满足配置该流策略的ACL资源需求。

通过方法一合并rule规则为466条后,还可以在此基础上通过方法二或者方法三进一步精简ACL资源。

方法二:调整业务应用范围,减少业务应用位置的数量

在通过方法一合并rule规则后,可以选择以下任意一种方式,调整业务应用范围,从而继续精简ACL资源数量。

  • 将应用在接口的业务调整至VLAN

如果应用流策略的接口数量大于这些接口所属VLAN的数量,且未应用流策略的接口均不属于这些VLAN,则可以将流策略应用到这些接口所属的VLAN下。调整应用范围后的ACL资源占用数量为rule规则数量×VLAN数量,小于之前的rule规则数量×接口数量。否则,建议将应用在接口的业务调整至全局。

由前文流策略中的配置可知,GE1/0/1和GE1/0/2属于VLAN10,GE1/0/3和GE1/0/4属于VLAN 20,其他接口均不属于VLAN 10和VLAN 20,此时VLAN的数量小于接口的数量,则可以将流策略应用在VLAN 10和VLAN 20下。
在通过方法一优化后、通过本方法优化前,对应的配置文件如下:

acl number 3000 
 rule 1 permit ip source 10.1.1.00.0.0.255 destination 10.10.1.1 0 
 rule 2 permit ip source 10.1.2.00.0.0.255 destination 10.10.1.1 0 
 ... 
 rule 801 deny tcp destination-port range80 110 
 ... 
 rule 1000 ip source 192.168.10.1 32 

traffic classifier c1 operator and precedence 5 
 if-match acl 3000 

traffic behavior b1 
 permit 
 statistic enable 

traffic policy p1 match-order config 
 classifier c1 behavior b1  

interface GigabitEthernet1/0/1 
 port link-type access 
 port default vlan 20 
 traffic-policyp1 inbound 

interface GigabitEthernet1/0/2 
 port link-type access 
 port default vlan 20 
 traffic-policyp1 inbound 

interface GigabitEthernet1/0/3 
 port link-type access 
 port default vlan 20 
 traffic-policyp1 inbound 

interface GigabitEthernet1/0/4 
 port link-type access 
 port default vlan 20 
 traffic-policyp1 inbound 
#
在使用方法一的基础上,使用本方法调整后,对应的配置文件如下:

acl number 3000 
 rule 1 permit ip source 10.1.1.00.0.0.255 destination 10.10.1.1 0 
 rule 2 permit ip source 10.1.2.00.0.0.255 destination 10.10.1.1 0 
 ... 
 rule 801 deny tcp destination-port range80 110 
 ... 
 rule 1000 ip source 192.168.10.1 32 

traffic classifier c1 operator and precedence 5 
 if-match acl 3000 

traffic behavior b1 
 permit 
 statistic enable 

traffic policy p1 match-order config 
 classifier c1 behavior b1  
#  
vlan 10 
 traffic-policyp1 inbound 

vlan 20 
 traffic-policyp1 inbound 

interface GigabitEthernet1/0/1 
 port link-type access 
 port default vlan 20 

interface GigabitEthernet1/0/2 
 port link-type access 
 port default vlan 20 

interface GigabitEthernet1/0/3 
 port link-type access 
 port default vlan 20 

interface GigabitEthernet1/0/4 
 port link-type access 
 port default vlan 20 
#
调整后,ACL资源占用数量降低到932条,在合并rule规则的基础上进一步减少了ACL资源需求数量。计算过程为:466(rule规则数量)×2(VLAN数量)×1(入方向)=932。
  • 将应用在接口的业务调整至全局

可以将流策略应用到全局,并在不应用该流策略的接口下各配置一条让全局的配置不生效的流策略,利用接口优先级大于全局优先级的原则,实现相同的配置效果。

由前文流策略中的配置可知,需要在接口的GE1/0/1~GE1/0/4入方向上应用流策略。此时,若仅有接口GE1/0/5的入方向不可以应用该流策略,且其他所有接口的入方向都可以应用该流策略,则可以将该流策略应用到全局,并在接口GE1/0/5上应用分类规则相同的不同流策略(例如流策略p2)。

在使用方法一的基础上,继续使用本方法调整后,对应的配置文件如下:


acl number 3000 
 rule 1 permit ip source 10.1.1.00.0.0.255 destination 10.10.1.1 0 
 rule 2 permit ip source 10.1.2.00.0.0.255 destination 10.10.1.1 0 
 ... 
 rule 801 deny tcp destination-port range80 110 
 ... 
 rule 1000 ip source 192.168.10.1 32 

acl number 3001 
  rule 5 permit ip                           //匹配所有IP报文 

traffic classifier c1 operator and precedence 5 
 if-match acl 3000 

traffic classifier c2 operator and precedence 10 
 if-match acl 3001 

traffic behavior b1 
 permit 
 statistic enable 

traffic behavior b2 
 permit 

traffic policy p1 match-order config 
 classifier c1 behavior b1  

traffic policy p2 match-order config 
 classifier c2 behavior b2  

interface GigabitEthernet1/0/1 
 port link-type access 
 port default vlan 20 

interface GigabitEthernet1/0/2 
 port link-type access 
 port default vlan 20 

interface GigabitEthernet1/0/3 
 port link-type access 
 port default vlan 20 

interface GigabitEthernet1/0/4 
 port link-type access 
 port default vlan 20 

interface GigabitEthernet1/0/5 
 traffic-policy p2 inbound 

traffic-policy p1 global inbound 
#
调整应用范围后的ACL资源占用数量降低到467条,在合并rule规则的基础上进一步减少了ACL资源需求数量。计算过程为:466(rule规则数量)×1(全局)×1(入方向)+1(rule规则数量)×1(接口数量)×1(入方向)=467。
该方法一般应用于接入层设备。当设备所有下行接口都应用相同的流策略,且所有上行接口不应用流策略时,则可以将该流策略应用到全局,并在每个上行接口应用与下行接口不相同的流策略,使全局应用的流策略在上行接口不生效。由于下行接口数量通常大于上行接口数量,因此通过该方法可以节省ACL资源。
方法三:配置基于流ID的流策略,综合节省ACL资源
在方法一的基础上,还可以通过方法三来继续减少ACL资源使用数量。

对于流策略业务,当设备上不同的接口或VLAN需要配置相同的流分类规则并对匹配的报文做相同的动作时,为节省ACL资源,可以将一条流策略拆分成两条,第一条对报文按照ACL分类后重标记每类报文的流ID,第二条按照流ID进行分类并对匹配同一流ID的报文进行相同的处理。该功能仅适用于应用在入方向的流策略。

如果不配置该功能,流策略占用的ACL资源数量为rule规则数量×接口数量(或VLAN数量)×1(入方向);配置该功能后,流策略占用的ACL资源数量为rule规则数量×1(全局)×1(入方向)+1(流ID)×接口数量(或VLAN数量)×1(入方向)。

配置思路如下:

1.  配置ACL,并指定rule规则。

本例中,已经通过方法一合并rule规则。合并后的rule规则如下:


acl number 3000 
 rule 1 permit ip source 10.1.1.00.0.0.255 destination 10.10.1.1 0 
 rule 2 permit ip source 10.1.2.00.0.0.255 destination 10.10.1.1 0 
 ... 
 rule 801 deny tcp destination-port range80 110 
 ... 
 rule 1000 ip source 192.168.10.1 32 
#

2.  配置流分类,按照ACL对报文进行分类。

本例中,已经配置流分类c1,用于匹配符合ACL 3000的报文。


traffic classifier c1 operator and precedence 5 
 if-match acl 3000 
#

3.  配置流行为,通过remark flow-id命令重新标记报文的流ID。

配置流行为b3,用于重新标记报文的流ID。例如,重新标记流ID为4。


traffic behavior b3 
 remark flow-id 4 
#

4.  配置流策略,绑定已配置的流行为和流分类,并应用到全局。

配置流策略p3,绑定流分类c1和流行为b3,并应用到全局的入方向。


traffic policy p3 match-order config 
 classifier c1 behavior b3  

traffic-policy p3 global inbound 
#
5.  配置流分类,通过if match flow-id命令对报文进行分类。

配置流分类c3,匹配流ID为4的报文。


traffic classifier c3 operator and precedence 10 
 if-match flow-id 4 
#
6.  配置流行为,以便对匹配同一流ID的报文进行相同的处理。

本例中,已经配置流行为b1,用于对报文进行流量统计。


traffic behavior b1 
 statistic enable 
#
7.  配置流策略,绑定以配置的流行为和流分类,并应用到接口或VLAN上。

traffic policy p1 match-order config 
 classifier c3 behavior b1  

interface GigabitEthernet1/0/1 
 traffic-policy p1 inbound 

interface GigabitEthernet1/0/2 
 traffic-policy p1 inbound 
#
interface GigabitEthernet1/0/3 
 traffic-policy p1 inbound 

interface GigabitEthernet1/0/4 
 traffic-policy p1 inbound 
#
最终流策略业务的相关配置如下:

acl number 3000 
 rule 1 permit ip source 10.1.1.00.0.0.255 destination 10.10.1.1 0 
 rule 2 permit ip source 10.1.2.00.0.0.255 destination 10.10.1.1 0 
 ... 
 rule 801 deny tcp destination-port range80 110 
 ... 
 rule 1000 ip source 192.168.10.1 32 

traffic classifier c1 operator and precedence 5 
 if-match acl 3000 

traffic classifier c3 operator and precedence 10 
 if-match flow-id 4 

traffic behavior b1 
 permit 
 statistic enable 

traffic behavior b3 
 remark flow-id 4 

traffic policy p1 match-order config
 classifier c3 behavior b1  

traffic policy p3 match-order config
 classifier c1 behavior b3  

interface GigabitEthernet1/0/1 
 port link-type access 
 port default vlan 10 
 traffic-policyp1 inbound 

interface GigabitEthernet1/0/2 
 port link-type access 
 port default vlan 10 
 traffic-policyp1 inbound 

interface GigabitEthernet1/0/3 
 port link-type access 
 port default vlan 20 
 traffic-policyp1 inbound 

interface GigabitEthernet1/0/4 
 port link-type access 
 port default vlan 20 
 traffic-policyp1 inbound 

traffic-policy p3 global inbound 
#
上述举例中,配置基于流ID的流策略的功能后,占用的ACL资源降低到470条,在合并rule规则的基础上进一步减少了ACL资源需求数量。计算过程为:466(rule规则数量)×1(全局)×1(入方向)+1(流ID)×4(接口数量)×1(入方向)=470条。

 

最后再复习一下:

1.  首先,推荐先尝试合并rule规则,减少rule规则数量。

2.  其次,如果对ACL资源精简数量要求较高,推荐将应用在接口的业务调整至全局,或者配置基于流ID的流策略;如果对ACL资源精简数量要求不高,且应用流策略的接口数量大于接口所属VLAN的数量,推荐将应用在接口的业务调整至VLAN。


江苏苏州智淼消防安装工程公司主营:北京消防施工安装,消防工程设计,消防维修改造,消防设备检测,消防验收代办,消防维修保养,探测器清洗,消防检测设备,智慧消防物联网,消防设备销售安装及调试为一体的正规化消防企业。消防改造网址:http://www.zmjaxf.com/服务热线:4006-598-119

联系我们
Contact
联系我们
我们很想听到您的声音

400电话:4006-598-119

联系电话:0512-52847706

公司传真:0512-52847706

手机号码:18911702770

客服QQ:1334605518

Email:1334605518@qq.com

地址:江苏省苏州市常熟市黄河路275号城市之星119室

专业提供消防工程施工整体解决方案

全国服务热线:18910580194

立即预约

ABOUT US

关于我们

智淼消防工程技术有限公司

       智淼君安(江苏)消防工程技术有限公司,是一家专业从事消防工程设计、消防弱电施工、消防改造、报建、消防维修维保、消防检测的消防企业;销售火灾自动报警系统各种品牌、了解详情+
智淼消防工程技术有限公司
专业的技术·全新的施工安装服务,咨询热线:18910580194
智淼君安(江苏)消防工程技术有限公司

智淼君安(江苏)消防工程技术有限公司主要业务有火灾报警系统的销售、设计、安装、消防维修及消防工程改造,消防施工,消防工程改造,消防维保,一二级消防检测设备,探测器清洗,消防检测,气体灭火系统安装,电气火灾系统施工安装,消防喷淋水系统安装,防火门系统施工安装等...

+MORE

消防改造Installation and commissioning 消防维修Inspection and maintenance

工程质监站科长的贪腐之路,工程人看完感觉熟头熟路了
工程质监站科长的贪腐之路,工程人看完感觉熟头熟路了

工程质监站科长的贪腐之路,工程人看完感觉熟头熟路了案例蒋庆树,男,1968年5月生,曾任绵阳市建设工程质量监督站工程师、科长等职。2022年4月,接受绵阳市纪委监委驻市委政法委纪检监察组纪律审查和北川县监委监察调查。2022年9月,蒋庆树因严重违反党的纪律并构成职务违法,被开除党籍和公职;其涉嫌受贿犯罪和巨额财产来 [详情]

服务支持Support

消防工程

MORE+ 工程问题/ FAQ

设计单位:没错,按规范要求消火栓按钮应安装在消火栓箱内,但关我什么事?
设计单位:没错,按规范要求消火栓按钮应安装在消火栓箱内,但关我什么事?按照《火灾自动报警系统施工及验收标准》GB50166-2019 第3.3.16条第1款有关规定 消火栓按钮应设置在消火栓箱内。在某个工程建设中,消火栓按钮并没有安装在消火栓箱内,而是像以往一样安装在消火栓箱旁边,在消防验收时被消防技术服务机构提了这个问...
建设工程消防验收备案如何抽签?不同场所抽中几率如何?
建设工程消防验收备案如何抽签?不同场所抽中几率如何?建设单位抽签:为保证公正性,系统中抽签环节设定为由建设单位自行抽签。消防验收备案项目大厅受理后,系统会自动发送短信通知建设单位进行抽签的,抽中的项目会接着进入下一个科室负责人分发环节;没有抽中的项目直接进入签收环节。步骤如下:1、建设单位登录系统在待...
洗衣机故障引发火灾,消防控制室值班员竟成“帮凶”?
洗衣机故障引发火灾,消防控制室值班员竟成“帮凶”? 3月23日晚,房山区一小区居民家中发生火灾,火灾原因初步认定为洗衣机电器故障所致。房山区消防救援支队在调查过程中发现,小区消防控制室值班人员王某对中控主机报警进行消音后,未及时拨打119报警,未启动灭火疏散预案,延误灭火救援和人员疏散。此...
住建部:56条消防突出问题的咨询回复合集
住建部:56条消防突出问题的咨询回复合集 消防系统是为人员火灾预警、逃生疏散、救活灭火的系统,广泛应用在大型医院、商业综合体、学校、酒店、交通枢纽等公共人员密集场所,最大限度地减少人员伤亡和财产损失。今天小火猫就为大家归纳汇总住建部56条消防突出问题的咨询回复。01一、1、住宅小区地...
灭火器出厂三年要检修?看看消防官方怎么回应
灭火器出厂三年要检修?看看消防官方怎么回应灭火器是处置初期火灾时最有效的消防器材,今年3月15日,中国消费品质量安全促进会发布了团体标准《灭火器产品维修、更换及售后服务》,其中对灭火器维修明确了“灭火器自出厂之日起,使用期限满3年应进行首次维修,当使用环境、防护要求等发生变化时,首次维修时间应适当提前”...