华人澳洲中文论坛

热图推荐

    3步搞定替换机ACL资源缺乏

    [复制链接]

    2023-1-19 18:24:07 71 0

    前言
    大家好,我是林总,得多业务都会占用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资源共有5十二条,其中Sec平安类业务已使用146条,装备ACL资源总数量为4608条。

    ffjz40muzrn.jpg

    ffjz40muzrn.jpg


    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.十二55.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。

    0vphxrr2nqw.jpg

    0vphxrr2nqw.jpg


    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 办法二与办法三的对比

    5iqipcxezte.jpg

    5iqipcxezte.jpg


    办法一:合并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 //十一0端口
    ...
    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~十一0全部号段,因此能够合并成一条规定(经过display acl division命令能够查看80~十一0端标语之间rule规定会拆成5条下发):
    #
    acl number 3000
    ...
    rule 801 deny tcp destination-port range80 十一0
    ...
    #
    合并规定后,上例中的规定增加到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 十一0
    ...
    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 十一0
    ...
    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 十一0
    ...
    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 十一0
    ...
    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 十一0
    ...
    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。

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题25

    帖子35

    积分158

    图文推荐