设为首页收藏本站language 语言切换
查看: 405|回复: 2
收起左侧

[分享] ACL的步长设定

[复制链接]
 成长值: 63400
发表于 2024-11-14 14:19:27 | 显示全部楼层 |阅读模式
步长的含义
步长,是指系统自动为ACL规则分配编号时,每个相邻规则编号之间的差值。

系统为ACL中首条未手工指定编号的规则分配编号时,使用步长值作为该规则的起始编号;为后续规则分配编号时,则使用大于当前ACL内最大规则编号且是步长整数倍的最小整数作为规则编号。例如ACL中包含规则rule 5和rule 12,ACL(特指ACL4)的缺省步长为5,大于12且是5的倍数的最小整数是15,所以系统分配给新配置的规则的编号为15。

[Huawei-acl-basic-2001] display this
#                                                                              
acl number 2001              //空ACL                                             
#                                                                              
return                           
[Huawei-acl-basic-2001] rule deny source 10.1.1.0 0.0.0.255 //配置首条不指定规则编号的规则
[Huawei-acl-basic-2001] display this                                                
#                                                                              
acl number 2001                                                                 
rule 5 deny source 10.1.1.0 0.0.0.255                                          
#                                                                              
return         
[Huawei-acl-basic-2001] rule 12 deny source 10.2.2.0 0.0.0.255 //配置一条规则编号为12的规则     
[Huawei-acl-basic-2001] display this                 
#                                                                              
acl number 2001                                                                 
rule 5 deny source 10.1.1.0 0.0.0.255                                          
rule 12 deny source 10.2.2.0 0.0.0.255                                          
#                                                                              
return                                   
[Huawei-acl-basic-2001] rule deny source 10.3.3.0 0.0.0.255 //再次配置一条不指定规则编号的规则     
[Huawei-acl-basic-2001] display this            
#                                                                              
acl number 2001                                                                 
rule 5 deny source 10.1.1.0 0.0.0.255                                          
rule 12 deny source 10.2.2.0 0.0.0.255                                          
rule 15 deny source 10.3.3.0 0.0.0.255                                          
#                                                                              
return                        
如果重新调整了步长值(例如调整为2),系统则会自动从当前步长值开始重新排列规则编号,规则编号变成2、4、6…。恢复步长值为缺省值后,系统则会立刻按照缺省步长重新调整规则编号,规则编号变成5、10、15…。

[Huawei-acl-basic-2001] display acl 2001
Basic ACL 2001, 3 rules                                                         
Acl's step is 5                                                                 
rule 5 deny source 10.1.1.0 0.0.0.255                          
rule 12 deny source 10.2.2.0 0.0.0.255                        
rule 15 deny source 10.3.3.0 0.0.0.255

[Huawei-acl-basic-2001] step 2   //配置步长值为2
[Huawei-acl-basic-2001] display acl 2001
Basic ACL 2001, 3 rules                                                         
Acl's step is 2
rule 2 deny source 10.1.1.0 0.0.0.255                          
rule 4 deny source 10.2.2.0 0.0.0.255                          
rule 6 deny source 10.3.3.0 0.0.0.255                        

[Huawei-acl-basic-2001] undo step   //恢复步长值为缺省值
[Huawei-acl-basic-2001] display acl 2001
Basic ACL 2001, 3 rules                                                         
Acl's step is 5
rule 5 deny source 10.1.1.0 0.0.0.255                          
rule 10 deny source 10.2.2.0 0.0.0.255                        
rule 15 deny source 10.3.3.0 0.0.0.255                                                                  

步长的作用
设置步长的作用,在于方便后续在旧规则之间插入新的规则。

假设,一条ACL中,已包含了三条规则rule 5、rule 10、rule 15。如果希望源IP地址为10.1.1.3的报文也被拒绝通过,该如何处理?

rule 5 deny source 10.1.1.1 0  //表示拒绝源IP地址为10.1.1.1的报文通过                  
rule 10 deny source 10.1.1.2 0 //表示拒绝源IP地址为10.1.1.2的报文通过                    
rule 15 permit source 10.1.1.0 0.0.0.255 //表示允许源IP地址为10.1.1.0/24网段地址的报文通过
由于ACL匹配报文时遵循“一旦命中即停止匹配”的原则,所以源IP地址为10.1.1.1和10.1.1.2的报文,会在匹配上编号较小的rule 5和rule 10后停止匹配,从而被系统拒绝通过;而源IP地址为10.1.1.3的报文,则只会命中rule 15,从而得到系统允许通过。若想让源IP地址为10.1.1.3的报文也被拒绝通过,则必须为该报文配置一条新的deny规则。可以在rule 15之前插入一条新规则rule 11,这样源IP地址为10.1.1.3的报文,就会因先命中rule 11而被系统拒绝通过。插入rule 11后,该ACL的旧规则编号不受影响,且新的规则排序为rule 5、rule 10、rule 11、rule 15。

rule 5 deny source 10.1.1.1 0  //表示禁止源IP地址为10.1.1.1的报文通过                  
rule 10 deny source 10.1.1.2 0 //表示禁止源IP地址为10.1.1.2的报文通过                    
rule 11 deny source 10.1.1.3 0 //表示拒绝源IP地址为10.1.1.3的报文通过  
rule 15 permit source 10.1.1.0 0.0.0.255 //表示允许源IP地址为10.1.1.0网段地址的报文通过
试想一下,如果这条ACL的规则间隔不是5,而是1(rule 1、rule 2、rule 3…),这时再想插入新的规则,就只能先删除已有的规则,然后再配置新规则,最后将之前删除的规则重新配置还原。

因此,为了避免上述操作造成的麻烦,ACL引入了步长的概念。通过设置ACL步长,使规则之间留有一定的空间,就可以轻松的在旧规则中插入新规则了。


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-2 12:37 , Processed in 0.058440 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表