双刃剑!这玩意配不好,一步让VLAN访问全断

刚配完ACL,整个VLAN的用户全上不了网!”

“明明只拦一个IP,结果全网瘫痪……”

访问控制列表(ACL)是咱们工作中控制流量、保障安全的利器。

但它的“威力”也意味着高风险——

一条规则写错,就可能引发全网访问中断

尤其在汇聚层或核心层部署ACL时,影响范围广,恢复不及时,可能导致业务长时间中断。

今天就通过一个真实案例,深入剖析ACL配置中的“致命陷阱”,并给到你安全配置清单,帮你避开“一条命令毁全网”的悲剧。

一、事故现场

网络环境:

  • 用户VLAN:VLAN 10(192.168.10.0/24)
  • 网关:三层交换机 S6730,接口 Vlanif 10
  • 需求:禁止IP为192.168.10.100的终端访问外网

工程师操作:

# 创建ACL 3000
[Huawei] acl 3000
[Huawei-acl-adv-3000] rule 5 deny ip source 192.168.10.100 0.0.0.0 destination any
[Huawei-acl-adv-3000] rule 10 permit ip source any destination any
[Huawei-acl-adv-3000] quit
# 在Vlanif 10接口入方向应用ACL
[Huawei] interface Vlanif 10
[Huawei-Vlanif10] traffic-filter inbound acl 3000

结果:

  • ✅ 192.168.10.100 确实无法上网
  • ❌ VLAN 10内所有用户(包括192.168.10.1)都无法上网!
  • ❌ 用户之间也无法互访!

一条规则,导致整个VLAN业务中断。

二、根本原因

ACL默认隐含“deny ip any any”

这是ACL最常被忽视的默认行为

当你创建一个ACL时,系统会在最后自动添加一条隐式规则

deny ip any any

即:拒绝所有未明确允许的流量

在上述案例中,ACL逻辑看似正确:

rule 5: 拒绝 192.168.10.100 访问任何地方
rule 10: 允许任何人访问任何地方

但问题出在——
permit ip source any destination any 并不能匹配所有流量!

关键误区:ACL中的 ip 不等于“所有协议”

  • ip 类型ACL:只匹配三层IP流量,不包含:
    • ARP(二层广播,用于IP→MAC解析)
    • ICMP重定向
    • OSPF、BGP等路由协议

当ACL应用在Vlanif接口后:

  1. 用户开机 → 发送ARP请求:“谁是192.168.10.1?”
  2. ARP是二层广播帧,不属于ip协议
  3. 不匹配 rule 10(因为不是IP流量)
  4. 匹配隐式 deny ip any any → 被丢弃!
  5. 网关无法响应ARP → 用户拿不到网关MAC → 无法通信

✅ 结论
ip 类型ACL会意外拦截ARP,导致用户无法获取网关,全网中断。

三、正确配置方法

必须显式放行ARP

方案1:使用 basic ACL 并允许ARP(推荐)

# 方法一:先放行ARP,再控制IP流量
[Huawei] acl 3000
[Huawei-acl-adv-3000] rule 5 permit arp source-mac any destination-mac any # 允许所有ARP
[Huawei-acl-adv-3000] rule 10 deny ip source 192.168.10.100 0.0.0.0 destination any
[Huawei-acl-adv-3000] rule 15 permit ip source any destination any
[Huawei-acl-adv-3000] quit

方案2:使用 traffic-filter 精确控制方向

# 方法二:只在出方向限制外网访问,不影响内网和ARP
[Huawei] interface Vlanif 10
[Huawei-Vlanif10] traffic-filter outbound acl 3000 # 改为出方向

这样,ARP请求(入方向)不受影响,只拦截该IP的出站流量。

四、ACL配置安全清单(必读)

五、其他常见ACL陷阱

陷阱1:用标准ACL(2000系列)限制源IP,但无法控制目的

  • 标准ACL只能基于源IP,无法指定协议或端口
  • 应使用高级ACL(3000系列) 实现精细控制

陷阱2:ACL应用在物理接口,影响多个VLAN

  • 应优先在SVI接口(Vlanif) 或特定业务接口应用ACL
  • 避免在上行口或核心口随意部署

陷阱3:忘记删除旧ACL

  • 修改ACL后,原规则可能仍生效
  • 使用 undo traffic-filter inbound 明确移除

六、排错命令:快速定位ACL问题

# 查看接口是否应用了ACL
<Huawei> display traffic-filter applied-record
# 查看ACL匹配计数(看是否被命中)
<Huawei> display acl 3000
# 查看ARP表是否正常学习
<Huawei> display arp all | include 192.168.10
# 抓包确认ARP是否被拦截
<Huawei> capture-packet interface Vlanif 10 destination flash:/arp.pcap
# 然后用Wireshark分析

总结

ACL的强大,源于它的“精确控制”
它的危险,也源于“精确控制”

记住三条铁律:

  1. 永远记得隐式 deny ip any any
  2. 在Vlanif接口用ACL,必须 permit arp
  3. 先测试,再上线,配置留退路

最后忠告:
当你敲下 traffic-filter 命令时,
请多问自己一句:
“这条规则,会不会把网关的ARP也拦了?”
多一秒思考,少一小时抢救。

阅读剩余
THE END
阿里云ECS特惠活动
阿里云ECS服务器 - 限时特惠活动

云服务器爆款直降90%

新客首单¥68起 | 人人可享99元套餐,续费同价 | u2a指定配置低至2.5折1年,立即选购享更多福利!

新客首单¥68起
人人可享99元套餐
弹性计费
7x24小时售后
立即查看活动详情
阿里云ECS服务器特惠活动