目录
Access Control List 访问控制列表
前言
企业网络中的设备进行通信时,需要保障数据传输的安全可靠和网络的性能稳定。
访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
ACL应用场景
⦁ ACL是由一系列规则组成的集合。设备可以通过这些规则对数据包进行分类,并对不同类型的报文进行不同的处理。
⦁ 本示例中,网关RTA允许192.168.1.0/24中的主机可以访问外网,也就是Internet;而192.168.2.0/24中的主机则被禁止访问Internet。对于服务器A而言,情况则相反。网关允许192.168.2.0/24中的主机访问服务器A,但却禁止192.168.1.0/24中的主机访问服务器A。
设备可以依据ACL中定义的条件(例如源IP地址)来匹配入方向的数据,并对匹配了条件的数据执行相应的动作。在本示例所述场景中,RTA依据所定义的ACL而匹配到的感兴趣流量来自192.168.2.0/24网络,RTA会对这些感兴趣流量进行加密(虚拟局域网VPN中会进行介绍)之后再转发。
ACL分类
⦁ 根据不同的划分规则,ACL可以有不同的分类。最常见的三种分类是基本ACL、高级ACL和二层ACL。
⦁ 基本ACL可以使用报文的源IP地址、分片标记和时间段信息来匹配报文,其编号取值范围是2000-2999。
⦁ 高级ACL可以使用报文的源/目的IP地址、源/目的端口号以及协议类型等信息来匹配报文。高级ACL可以定义比基本ACL更准确、更丰富、更灵活的规则,其编号取值范围是3000-3999。
⦁ 二层ACL可以使用源/目的MAC地址以及二层协议类型等二层信息来匹配报文,其编号取值范围是4000-4999。
ACL规则
⦁ 一个ACL可以由多条“deny | permit”语句组成,每一条语句描述了一条规则。设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。如果不匹配,则匹配下一条。一旦找到一条匹配的规则,则执行规则中定义的动作,并不再继续与后续规则进行匹配。如果找不到匹配的规则,则设备不对报文进行任何处理。需要注意的是,ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形。
⦁ ARG3系列路由器支持两种匹配顺序:配置顺序和自动排序。
⦁ 配置顺序按ACL规则编号(rule-id)从小到大的顺序进行匹配。设备会在创建ACL的过程中自动为每一条规则分配一个编号,规则编号决定了规则被匹配的顺序。例如,如果将步长设定为5,则规则编号将按照5、10、15…这样的规律自动分配。如果步长设定为2,则规则编号将按照2、4、6、8…这样的规律自动分配。通过设置步长,使规则之间留有一定的空间,用户可以在已存在的两个规则之间插入新的规则。路由器匹配规则时默认采用配置顺序。另外,ARG3系列路由器默认规则编号的步长是5。
⦁ 自动排序使用“深度优先”的原则进行匹配,即根据规则的精确度排序。
⦁ 本示例中,RTA收到了来自两个网络的报文。默认情况下,RTA会依据ACL的配置顺序来匹配这些报文。网络172.16.0.0/24发送的数据流量将被RTA上配置的ACL2000的规则15匹配,因此会被拒绝。而来自网络172.17.0.0/24的报文不能匹配访问控制列表中的任何规则,因此RTA对报文不做任何处理,而是正常转发。
基本ACL配置
⦁ acl [ number ] 命令用来创建一个ACL,并进入ACL视图。
⦁ rule [ rule-id ] { deny | permit } source { source-address source-wildcard | any } 命令用来增加或修改ACL的规则。deny用来指定拒绝符合条件的数据包,permit用来指定允许符合条件的数据包,source用来指定ACL规则匹配报文的源地址信息,any表示任意源地址。
⦁ traffic-filter { inbound | outbound }acl{ acl-number }命令用来在接口上配置基于ACL对报文进行过滤。
⦁ 本示例中,主机A发送的流量到达RTA后,会匹配ACL2000中创建的规则rule deny source 192.168.1.0 0.0.0.255
⦁ ,因而将被拒绝继续转发到Internet。主机B发送的流量不匹配任何规则,所以会被RTA正常转发到Internet。
配置确认
⦁ 执行display acl <acl-number>命令可以验证配置的基本ACL。
⦁ 本例中,所配置的ACL只有一条规则,即拒绝源IP地址在192.168.1.0/24范围的所有IP报文。
⦁ 执行display traffic-filter applied-record命令可以查看设备上所有基于ACL进行报文过滤的应用信息,这些信息可以帮助用户了解报文过滤的配置情况并核对其是否正确,同时也有助于进行相关的故障诊断与排查。
高级ACL配置
⦁ 基本ACL可以依据源IP地址进行报文过滤,而高级ACL能够依据源/目的IP地址、源/目的端口号、网络层及传输层协议以及IP流量分类和TCP标记值等各种参数(SYN|ACK|FIN等)进行报文过滤。
⦁ 本示例中,RTA上定义了高级ACL3000,其中第一条规则“rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21”用于限制源地址范围是192.168.1.0/24,目的IP地址为172.16.10.1,目的端口号为21的所有TCP报文;第二条规则“rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.2 0.0.0.0 ”用于限制源地址范围是192.168.2.0/24,目的地址是172.16.10.2的所有TCP报文;第三条规则“rule permit ip”用于匹配所有IP报文,并对报文执行允许动作。
配置验证
执行display acl <acl-number>命令可以验证配置的高级ACL。
显示信息表明:RTA上一共配置了3条高级ACL规则。第一条规则用于拒绝来自源IP地址192.168.1.0/24,目的IP地址为172.16.10.1,目的端口为21(SFTP)的TCP报文;第二条规则用于拒绝来自源IP地址192.168.2.0/24,目的IP地址为172.16.10.2的所有TCP报文;第三条规则允许所有IP报文通过。
ACL应用-NAT
⦁ ACL还可用于网络地址转换操作,以便在存在多个地址池的情况下,确定哪些内网地址是通过哪些特定外网地址池进行地址转换的。例如,某企业网络作为客户连接到多个服务供应商网络,企业网络内的用户位于不同的网段/子网,他们期望分别通过某个特定的地址组进行地址转换来实现报文转发。这种情况极有可能发生在连接不同服务供应商网络的路由器上行端口。
⦁ 本示例中,要求192.168.1.0/24中的主机使用地址池1中的公网地址进行地址转换,而192.168.2.0/24中的主机使用地址池2中的公网地址进行地址转换。
⦁ 执行nat outbound <acl-number> address-group <address-group number>命令,可以将NAT与ACL绑定。
⦁ 本示例中,私网192.168.1.0/24将使用地址池220.110.10.8-220.110.10.15进行地址转换,私网192.168.2.0/24将使用地址池202.115.60.1-202.115.60.30进行地址转换。
总结
1.高级ACL可以基于源/目的IP地址,源/目的端口号,协议类型以及IP流量分类和TCP标记值(SYN|ACK|FIN等)等参数来定义规则。
华为HCIA基础实验 - ACL & eNSP
ACL 基础实验1: 基本ACL 配置
ACL 基础实验2: 高级ACL 配置
==========
ACL 基础实验1: 基本ACL 配置
基本的配置,全网运行OSPF
R1:
un ter mo
sys
sysname R1
int loo0
ip add 1.1.1.1 32
int g0/0/0
ip add 192.168.13.1 24
q
ospf router-id 1.1.1.1
area 0
net 1.1.1.1 0.0.0.0
net 192.168.13.1 0.0.0.0
q
R2:
un ter mo
sys
sysname R2
int loo0
ip add 2.2.2.2 32
int g0/0/0
ip add 192.168.23.2 24
q
ospf router-id 2.2.2.2
area 0
net 2.2.2.2 0.0.0.0
net 192.168.23.2 0.0.0.0
q
R3:
un ter mo
sys
sysname R3
int loo0
ip add 3.3.3.3 32
int g0/0/0
ip add 192.168.13.3 24
int g0/0/1
ip add 192.168.23.3 24
int g0/0/2
ip add 192.168.34.3 24
q
ospf router-id 3.3.3.3
area 0
net 3.3.3.3 0.0.0.0
net 192.168.13.3 0.0.0.0
net 192.168.23.3 0.0.0.0
net 192.168.34.3 0.0.0.0
q
R4:
un ter mo
sys
sysname R4
int loo0
ip add 4.4.4.4 32
int g0/0/0
ip add 192.168.34.4 24
q
ospf router-id 4.4.4.4
area 0
net 4.4.4.4 0.0.0.0
net 192.168.34.4 0.0.0.0
q
==========
telnet 登陆
配置完成后,设置 telnet
R4:
user-interface vty 0 4
set authentication password cipher huawei
user privilege level 3
R1 telnet R4,是可以实现的
R2 R3 也可telnet R4
设置ACL ,只允许R1 R3 可以telnet ,R2 则不可以
R4:
acl 2000
rule permit source 192.168.13.1 0
rule permit source 192.168.34.3 0
rule deny
user-interface vty 0 4
acl 2000 inbound
配置完成后,R2 不可以 telnet R4,其它则可以
==========
ping 测试
R1不可以ping 通R4,
R3:
acl 2000
rule deny source 192.168.13.0 0.0.0.255
rule permit
int g0/0/0
traffic-filter inbound acl 2000
R1 ping 不通
R3做了这条ACL 之后,R1 ping 不通R4,也telnet不了R4
基本ACL 拒绝的范围很大,不精确
==========
ACL 基础实验2: 高级ACL 配置
配置与上面的基本ACL相同
设置ACL ,拒绝R1 上的1.1.1.1 ping 4.4.4.4
R4:
acl 3000
rule deny ip source 1.1.1.1 0 destination 4.4.4.4 0
int g0/0/0
traffic-filter inbound acl 3000
R1上测试一下 ping -a 1.1.1.1 4.4.4.4,发现不通了
现在R1 直接ping R4,可能通,telnet R4 也可以
==========
要求R1 可以ping,但不能 telnet R4
R3:
acl 3000
rule deny tcp source 192.168.13.1 0 destination 192.168.34.4 0 destination-port eq 23
rule permit ip
int g0/0/0
traffic-filter inbound acl 3000
R1 测试,查看效果
达到我们的要求
R3: display acl 3000 查看被匹配到的条目数
查看接口ACL 应用情况
display traffic-filter applied-record
练习题:ACL
关于访问控制列表编号与类型的对应关系,下面描述正确的是()。
A. 基本的访问控制列表编号范围是1000-2999
B. 高级的访问控制列表编号范围是3000-9000
C. 基本的访问控制列表编号范围是2000-2999
D. 基本的访问控制列表编号范围是1000-2000
Correct Answer: C
ACL不会过滤设备自身产生的访问其他设备的流量,只过滤转发的流量,转发的流量中包括其他设备访问该设备的流量。
正确
在华为设备上部署 ACL 时,下面描述正确的是()。(多选)
A. 在接口下调用 ACL 只能应用于出口方向
B. 同一个 ACL 可以调用在多个接口下
C. ACL 定义规则时,只能按照 10、20、30 这样的顺序
D. ACL 不可以用于过滤 OSPF 流量,因为 OSPF 流量不使用 UDP 协议封装
E. ACL 可以匹配报文的 TCP/UDP 的端口号,且可以指定端口号的范围
Correct Answer: BE
在路由器RTA上完成如上所示的ACL配置,则下面描述正确的是()。
[RTA]acl 2001
[RTA-acl-basic-2001]rule 20 permit source 20.1.1.0 0.0.0.255
[RTA-acl-basic-2001]rule 10 deny source 20.1.1.0 0.0.0.255
A. VRP系统将会自动按配置先后顺序调整第一条规则的顺序编号为5
B. VRP系统不会调整顺序编号,但是会先匹配第一条配置的规则20.1.1.0 0.0.0.255
C. 配置错误,规则的顺序编号必须从小到大配置
D. VRP系统将会按照顺序编号先匹配第二条规则 deny source 20.1.1.0 0.0.0.255
Correct Answer: D
下列哪项参数不能用于高级访问控制列表?
A. 物理接口
B. 目的端口号
C.协议号
D.时间范围
Correct Answer: A
[RTA]acl 2002
[RTA-acl-basic-2002]rule deny source 172.16.1.1 0.0.0.0
[RTA-acl-basic-2002]rule deny source 172.16.0.0 0.255.0.0
在路由器PTA上使用如上所示ACL匹配路由条目,则下列哪些条目将会被匹配上?(多选)
A. 172.16.1.1/32
B. 172.16.1.0/24
C. 192.17.0.0/24
D. 172.18.0.0/16
Correct Answer: AD
AR G3 系列路由器的 ACL 支持两种匹配顺序:配置顺序和自动排序。
A. 正确
B. 错误
Correct Answer: A
华为设备上的高级ACL可以用于过滤下面哪些内容?(多选)
A. 基于特定源地址的网络流量
B. 基于特定应用程序的流量,比如QQ
C. 基于特定目的地址的网络流量
D. 基于特定端口号的网络流量
E. 基于特定用户名的网络流量
Correct Answer: ACD