二层 ACL 过滤什么
二层 ACL(思科叫 MAC ACL)只解析以太帧头:源 MAC、目的 MAC、以太网类型,有的平台还能匹配 VLAN,不解析 IP 与 TCP/UDP 头。它适合「按物理地址放行或阻断」的场景,一条规则天然覆盖该 MAC 上的全部协议流量,不必为每个 IP 业务重写一条规则。
基本信息
| 适用平台 | 华为 VRP、思科 IOS、H3C Comware 交换机 |
|---|---|
| 编号规则 | 华为与 H3C 用 4000-4999 段;思科用命名式 mac access-list extended |
| 匹配字段 | 源/目的 MAC、以太网类型,不解析三层及以上头 |
| 应用位置 | 物理端口下按入向/出向绑定(方向关键字各厂不同) |
| 隐含规则 | 结尾隐含拒绝所有,未命中任何规则的帧被丢弃 |
典型使用场景
- 阻断已知问题终端的 MAC:某台机器中毒或被隔离,先按 MAC 掐断而不动 VLAN 规划
- 上行口白名单:只允许网关与服务器的 MAC 通过,其余二层帧一律丢弃
- 配合端口安全做兜底:端口安全负责学习限制,MAC ACL 负责精确放行清单
- 临时封堵私接设备:现场发现违规接入的小路由器 MAC,可立即下发阻断
- 隔离二层协议流量:限制某些以太类型(如非必要的协议帧)在上行口传播
华为 VRP
华为 VRP
acl number 4000 # 4000-4999 为二层 ACL 段
rule 5 permit source-mac 0011-2233-4455 ffff-ffff-ffff # 掩码位全 F 表示精确匹配
rule 10 deny source-mac 0011-2233-9999 ffff-ffff-ffff # 可继续追加拒绝项
interface GigabitEthernet0/0/1
traffic-filter inbound acl 4000 # 端口入向应用
display acl 4000 # 查看规则与匹配计数思科 IOS
思科 IOS
mac access-list extended BLOCK_MAC # 命名式 MAC ACL
permit host 0011.2233.4455 any # host 关键字等价于精确匹配单个 MAC
deny any any # 显式写尾拒绝,便于阅读
interface GigabitEthernet0/1
mac access-group BLOCK_MAC in # MAC ACL 用 mac access-group 绑定
show mac access-lists # 查看规则与命中统计H3C Comware
H3C Comware
acl mac 4000 # H3C 二层 ACL 用 acl mac
rule 5 permit source-mac 0011-2233-4455 ffff-ffff-ffff
rule 10 deny source-mac 0011-2233-9999 ffff-ffff-ffff
interface GigabitEthernet1/0/1
packet-filter 4000 inbound # 端口入向应用
display acl mac 4000三厂写法差异
| 对比项 | 华为 VRP | 思科 IOS | H3C Comware |
|---|---|---|---|
| ACL 定义 | acl number 4000 | mac access-list extended 名字 | acl mac 4000 |
| 应用命令 | traffic-filter inbound acl | mac access-group in | packet-filter inbound |
| MAC 格式 | 0011-2233-4455 + 掩码 | 0011.2233.4455 或 host 关键字 | 0011-2233-4455 + 掩码 |
| 查看命令 | display acl 4000 | show mac access-lists | display acl mac 4000 |
二层 ACL 与三层 ACL 不是替代关系:要同时过滤 IP 与端口,得用高级(三层)ACL 或再叠一条规则。反过来,只按 MAC 过滤时用二层 ACL 更省硬件资源。
应用方向要与流量方向一致:上行口限制下游设备时一般按入向匹配。不确定时先在测试口下发,用 display acl / show mac access-lists 的命中计数确认规则真的被匹配,再批量推广。