二层 ACL 过滤是什么
二层 ACL 按源或目的 MAC 地址匹配帧,与 IP 层无关。华为用 4000-4999 编号段定义二层 ACL,通过 traffic-filter 挂到接口上,可用于阻断特定终端的转发、抑制伪造 MAC 扩散,或在接入侧做粗粒度的设备准入。它不能替代认证:终端可以修改 MAC,过滤只对固定地址的设备有效。
基本信息
| 匹配对象 | 源 MAC 与目的 MAC,不解析 IP 层信息 |
|---|---|
| 编号段 | 华为二层 ACL 使用 4000-4999 |
| 挂载方式 | 接口下 traffic-filter inbound 或 outbound |
| 掩码写法 | MAC 掩码以连续 1 表示需精确匹配的位 |
| 适用场景 | MAC 固定的终端准入、异常终端临时封堵 |
典型使用场景
- 封堵某台异常终端的二层转发,避免其泛洪影响接入网
- 生产设备 MAC 固定的场景下构建白名单,只放行登记设备
- 排查收发异常时临时阻断某方向流量,确认是否为该终端造成
- 抑制伪造源 MAC 的报文扩散,配合端口安全机制一起使用
- 变更前临时隔离老旧设备,等业务迁移完成后再移除规则
配置与核对
配置与核对
acl number 4000
rule 5 deny source-mac 00e0-fc12-3456 ffff-ffff-ffff # 精确匹配该 MAC
rule 100 permit # 末尾显式放行
interface GigabitEthernet0/0/1
traffic-filter inbound acl 4000 # 入方向按 MAC 过滤
display acl 4000 # 核对规则与命中计数输出逐列读法
| 列 | 含义 | 正常与异常 |
|---|---|---|
| rule 编号 | 规则序号,按由小到大匹配 | 顺序错误会让放行规则遮蔽后续拒绝 |
| Matches | 规则命中次数 | 命中数为零说明流量未命中或挂载方向不对 |
| 挂载信息 | 规则应用于哪个接口与方向 | 挂载方向写反会导致过滤完全不生效 |
| 掩码字段 | 哪些位参与精确匹配 | 掩码全零等于匹配所有 MAC |
编号段写错是最常见的低级错误:把二层规则写进 IP ACL 的编号段,配置能下发但不匹配任何帧,排查时先确认编号段与匹配字段是否匹配。
安全要求高的场景不要只靠二层 ACL:MAC 可被随意伪造,正式准入应使用 802.1X 等认证机制,ACL 只做辅助。