ACL(访问控制列表)详解:基本 ACL / 高级 ACL / 时间段 ACL 15.

Administrator
Administrator
发布于 2026-03-05 / 0 阅读
0
0

ACL(访问控制列表)详解:基本 ACL / 高级 ACL / 时间段 ACL 15.

访问控制列表(ACL, Access Control List)是华为 VRP5 平台中用于匹配报文特征的基础工具,广泛应用于路由策略、QoS、NAT、防火墙、策略路由等场景。ACL 本身不执行动作,仅提供“匹配”能力,需与其他功能联动实现控制。

本文详细介绍 基本 ACL高级 ACL时间段 ACL 的原理、配置及典型应用。

1. ACL 类型与编号范围

ACL 类型

编号范围

匹配能力

典型用途

基本 ACL

2000–2999

仅源 IP 地址

简单过滤、VTY 登录控制

高级 ACL

3000–3999

源/目的 IP、协议、端口、ICMP 类型等

精细流量控制、安全策略

二层 ACL

4000–4999

源/目的 MAC、VLAN、以太类型

二层安全(本文不展开)

用户自定义 ACL

5000–5999

报文偏移量匹配

特殊协议识别(较少用)

时间段 ACL

基于时间生效

定时策略(需配合基本/高级 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 匹配字段(支持以下任意组合)

字段

关键字

示例

协议

protocol

tcp, udp, icmp, ip

源 IP

source

source 10.1.1.0 0.0.0.255

目的 IP

destination

destination 172.16.1.100 0

源端口

source-port

source-port eq 80

目的端口

destination-port

destination-port range 1024 65535

ICMP 类型

icmp-type

icmp-type echo

DSCP

dscp

dscp af11

报文长度

packet-length

packet-length 1000 1500

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 any

3.4 端口操作符

操作符

含义

示例

eq

等于

eq 80

gt

大于

gt 1024

lt

小于

lt 1024

range

范围

range 20 21

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] quit

4.2 支持的时间模式

模式

语法

说明

绝对时间

from <date> <time> to <date> <time>

from 2026-03-01 00:00 to 2026-03-31 23:59

周期时间

period-range <start> to <end> <day>

<day> 可为 working-day(工作日)、dailymonsun

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 查看与调试

命令

功能

display acl all

显示所有 ACL 配置

display acl 3000

显示指定 ACL

reset acl counter 3000

清零命中计数器

display acl 3000 verbose

显示规则命中次数(用于验证匹配)

命中计数器用途 若某规则命中数为 0,可能表示流量未匹配或方向错误。

6. 应用场景与注意事项

6.1 典型应用场景

场景

ACL 类型

说明

VTY 登录控制

基本 ACL

限制管理源地址

NAT 地址池匹配

基本 ACL

定义哪些内网地址可转换

策略路由匹配

高级 ACL

按应用类型分流

OSPF 过滤引入路由

基本/高级 ACL + Route-Policy

控制 import-route

QoS 流分类

高级 ACL

标记关键业务流量

6.2 重要注意事项

  1. 匹配顺序

    • ACL 按规则 ID 从小到大顺序匹配命中即停

    • 建议将精确规则放前,宽泛规则放后

  2. 隐式拒绝

    • 所有 ACL 末尾隐含 deny any

    • 若需允许其他流量,必须显式配置 permit any

  3. 方向性

    • ACL 应用时需明确 inbound / outbound 方向

    • 例如:接口入方向 ACL 匹配进入设备的报文

  4. 性能影响

    • 高级 ACL 比基本 ACL 消耗更多资源

    • 避免使用过于复杂的规则(如多端口 range)

  5. 通配符掩码计算

    • 通配符 = 255.255.255.255 – 子网掩码

    • 示例:/24 → 255.255.255.0 → 通配符 0.0.0.255

7. 故障排查要点

问题现象

检查步骤

ACL 未生效

1. 确认 ACL 已正确应用到目标功能(如 interface、route-policy)2. 检查方向(in/out)是否正确3. display acl <id> verbose 查看命中计数

流量被意外拒绝

1. 检查是否有更前的 deny 规则匹配2. 确认通配符掩码是否过宽/过窄3. 验证协议/端口是否匹配实际流量

时间段不生效

1. display clock 确认设备时间准确2. 检查时间段名称拼写3. 确认规则中已引用 time-range

最佳实践

  • 使用 rule ID 分段(如 5, 10, 15…)预留插入空间

  • 为每条规则添加 注释(通过描述性 ID 或文档)

  • 在生产环境部署前,先用 display acl ... verbose 验证匹配行为

  • 优先使用 高级 ACL 实现精确控制,避免过度依赖基本 ACL

通过合理设计 ACL 规则,可有效实现网络安全、流量调度与策略控制,是网络工程师必备的核心技能。


评论