一、ACL 基本概念
访问控制列表(ACL,Access Control List)是由多条过滤规则组成的集合。其中规则是用于判断报文是否匹配的条件语句,可依据报文的源 IP 地址、目的 IP 地址、传输端口号等信息进行判定。
ACL 的本质是报文过滤器,每条规则相当于过滤滤芯。设备按照规则对网络报文进行匹配,实现特定报文的拦截或放行。仅完成 ACL 规则配置无法生效,必须将其在对应业务模块中调用绑定,过滤功能才能正常使用。

(一)主要应用场景
ACL 可嵌入多种网络业务中,常见使用场景如下:
1.流量过滤(Traffic-filter)
2.网络地址转换(NAT)
3.路由策略部署
4.防火墙安全策略
5.服务质量(QoS)管控
6.其他网络安全与流量管控场景
(二)ACL 基本组成
ACL 由若干条规则语句构成,单条语句即为一条独立规则,每条规则包含匹配条件和执行动作两大核心部分:
·permit:允许匹配的报文通过
·deny:拒绝匹配的报文通过
每条规则拥有专属编号,设备默认在所有 ACL 末尾隐含一条规则,用于处理未匹配到任何自定义规则的报文。
二、通配符掩码(Wildcard)
通配符是长度为 32 比特的数值,采用点分十进制格式书写,作用是界定 IP 地址中需要严格匹配和无需匹配的比特位。
核心特点
1.格式与子网掩码相似,但释义完全不同;
2.通配符中的二进制0和1可以不连续分布;
3.匹配规则:二进制位为 0 → 必须严格匹配;二进制位为 1 → 任意匹配、无需校验。
示例
192.168.1.0 0.0.0.254:仅匹配该网段内所有偶数 IP 地址。
三、ACL 的分类与标识方式
(一)按规则定义方式分类(主流划分)
根据匹配依据和功能不同,IPv4 ACL 分为五大类,每类对应固定编号区间:
表格
分类 | 编号范围 | 规则匹配依据 |
基本 ACL | 2000~2999 | 仅依据源 IP 地址、报文分片信息、生效时间段配置规则 |
高级 ACL | 3000~3999 | 可匹配源 / 目的 IP 地址、IP 协议类型、ICMP 类型、TCP/UDP 源 / 目的端口、生效时间段等,功能最全面 |
二层 ACL | 4000~4999 | 基于以太网帧头信息匹配,如源 MAC 地址、目的 MAC 地址、二层协议类型等 |
用户自定义 ACL | 5000~5999 | 通过报文头偏移位置、字符掩码、自定义字符串完成匹配 |
用户 ACL | 6000~6999 | 结合源 / 目的 IP 地址、UCL 用户组、协议类型、端口号等多维度配置规则 |
(二)按标识方式分类
1.数字型 ACL:传统标识方式,创建 ACL 时分配唯一数字编号,依靠编号区分不同 ACL。
2.命名型 ACL:使用自定义名称替代编号标识 ACL,可读性更强,便于后期管理维护。
四、ACL 匹配规则
1.匹配顺序:设备严格按照规则编号从小到大,依次使用规则匹配流经报文。
2.终止原则:报文一旦匹配到某一条规则,立即停止后续所有规则的匹配,并执行该规则对应的permit或deny动作。
3.默认规则:若报文未匹配到任何手动配置的规则,将执行 ACL 末尾隐含规则。
五、基础配置命令
(一)基本ACL(2000~2999)
仅基于源 IP 过滤流量,配置示例:
plaintext
# 创建并进入基本ACL 2000视图
[Router] acl 2000
# 拒绝192.168.1.0/24网段流量
[Router-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255
# 接口入方向调用ACL,实现流量过滤
[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000
(二)高级ACL(3000~3999)
支持源 / 目的 IP、协议、端口等多条件匹配,通用命令格式:
1.创建高级 ACL
plaintext
[Huawei] acl number 3000
1.通用规则语法
·匹配所有 IP 报文: rule [规则编号] {deny | permit} ip source 源IP 通配符 destination 目的IP 通配符
·匹配 TCP 报文(支持端口匹配): rule [规则编号] {deny | permit} tcp source 源IP 通配符 destination 目的IP 通配符 destination-port 端口条件
六、典型配置案例
案例1:基本 ACL 过滤网段流量
需求:禁止192.168.1.0/24网段用户访问服务器网络,放行其他所有流量。
1.在路由器上创建基本 ACL 2000,拒绝目标网段流量;
2.在流量进入的接口GE0/0/1入方向调用 ACL。
完整配置:
plaintext
[Router] acl 2000
[Router-acl-basic-2000] rule deny source 192.168.1.0 0.0.0.255
[Router-acl-basic-2000] quit
[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000
[Router-GigabitEthernet0/0/1] quit
案例2:高级 ACL 限制网段互访
需求:公司分为研发部(10.1.1.0/24)、市场部(10.1.2.0/24),禁止两个网段互相访问。
1.配置 ACL 3001,拒绝研发部访问市场部;
2.配置 ACL 3002,拒绝市场部访问研发部;
3.分别在两个部门对应的接口入方向调用对应 ACL。
完整配置:
plaintext
# 拒绝研发部访问市场部
[Router] acl 3001
[Router-acl-adv-3001] rule deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
[Router-acl-adv-3001] quit
# 拒绝市场部访问研发部
[Router] acl 3002
[Router-acl-adv-3002] rule deny ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[Router-acl-adv-3002] quit
# 接口调用
[Router] interface GigabitEthernet 0/0/1
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 3001
[Router-GigabitEthernet0/0/1] quit
[Router] interface GigabitEthernet 0/0/2
[Router-GigabitEthernet0/0/2] traffic-filter inbound acl 3002
[Router-GigabitEthernet0/0/2] quit
七、补充调试与排错要点
1.查看 ACL 配置与命中统计
plaintext
display acl all # 查看设备所有ACL信息
display acl 编号 # 查看指定ACL的规则、匹配次数
1.清空流量统计(测试专用)
plaintext
reset acl counter all
1.常见故障原因
·未在接口 / 业务模块调用 ACL,配置不生效;
·接口流量方向(inbound/outbound)配置错误;
·通配符掩码书写错误,导致 IP 匹配异常;
·规则顺序不合理,靠前规则提前拦截流量。
夜雨聆风