ACL概述、ACL原理、基本ACL应用及配置
本文系统介绍了访问控制列表(ACL)的技术要点。主要内容包括:1)ACL的分类,基本ACL(2000-2999)仅匹配源IP,高级ACL(3000-3999)可匹配协议、端口等更多字段;2)ACL的部署原则,基本ACL应靠近目标端,高级ACL应靠近源端;3)ACL的应用场景,包括流量过滤(Traffic-Filter)、NAT转换和策略路由,不同场景下ACL的匹配逻辑存在差异;4)常见协议号及其应
产生背景

ACL概述

ACL应用场景

实验拓扑



协议号 位于IP报文头部,是一个8位字段(取值范围0-255)。它的作用是告诉IP层之上的协议栈:“我这个IP包里面封装的是什么协议的数据?”
| 协议号 | 协议 | 中文名 | 关键特征/记忆口诀 |
|---|---|---|---|
| 1 | ICMP | 互联网控制消息协议 | “万物伊始”。网络控制与诊断的基石(Ping, Traceroute)。 |
| 2 | IGMP | 互联网组管理协议 | “紧随其后”。用于组播组成员管理(视频会议、直播)。 |
| 6 | TCP | 传输控制协议 | “六六大顺”。可靠的、面向连接的协议(HTTP、HTTPS、SSH)。 |
| 17 | UDP | 用户数据报协议 | “一起走吧(17)”。不可靠但高效的协议(DNS查询、视频流、语音)。 |

| 特性 | 基本ACL(2000-2999) | 高级ACL(3000-3999) |
|---|---|---|
| 核心匹配依据 | 只关注“数据从哪里来” | 关注“数据从哪里来,到哪里去,干什么” |
| 匹配条件 | 源IP地址、时间段 | 源IP、目的IP、协议类型(IP/TCP/UDP/ICMP等)、源端口、目的端口、优先级、时间段等 |
| ACL编号范围 | 2000 ~ 2999 | 3000 ~ 3999 |
| 配置命令 | rule [permit/deny] source [IP地址] |
rule [permit/deny] [protocol] source [IP] destination [IP] [port] |
| 设计哲学 | 简单、高效、粗粒度控制 | 精确、灵活、细粒度控制 |
| 典型应用位置 | 尽量靠近目标(目的地) | 尽量靠近源(发起者) |
| 配置复杂度 | 低 | 高 |
部署黄金法则
-
基本ACL部署原则:尽量靠近目的地(Destination)。
-
为什么? 因为它只识别源IP。放在离源太近的地方,会过早地阻断该IP去往其他合法目的地的流量,导致“误杀”。
-
口诀:基本ACL,管谁来的,放得离目标近些。
-
-
高级ACL部署原则:尽量靠近源(Source)。
-
为什么? 因为它能精确识别“源-目的-服务”。在流量发出的地方就进行过滤,可以将非法流量尽早丢弃,避免其占用网络带宽和核心设备资源。
-
口诀:高级ACL,管得精细,放得离源头近些。
-


查看acl





查看acl匹配的报文











ACL匹配规则

ACL的本质
首先,你必须建立一个核心认知:ACL(访问控制列表)本身只是一张写好规则的“过滤清单”。它自己不会做任何事,就像一个写了名单的册子。
关键:这份“过滤清单”可以被网络设备里不同的功能模块拿去使用。不同的模块,对清单里“允许/拒绝”的理解完全不同! 这就是你所有困惑的根源。
下图清晰地展示了ACL在华为网络设备中的核心应用场景及其本质差异:

分场景详解(为什么行为不同)
场景一:ACL + Traffic-Filter(流量过滤)—— “安全门卫”
-
目的:纯粹为了安全,阻止非法访问。
-
逻辑:白名单思维。只放行明确允许的,其他一律拦截。这是最严格的模式。
-
配置与结果:
# 1. 定义ACL:只允许访问Web服务
[Huawei] acl 3000
[Huawei-acl-adv-3000] rule permit tcp destination-port eq 80
# 2. 调用ACL做流量过滤
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] traffic-filter inbound acl 3000
# 结果:
# - HTTP流量(端口80) → 匹配规则 → permit → **允许通过**
# - 其他所有流量(如Ping, SSH) → 无规则匹配 → **匹配隐含规则 → deny → 拒绝丢弃**
场景二:ACL + NAT(网络地址转换)—— “翻译官”
-
目的:控制哪些内网IP可以转换成公网IP上网。
-
逻辑:任务清单思维。只对匹配的流量执行“翻译”(NAT)任务。不匹配的,不归我管,可能由其他NAT规则处理或直接路由。
-
配置与结果:
# 1. 定义ACL:指定哪些内部地址可以转换
[Huawei] acl 2000
[Huawei-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255
# 2. 调用ACL做NAT
[Huawei] interface GigabitEthernet 0/0/0 # 出接口
[Huawei-GigabitEthernet0/0/0] nat outbound 2000
# 结果:
# - 来自192.168.1.0/24的流量 → 匹配规则 → permit → **执行NAT转换**
# - 来自其他网段(如192.168.2.100)的流量 → 无规则匹配 → **不执行NAT,直接转发**
# (如果路由可达,它可能用其他方式出去;如果不可达,则丢弃。但这与NAT模块无关)。
场景三:ACL + 策略路由 / 路由策略 —— “向导”或“人事经理”
-
目的:操控流量路径或路由信息,不关心安全。
-
逻辑:服务窗口思维。只处理名单内的业务,名单外的去隔壁(下一个节点或默认路由)处理。
-
配置示例(策略路由):
# 1. 定义ACL:匹配需要走专线的流量(如访问Server 10.1.1.1)
[Huawei] acl 3001
[Huawei-acl-adv-3001] rule permit ip destination 10.1.1.1 0
# 2. 定义流分类和行为,关联ACL
[Huawei] traffic classifier VIP
[Huawei-classifier-VIP] if-match acl 3001
[Huawei] traffic behavior REDIRECT
[Huawei-behavior-REDIRECT] redirect ip-nexthop 202.100.1.1
[Huawei] traffic policy VIP-POLICY
[Huawei-policy-VIP-POLICY] classifier VIP behavior REDIRECT
# 3. 应用策略
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] traffic-policy VIP-POLICY inbound
# 结果:
# - 去往10.1.1.1的流量 → 匹配ACL → 被重定向到202.100.1.1
# - 其他所有流量(如上网) → 无规则匹配 → **走接口默认路由**,不受影响。
实验文档
通过网盘分享的文件:day02
链接: https://pan.baidu.com/s/1Qn4iy1peVUorfGnhTaBsVQ?pwd=6czq 提取码: 6czq
--来自百度网盘超级会员v6的分享
更多推荐



所有评论(0)