本文聚焦于华为/华三数通技术体系下的ACL(访问控制列表)核心技术
目录
- 一、ACL是什么?
- 二、规则构成与匹配机制
-
- [1. 规则结构](#1. 规则结构)
- [2. 匹配三大铁律](#2. 匹配三大铁律)
- [3. 匹配精度原则](#3. 匹配精度原则)
- [三、通配符(Wildcard Mask)详解](#三、通配符(Wildcard Mask)详解)
- 四、ACL分类与选型
- 五、部署方向与实战策略
-
- [1. Inbound(入方向) vs Outbound(出方向)](#1. Inbound(入方向) vs Outbound(出方向))
- [2. 部署黄金法则](#2. 部署黄金法则)
- 六、实操配置代码
-
- [1. 基本ACL配置(过滤源IP)](#1. 基本ACL配置(过滤源IP))
- [2. 高级ACL配置](#2. 高级ACL配置)
- 七、小结
一、ACL是什么?
底层逻辑与定位
-
本质:ACL不是"保安",而是"安检员",或者说工具人。它自己不能直接拦截流量,必须被traffic-filter、NAT、路由策略、QoS等功能"调用"才能生效。
-
价值:解决传统网络隔离技术"太粗暴"的问题,实现精细化管控。不仅能防黑客保证安全,还能限制P2P下载(流量管理),提升带宽利用率。
-
ACL是构建网络安全架构的基础组件,就像防火墙的底层逻辑,学会了ACL就等于懂了一半的防火墙策略。
二、规则构成与匹配机制
1. 规则结构
由permit(允许)和deny(拒绝)语句组成。
编号机制:默认步长=5(如5、10、15...)。
这是为了留"后门",方便以后插入新规则,不用推翻重配,降低运维成本。
2. 匹配三大铁律
-
顺序匹配:按规则编号从小到大执行。
-
命中即停:一旦匹配上某条规则,立刻执行动作,后面的规则统统不看。
-
注:顺序就是一切! 如果把deny放前面,后面的permit就是废纸。
-
默认拒绝:ACL末尾隐含一条deny any。
-
类比:"就像谈恋爱,不说是就是否。"
(必须明确允许,否则一律拒绝)。
-
安全原则:这体现了企业的"最小权限原则"
(企业很"抠门",不给的不许拿)。
3. 匹配精度原则
越长越优先:在编号相同的情况下,掩码越长(匹配条件越具体),优先级越高。
总结:编号管顺序,掩码管精度,双管齐下。
三、通配符(Wildcard Mask)详解
1. 核心算法:
0= 严格匹配(必须一模一样);
1= 随机忽略(随便填)。
注意:和子网掩码(Subnet Mask)逻辑完全相反。
2.计算方法:
(正掩码相减):255.255.255.255 - 子网掩码 = 通配符。
例:子网掩码255.255.255.0,通配符=0.0.0.255。
3.实战写法:
精确匹配(一台主机):192.168.1.1 0.0.0.0
网段匹配:192.168.1.0 0.0.0.255
任意匹配(所有IP):0.0.0.0 255.255.255.255
四、ACL分类与选型
选型不是越复杂越好,要在精度和性能间找平衡。

⚠️ 基本ACL的致命缺陷
只能看"从哪来",不能看"去哪"和"干啥"。
举例:如果用基本ACL禁止A访问B,可能会导致A连其他服务器也断了。
五、部署方向与实战策略
1. Inbound(入方向) vs Outbound(出方向)
Inbound(推荐):流量进入路由器尚未查路由表时处理。
好处:在源头就把垃圾流量干掉,省带宽,减轻下游设备压力。
场景:公司门口的安检。
Outbound:流量即将从出口发出时处理。
坏处:无效流量已经占用了内部带宽。
场景:小区出口的栏杆。
2. 部署黄金法则
靠近源端部署:哪里发的攻击,就在哪里堵。
性能考量:入站规则太多会导致转发延迟,别把ACL堆在一台设备上。
六、实操配置代码
1. 基本ACL配置(过滤源IP)
bash
system-view
# 进入ACL 2001视图(基本ACL范围2000-2999)
acl 2001
# 规则5:允许192.168.1.0网段(通配符0.0.0.255代表前24位固定)的流量
rule 5 permit source 192.168.1.0 0.0.0.255
# 规则10:拒绝其他所有流量(显式写出,防止忘记默认规则)
rule 10 deny source any
# 退出ACL视图
quit
# 进入连接内网的接口(假设是G0/0/1)
interface GigabitEthernet 0/0/1
# 在入方向调用ACL 2001
traffic-filter inbound acl 2001
通俗解释:只允许192.168.1.x这些家伙进门,其他的陌生人一律拦住。
2. 高级ACL配置
(控制端口和服务)
bash
system-view
# 进入ACL 3001视图(高级ACL范围3000-3999)
acl 3001
# 规则5:允许192.168.1.0网段访问服务器192.168.2.10的80端口(Web服务)
rule 5 permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.2.10 0 destination-port eq 80
# 规则10:允许访问服务器的443端口(HTTPS)
rule 10 permit tcp source 192.168.1.0 0.0.0.255 destination 192.168.2.10 0 destination-port eq 443
# 规则15:拒绝该网段访问服务器的其他任何服务(安全加固)
rule 15 deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.10 0
# 规则20:放通其他无关流量(避免影响正常业务)
rule 20 permit ip
quit
# 在靠近服务器的入接口调用(通常建议靠近源端,此处为示例)
interface GigabitEthernet 0/0/2
traffic-filter inbound acl 3001
通俗解释:只给192.168.1.x开两个口子(80和443)访问服务器,其他门全封死。
七、小结
实验深入拆解ACL的工作机制,重点解决了"流量如何被识别和控制"的问题:
-
匹配逻辑:重点讲解了"命中即停"原则和"默认拒绝(Deny Any)"的兜底机制。
-
计算逻辑:详细解释了通配符(Wildcard Mask)的运算方法(0匹配、1忽略),扫清了配置时的数学障碍。
-
分类逻辑:对比了基本ACL(2000-2999,仅源IP)与高级ACL(3000-3999,源/目IP+端口)的差异,明确了各自的适用场景。
-
部署位置:反复强调最佳实践是部署在靠近源端的Inbound(入方向),以实现高效拦截,节省带宽。
-
配置实操:提供了可直接复制粘贴的配置代码(如traffic-filter inbound acl 3001),涵盖了从创建ACL到绑定接口的完整流程。