访问控制列表 (Access Control List,ACL) 是目前使用最多的访问控制实现技术。访问控制列表是路由器接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk 等。访问控制列表可以分为基本访问控制列表和高级访问控制列表。ACL的默认执行顺序是自上而下,在配置时要遵循最小特权原则、最靠近受控对象原则及默认丢弃原则。
一、华为设备ACL 分类
分类 | 编号范围 | 支持的过滤选项 |
基本 ACL | 2000~ 2999 | 匹配条件较少,只能通过源IP地址和时间段来进行流量 匹配,在一些只需要进行简单匹配的功能中可以使用 |
高级 ACL | 3000~ 3999 | 匹配条件较为全面,通过源IP地址、目的IP地址、ToS、 时间段、协议类型、优先级、ICMP报文类型和ICMP报 文码等多个维度对流量进行匹配,在大部分功能中都可 使用高级ACL进行精确流量匹配 |
基于 MAC 地址的 ACL | 4000~ 4999 | 由于数据链路层使用MAC地址来进行寻址,所以在控制 数据链路层帧时需要通过MAC地址来对流量进行分类。 基于MAC地址的ACL就可以通过源MAC地址、目的MAC 地址、CoS、协议码等维度来进行流量匹配 |
用户自 定义 | 5000- 5999 | 用户自定义ACL |
二、ACL规则匹配方式
(1)配置顺序。
配置顺序根据ACL规则的ID进行排序,ID小的规则排在前面,优先进行匹配。当找到第一条匹配条件的规则时,查找结束。系统按照该规则对应的动作处理。
(2)自动顺序。
自动顺序也叫深度优先匹配。此时ACL规则的ID 由系统自动分配,规则中指定数据包范围小的排在前面,优先进行 匹配。当找到第一条匹配条件的规则时,查找结束。系统按照该规则对应的动作处理。
1)对于基本访问控制规则的语句,直接比较源地址通配符,通配符相同的则按配置顺序。
2)对于高级访问控制规则,首先比较协议范围,再比较源地址通 配符,都相同时比较目的地址通配符,仍相同时则比较端口号的范围,范围小的排在前面,如果端口号范围也相同则按配置顺序。
三、ACL 配置步骤
(1)执行命令system-view, 进入系统视图。
(2)执行命令acl [number]acl-number [match-order{config|auto }],创建基本ACL 并进入相应视图。
1)acl-number 的取值决定了ACL 的类型,ACL 的取值范围基本在2000~2999之间。
2)match-order 指定了ACL 各个规则之间的匹配顺序:选择参数config,ACL 的匹配顺序按照规则ID来排序,ID小的规则排在前面,优先匹配;选择参数auto, 将使用深度优先的匹配顺序。默认值是config, 按照规则ID来排序。
(3)执行命令,创建基本ACL 规则。
rule[rule-id]{deny|permit}[logging|source{source-ip-address{0|sourcewildcard}|address-setaddress-set-name|any}time-rangetime-name]*[descriptiondescription]
配置注意:
如配置时没有指定编号rule-id, 表示增加一条新的规则,此时系 统会根据步长,自动为规则分配一个大于现有规则最大编号且是 步长整数倍的最小编号。如配置时指定了编号rule-id,如果相应 的规则已经存在,表示对已有规则进行编辑,规则中没有编辑的 部分不受影响;如果相应的规则不存在,表示增加一条新的规则,并且按照指定的编号将其插入到相应的位置。
配置好ACL, 还需要将ACL 应用到相应的接口才会生效。应用ACL时,为了尽可能提高效率和降低对网络的影响,通常基本ACL 尽量部署在靠近目标主机的区域接口上,而高级ACL 尽量部署在靠近源主机所在区域的接口上。
四、典型例题
如下图所示,某公司的总部和分公司网络拓扑,分公司和总部数据中心通 过ISP1的网络和ISP2 的网络互连。并且连接5G出口作为应急链路,分公司和总部数据中心交互的业务有语音、视频、FTP和 HTTP四种。要求通过配置策略路由实现分公司访问业务分流。配置网 络质量分析(NQA) 与静态路由联动实现链路冗余。其中,语音和 视频以ISP1为主链路、ISP2 为备份;FTP 和 HTTP 以ISP2为主链路,ISP1为备份。
【问题1】(4分)
通过在R1上配置策略路由、以实现分公司访问总部的流量可根据业务类 型分组到L1和L2两条链路并形成主备关系,首先完成ACL 相关配置。
配置R1 上的ACL 来定义流:
首先定义视频业务流ACL2000:
[R1]ac12000
[R1-acl-basic-2000]rule 1 permit destination (1)0.0.255.255
[R1-acl-basic-2000]quit
定义Web业务流ACL 3000;
[R1]acl 3000
[R1-acl-adv-3000]rule 1 permit tcp destination any destination-port (2)0.0.255.255
[R1-acl-basic-3000]quit
答案:(1)2.2.0.0 (2)eq 80
【问题2】(8分)
完成R1策略路由剩余相关配置
1:创建流分类,匹配相关ACL 定义的流
[R1]traffic classifier video
[R1-classifier-video]if-matchacl 2000
[R1-classifier-video]quit
[Rl]traffic classifier web
[R1-classifier-web]if-match acl 3000
[R1-classifier-web]quit
2:创建流行为并配置重定向
[Rl]traffic behavior bl
[R1-behavior-bl]redirect ip-nexthop (3)
[R1-behavior-bl]quit
[R1]traffic behavior b2
[R1-behavior-b2]redirect ip-nexthop(4)
[R1-behavior-b2]quit
答案: (3)30.13.0.3 (4)40.14.0.4 (5)b2 (6)inbound
3:创建流策略,并在接口上应用
[R1]traffic policy pl
[R1-trafficpolicy-pl]classifier video behavior b1
[R1-trafficpolicy-pl]classifier web behavior (5)
[Rl-trafficpolicy-pl]quit
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]traffic-policy 1(6)
[R1-GigabitEthernet0/0/0]quit
答案:(5)b2(6)inbound