ACL 计数怎么用
ACL 的命中计数是「策略到底有没有生效」最直接的证据。验证方法是固定三步:先清零、再复现业务、最后看计数增量。思科显示每条 ACE 的 matches 计数,华为/H3C 的 display acl 直接给出每条 rule 的匹配次数。清零后计数仍然为零,基本可以判定流量没有走到这条规则——多半是方向挂错或地址写错。
基本信息
| 适用设备 | 三厂通用(华为 VRP / H3C Comware / 思科 IOS) |
|---|---|
| 查看命令 | 华为/H3C display acl;思科 show ip access-lists |
| 清零命令 | 华为/H3C reset acl counter;思科 clear ip access-list counters |
| 清零影响 | 只重置统计,不改变策略内容 |
| 推荐流程 | 记下旧值 → 清零 → 复现业务 → 读增量 |
典型使用场景
- 新下发 ACL 后确认规则是否真的被命中
- 方向选错排查:计数为零就是最直接的证据
- 定位某类流量是否被策略丢弃(对比放行与拒绝规则计数)
- 割接验收:确认安全策略在业务恢复后开始生效
- 策略优化:找出高频命中的规则,评估是否调整为更靠前的条目或更精确的匹配
华为 VRP
华为 VRP
display acl 3000 # 看每条 rule 的匹配次数
display acl name WEB
reset acl counter 3000 # 清零后重新计数
! 建议记录清零时间,与业务复现时间对齐,便于判断增量来源思科 IOS
思科 IOS
show ip access-lists 100 # 每条 ACE 带 matches 计数
show access-lists 100 | include matches
clear ip access-list counters 100 # 清零
! 命名 ACL 同理:clear ip access-list counters NAMEH3C Comware
H3C Comware
display acl 3000
display acl name WEB
reset acl counter 3000
! 部分版本支持 reset acl counter all,清理全部 ACL 计数清零需要单独执行一次操作,不清零看到的是历史累计值。排障时把清零时间与业务复现时间一起记录,判断增量属于哪一次操作才有依据。
不要用「加日志」代替计数验证:日志在高频流量下会刷屏并抬高 CPU,还可能因日志缓冲滚动而丢失,命中计数才是稳定可靠的证据。
计数为零有两种常见解释:流量没经过这个接口,或 ACL 没挂在正确的方向/接口上。先用配置查询确认挂载行,再判断是流量路径问题。