首页/网络/网络设备配置速查/二层 / MAC ACL:按以太帧头过滤
ACL 与安全65 条

二层 / MAC ACL:按以太帧头过滤

二层 ACL 匹配源/目的 MAC 与以太网类型,不解析 IP 头,用于阻断非法 MAC、限制广播域内的二层流量。

网络设备配置速查网络更新于 2026-10-13

二层 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思科 IOSH3C Comware
ACL 定义acl number 4000mac access-list extended 名字acl mac 4000
应用命令traffic-filter inbound aclmac access-group inpacket-filter inbound
MAC 格式0011-2233-4455 + 掩码0011.2233.4455 或 host 关键字0011-2233-4455 + 掩码
查看命令display acl 4000show mac access-listsdisplay acl mac 4000
二层 ACL 与三层 ACL 不是替代关系:要同时过滤 IP 与端口,得用高级(三层)ACL 或再叠一条规则。反过来,只按 MAC 过滤时用二层 ACL 更省硬件资源。
应用方向要与流量方向一致:上行口限制下游设备时一般按入向匹配。不确定时先在测试口下发,用 display acl / show mac access-lists 的命中计数确认规则真的被匹配,再批量推广。

易错点

  • MAC ACL 只匹配帧头,想顺带过滤 IP 或端口必须改用高级 ACL,规则写错了不会报错,只是不生效
  • 部分平台把二层 ACL 应用到二层口需要硬件支持,某些低端型号会直接拒绝下发
  • 只写 permit 不写尾拒绝时行为依赖隐含规则,排查时容易误判为「规则没生效」
  • MAC 绑定写成广播或多播地址、或掩码写错,会连带放行非预期流量

数据来源与参考

  • Cisco IOS MAC ACL 配置指南
  • 华为 VRP 二层 ACL(4000-4999)说明
  • H3C Comware acl mac 命令参考

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌