概述
- 访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
- ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
工作原理
数据流向与入口、出口
基于华为设备ACL工作原理
- 当路由器收到客户端设备发送的数据流量时,会先判断当前设备是否配置了ACL规则,如果没有配置ACL规则,则直接方向数据(转发数据);
- 如果路由器配置了ACL规则,会根据收到的数据包信息,按照从小到大的编号进行规则匹配,如果匹配上了其中任意一条规则,则按照配置内容进行数据包的放行或拒绝;
- 如果中途匹配上了,则不会进行后续的规则匹配;
- 如果所有规则都未匹配上,则将数据放行;
分类
基本ACL
- 仅使用报文的源IP地址、分片信息和生效时间段信息来定义规则。
- 编号取值范围: [2000,2999]
高级ACL
- 既可使用IPv4报文的源IP地址,也可使用目的IP地址、IP协议类型、ICMP类型、TCP源/目的端口、UDP源/目的端口号、生效时间段(五元组:源IP、目标IP、源端口、目标端口、协议类型)等来定义规则。
- 编号取值范围:[3000,3999]
二层ACL
- 使用报文的以太网帧头信息来定义规则,如根据源MAC(Media Access Control)地址、目的MAC地址、二层协议类型等。
- 编号取值范围:[4000,4999]
命令
查看ACL
dis acl 编号
删除ACL
- 删除接口应用ACL
undo traffic-filter inboundundo traffic-filter outbound
- 删除ACL
undo acl 编号
删除ACL规则
undo rule 编号
基本ACL
- 创建ACL(编号取值范围[2000,2999])
acl 编号
- 添加规则(一条ACL允许添加多条规则)
rule [编号] 数据包处理方式 source IP地址 通配符子网掩码
- 应用ACL规则到指定接口
int g编号traffic-filter inbound acl 编号int g编号traffic-filter outbound acl 编号
高级ACL
- 创建ACL(编号取值范围:[3000,3999])
acl 编号
- 添加规则(一条ACL允许添加多条规则,协议必须要指定,其它可选)
rule [编号] 包处理方式 协议 source 源IP 通配符子网掩码 source-port eq 源端口 destination 目标IP 通配符子网掩码 destination-port eq 目标端口
- 应用ACL规则到指定接口
int g编号traffic-filter inbound acl 编号int g编号traffic-filter outbound acl 编号
基本ACL案例
AR1:
sysint g0/0/0ip add 192.168.10.254 24int g0/0/1ip add 192.168.20.254 24qacl 2000rule permit source 192.168.10.1 0.0.0.0rule denyqint g0/0/0traffic-filter inbound acl 2000
高级ACL案例
AR1:
sysint g0/0/0ip add 192.168.10.254 24int g0/0/1ip add 192.168.20.254 24qacl 3000rule deny tcp source 192.168.20.1 0.0.0.0 destination-port eq 21rule permit ipqint g0/0/1traffic-filter inbound acl 3000