第21章 ACL配置
ACL 的全称为访问控制表(Access Control List),简称为访问表(Access List)。ACL是一个有序的规则集,其中包含的规则称为访问控制表项(Access Control Entry:ACE)。
迈普系列交换机中的ACL以及与其相关的对象、动作组、计量器按如下图所示的逻辑关系进行组织,以实现报文过滤、报文分类、流量控制应用。
Global对象ACLACE1(permit ...)ACE2(deny ...)VLAN对象...ACEn(permit ...)deny anyPort对象Action Group 2Action1Action2...Action Group 1Action1Action2...Traffic Meter 2Traffic Meter 1Action Group 3Action1Action2... 迈普系列交换机中可应用ACL的对象有四类:全局对象(Global Object)、VLAN对象(VLAN Object)、端口对象(Interface Object)、三层接口对象(Interface VLAN Object)。全局对象是指本交换机,应用在其上的ACL作用范围是进入本交换机的所有报文。VLAN对象是指本交换机上配置的某个VLAN,应用在其上的ACL作用范围是进入此VLAN的所有报文。而端口对象是指交换机上的端口或汇聚口,应用在其上的ACL作用范围是进入此端口的所有报文。三层接口对象指本交换机上配置的某个Interface VLAN接口,应用在其上的ACL作用范围是进入此Interface VLAN接口的所有上CPU处理的报文和经
版权所有?2013,迈普通信技术股份有限公司,保留所有权利 .
??
过Interface VLAN接口转发的报文。
迈普系列交换机可以把ACL作用于入方向、出方向以及用来实现灵活QINQ,在入方向对进入交换机的报文起作用,在出方向对从交换机上出去的报文起作用,对灵活QINQ的实现,在报文进入交换机时添加VLAN TAG的阶段生效。
由于应用在三种对象(三个对象为端口,VLAN和全局)上的ACL作用范围存在重叠。因此,会产生ACL动作冲突的问题(如:在端口上匹配到一条动作为permit的ACE,而在此端口所属的VLAN上匹配到一条动作为deny的ACE)。对这种冲突配置采用相当于串联的方式来实现,如一个报文既匹配了端口上的那条permit规则,又匹配了VLAN上的那条deny规则,最终的结果就是deny。这种方式能实现对一条流只有所有的对象上都允许通过了才能通过。
为了支持报文分类,一条ACL或ACL中的一条动作为permit的ACE,允许绑定一个动作组(Action Group)。ACL上绑定的动作组指明此ACL的默认动作,对其中所有配置为permit的ACE,会默认使用这个动作组配置。对于每一个动作组,允许绑定一个计量器(Traffic Meter)用于报文着色和限速。
对ACL上绑定动作组和ACE上绑定动作组有一点区别,这个区别就是在ACL上绑定的动作组中如果配置有限速功能,那么对该ACL中没有绑定动作组且为permit的ACE会共同进行限速。而在ACE上绑定的动作组只会对本条流进行限速。如:一条ACL中三条permit的ACE,分别为ACE1,ACE2,ACE3 如果在ACE1上绑定的动作组进行限速的大小为10M,在ACL上绑定的动作组进行限速10M。这时对限速的效果就是匹配ACE1的流被限制成10M,能匹配ACE2和ACE3两条流总共被限制成10M。
迈普系列交换机ACL在应用中,ACL中ACE的语义有一些差别。对于报文过滤应用,ACE中的permit表示允许,deny表示拒绝。对于报文分类和流量控制应用,deny的语义和报文过滤相同,但permit的语义变成了“在某类报文上应用某个动作”。因此,用在这两类应用的ACL或ACL的ACE中,应配置action-group(动作组)参数,以指明对于匹配的报文应该采取什么样的动作。在此需要说明的是,对于流量控制也抽象为一种动作,在动作组的配置参数中按名引用计量器。
ACL动作组分成三类,分别为l2动作组,l3动作组和egr动作组,l2动作组用于MAC ACL作用于 入方向,对进入交换机的报文就进行相应的动作。L3动作组用于IP ACL和IPV6 ACL作用于入方向。
版权所有?2013,迈普通信技术股份有限公司,保留所有权利 .
??
Egr动作组用于对出方向的报文进行ACL时需要做的动作,可以关联所有类型的ACL(除Hybrid访问表)。
迈普系列交换机中与ACL功能相关的配置有动作组(Action Group)配置、计量器(Traffic Meter)配置、时间域(Time Range)配置。将在本章的余下的小节中一一进行描述。
本章主要内容有: ? ACL概述
? 配置IP标准访问表 ? 配置IP扩展访问表 ? 配置MAC标准访问表 ? 配置MAC扩展访问表 ? 配置HYBRID访问表 ? 配置IPV6访问表 ? 配置MPLS 标准访问表 ? 配置条目限制
? 配置时间域(Time Range) ? 配置动作组
? 配置计量器(Traffic Meter) ? 应用ACL到对象 ? 应用ACL到三层接口上 ? OUT方向ACL匹配方式配置 ? 监控和调试 ? 应用实例
21.1 ACL概述
本节介绍ACL的一些基本常识和概念,包含两小节:
版权所有?2013,迈普通信技术股份有限公司,保留所有权利 .
??
? ACL基本概念 ? ACL分类
21.1.1 ACL基本概念
一条ACL由一系列的规则组成,每条规则的动作可为permit或deny,声明相应的匹配条件及行为。ACL的规则是根据报文的某些字段来识别报文的,在常用的IP访问表中,这些字段可以包括:
? IP协议号:指定TCP报文、UDP报文,还是所有IP报文,也可以在0~255的范围内选择一
个数值来指定IP协议号。
? 源IP地址:可以指定全部32位源IP地址,也可以指定一个源子网。 ? 目的IP地址:可以指定全部32位目的IP地址,也可以指定一个目的子网。 ? TCP/UDP源端口号:可以指定知名端口的名字,也可以指定端口的数字。 ? TCP/UDP目的端口号:可以指定知名端口的名字,也可以指定端口的数字。 在常用的IPV6访问表中,这些字段可以包括:
? IPV6协议号:指定TCP报文、UDP报文,还是所有IPV6报文,也可以在0~255的范围内选
择一个数值来指定IPV6协议号。
? 源IPV6地址:可以指定全部128位源IPV6地址,也可以指定一个源子网。 ? 目的IPV6地址:可以指定全部128位目的IP地址,也可以指定一个目的子网。 ? TCP/UDP源端口号:可以指定知名端口的名字,也可以指定端口的数字。
规则的序号(Sequence)指的是该规则在整条ACL中的顺序编号。一条ACL可以由多条规则组成,每一条规则指定的数据包的范围都不完全相同,它们可能存在重叠或矛盾的地方,为了避免产生歧义,ACL对数据包进行匹配时,严格按照从小序号到大序号的顺序进行,序号小的规则首先生效。当所有的规则都不匹配时,执行默认的丢弃动作,也就是说,一切没有被允许通过的报文都会被拒绝。
在配置规则的时候,可以指定规则的序号,也可以不指定规则的序号。当指定规则的序号时,新增的规则会按其序号的大小被插入到访问表的适当位置;当不指定规则的序号时,新增的规则总是被添加到访问表的末尾,并且系统会自动为它分配一个序号,一般以10为一个步长。
版权所有?2013,迈普通信技术股份有限公司,保留所有权利 .
??
ACL的作用域指的是ACL用于IN方向或OUT方向,以及作用于灵活QINQ。 在本文档中IN方向和入方向是一个意思,OUT方向和出方向,EGR是一个概念。 VFP和灵活QINQ是一个意思。
21.1.2 ACL分类
按照访问表的用途,可以分为七种类型: ? IP标准访问表 ? IP扩展访问表 ? IPV6访问表 ? MAC标准访问表 ? MAC扩展访问表 ? HYBRID访问表 ? MPLS 标准访问表
访问表可以用名字来命名,也可以用数字来命名。
如果用名字来命名,这五种访问表共享同一个名字空间,也就是说,如果IP标准访问表使用了某个名字,那么其他的访问表都不能再使用这个名字。
如果用数字来命名,这五种访问表都有固定的数字取值范围。
访问表类型
IP标准访问表 IP扩展访问表 MAC标准访问表 MAC扩展访问表 HYBRID访问表 MPLS 标准访问表 IPV6访问列表
数字取值范围 1~1000 1001~2000 2001~3000 3001~4000 5001~6000 6001~7000 7001~8000
版权所有?2013,迈普通信技术股份有限公司,保留所有权利 .
??