ACL(Access Control List:访问控制列表),通过定义一系列关于数据报文的匹配规则,对数据报文的转发进行控制的技术。在数据通信过程中,通过定义ACL,可以对数据流量的转发进行分类和控制。如果把一个网络比作一条高速公路,流量相当于各种不同的车辆,那么ACL就是中间的收费站规则,这些规则会对车辆进行一些限制,比如不让自行车和摩托车上高速,对于要下高速的车辆也会进行各种检查等。ACL可以定义在端口的入方向或者出方向,就像高速公路会对进入和离开的车辆都进行检查一样。
ACL
ACL相关的术语和特性概述
ACL的规则/ACL
根据进入设备的报文中的字段,执行一系列的规则对报文进行匹配,如报文的IP、MAC等信息。
ACL的规则匹配/ACL
每一条ACL的规则都包含一个独立的编号,这些编号之间存在一定的间隔,一般默认的间隔(步长)为5,越往后ACL的编号越大,进行规则匹配时,优先匹配编号小的ACL,匹配成功后就不再往后匹配。
ACL的动作/ACL
ACL的动作分为permit和deny,针对要转发的报文,匹配结果为permit的报文会被放通,匹配结果为deny的报文会被丢弃。同时与其他业务模块联动时,会根据其他业务模块的策略做出相应的动作。
ACL的方向/ACL
ACL在应用的过程中,需要配置ACL的方向,分为入方向和出方向。入方向ACL即对进入的报文进行检查和规则匹配,出方向ACL即对即将离开的报文进行检查和规则匹配。
ACL的时间域/ACL
时间域是时间段的集合,一个时间域可包含零到多个时间段,时间域的时间范围是各个时间段的并集。时间域可与ACL或ACL规则进行绑定,作为ACL或ACL规则是否生效的条件。
时间段有以下两种:
周期性时间段,周期性时间段是选择星期一到星期日中某一天或某几天,以及开始时间点和结束时间点作为时间段,每周重复生效;
绝对时间段,绝对时间段是以指定的日期和时间范围内生效。
ACL
ACL的分类
不同厂商对于ACL的类别和数字取值范围大同小异,根据ACL的用途,迈普对于ACL的分类定义如下:
IP标准ACL
1~1000,只根据源IP地址制定规则。
IP扩展ACL
1001~2000,IP扩展ACL可以根据IP协议号、源IP地址、目的IP地址、源TCP/UDP端口号、目的TCP/UDP端口号、报文优先级、TCP标志、分片标志等字段制定分类规则。
MAC标准ACL
2001~3000,只根据源MAC地址制定规则。
MAC扩展ACL
3001~4000,根据以太协议类型、源MAC地址、目的MAC地址、VLAN ID、802.1p优先级等属性制定分类规则。
Hybrid基本ACL
5001~6000,根据IP协议号、源IP地址、源MAC地址、报文优先级、VLAN ID、802.1p优先级等属性制定分类规则。
Hybrid扩展ACL
9001~9100,根据IP协议号、源目的IP地址、源目的MAC地址、源TCP/UDP端口号、目的TCP/UDP端口号、报文优先级、TCP标志、分片标志等属性制定分类规则。
ACL
ACL的作用域
ACL可以在不同的视图下进行绑定,不同视图下绑定的ACL作用域也不同,主要有如下几类:
· 1 ·
物理接口下绑定:在该物理接口下生效;
· 2 ·
VLAN下绑定:在该VLAN内生效,主要匹配二层ACL;
· 3 ·
VLAN接口下绑定:在该VLAN接口内生效,主要匹配三层ACL;
· 4 ·
全局视图绑定:对所有进出设备业务端口的报文都可以进行ACL的匹配;
· 5 ·
Line Vty内绑定:针对登录设备的用户生效;
· 6 ·
路由策略内绑定:针对路由协议内的路由进行规则匹配。
ACL
ACL的工作流程
ACL基础的工作流程如下:
ACL
流控制的种类
当转发报文进入设备时,我们根据报文的某些特征,采用ACL进行识别分类。对不同的分类流量可以采用不同的动作:
转发控制:permit/deny 流量;
计数器:根据流分类的结果对匹配的报文进行计数;
计量器:根据流分类的结果对匹配的报文进行限速或标记;
流镜像:将匹配的报文镜像到指定的端口;
重定向:将匹配的报文重定向到指定的端口或者指定的下一跳;
重标记:对匹配的报文进行分类。以便用户在后续的数据通信中采取不同的QoS策略。
ACL
ACL的使用场景
上面我们看到了ACL与动作组联动的一些应用,不仅如此,ACL还可以与诸多业务模块配合使用,主要分为以下四类:
综上,ACL广泛应用于各个领域,例如对于网络的转发提供了非常灵活的策略;对客户端的访问进行控制,很好地保护了业务接入的安全性;同时还能够防攻击,保证设备的正常运行。伴随着网络技术的发展,传统ACL也一直在扩展中,ACL的能力也越来越丰富。