访问控制列表(ACL, Access Control List)是华为 VRP5 平台中用于匹配报文特征的基础工具,广泛应用于路由策略、QoS、NAT、防火墙、策略路由等场景。ACL 本身不执行动作,仅提供“匹配”能力,需与其他功能联动实现控制。
本文详细介绍 基本 ACL、高级 ACL 和 时间段 ACL 的原理、配置及典型应用。
1. ACL 类型与编号范围
说明:
VRP5 同时支持 数字 ACL(如 acl 2000)和 命名 ACL(如 acl name MY_ACL basic)
本文以数字 ACL 为主,命名方式语法类似
2. 基本 ACL(2000–2999)
2.1 匹配字段
仅匹配 源 IPv4 地址
使用 通配符掩码(Wildcard Mask),0 表示精确匹配,1 表示忽略
2.2 配置语法
[Router] acl number 2000
[Router-acl-basic-2000] rule [id] {permit | deny} source <ip-address> <wildcard-mask>2.3 示例:允许特定网段登录 VTY
[Router] acl 2001
[Router-acl-basic-2001] rule 5 permit source 192.168.10.0 0.0.0.255
[Router-acl-basic-2001] rule 10 deny source any
[Router] user-interface vty 0 4
[Router-ui-vty0-4] acl 2001 inbound效果:仅 192.168.10.0/24 可通过 Telnet/SSH 登录
2.4 注意事项
source any等价于0.0.0.0 255.255.255.255规则按 ID 从小到大顺序匹配,命中即停
默认末尾隐含
deny any(所有未匹配流量被拒绝)
3. 高级 ACL(3000–3999)
3.1 匹配字段(支持以下任意组合)
3.2 配置语法
[Router] acl number 3000
[Router-acl-adv-3000] rule [id] {permit | deny} <protocol> \
[source <src-ip> <src-wildcard>] \
[destination <dst-ip> <dst-wildcard>] \
[source-port <operator> <port>] \
[destination-port <operator> <port>] \
[icmp-type <type>] \
[dscp <value>] \
[packet-length <min> [<max>]]3.3 示例:限制 Web 访问
[Router] acl 3001
# 允许 HR 部门访问财务服务器的 HTTPS
[Router-acl-adv-3001] rule 5 permit tcp source 192.168.20.0 0.0.0.255 destination 10.10.30.100 0 destination-port eq 443
# 拒绝其他部门访问财务服务器所有服务
[Router-acl-adv-3001] rule 10 deny ip source 192.168.0.0 0.0.255.255 destination 10.10.30.100 0
# 允许其他正常通信
[Router-acl-adv-3001] rule 15 permit ip source any destination any3.4 端口操作符
4. 时间段 ACL(Time Range)
时间段 ACL 不是独立 ACL 类型,而是为基本/高级 ACL 规则附加生效时间。
4.1 时间段定义
[Router] time-range WORK_HOURS
[Router-time-range-WORK_HOURS] period-range 09:00 to 18:00 working-day
[Router-time-range-WORK_HOURS] quit4.2 支持的时间模式
4.3 应用示例:工作时间限制游戏流量
[Router] time-range GAME_TIME
[Router-time-range-GAME_TIME] period-range 12:00 to 13:30 daily
[Router-time-range-GAME_TIME] period-range 18:00 to 22:00 working-day
[Router-time-range-GAME_TIME] quit
[Router] acl 3002
# 工作时间外禁止访问游戏服务器(假设端口 10000)
[Router-acl-adv-3002] rule 5 deny udp destination 203.0.113.50 0 destination-port eq 10000 time-range GAME_TIME
[Router-acl-adv-3002] rule 10 permit ip source any destination any注意:
时间段规则仅在指定时间激活,其他时间该规则不生效(相当于被注释)
设备时间必须准确(建议配置 NTP)
5. ACL 规则管理
5.1 规则 ID 与插入
默认规则 ID 步长为 5(便于后续插入)
可显式指定 ID 插入规则:
[Router-acl-adv-3000] rule 7 permit tcp source 10.1.1.50 0 ...
5.2 查看与调试
命中计数器用途: 若某规则命中数为 0,可能表示流量未匹配或方向错误。
6. 应用场景与注意事项
6.1 典型应用场景
6.2 重要注意事项
匹配顺序
ACL 按规则 ID 从小到大顺序匹配,命中即停
建议将精确规则放前,宽泛规则放后
隐式拒绝
所有 ACL 末尾隐含
deny any若需允许其他流量,必须显式配置
permit any
方向性
ACL 应用时需明确 inbound / outbound 方向
例如:接口入方向 ACL 匹配进入设备的报文
性能影响
高级 ACL 比基本 ACL 消耗更多资源
避免使用过于复杂的规则(如多端口 range)
通配符掩码计算
通配符 = 255.255.255.255 – 子网掩码
示例:/24 → 255.255.255.0 → 通配符 0.0.0.255
7. 故障排查要点
最佳实践:
使用 rule ID 分段(如 5, 10, 15…)预留插入空间
为每条规则添加 注释(通过描述性 ID 或文档)
在生产环境部署前,先用
display acl ... verbose验证匹配行为优先使用 高级 ACL 实现精确控制,避免过度依赖基本 ACL
通过合理设计 ACL 规则,可有效实现网络安全、流量调度与策略控制,是网络工程师必备的核心技能。