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

小陈 的头像

0 评论

5 阅读

2,845 字,阅读时间 14 分。

hello,我是网工小陈。

“刚配完ACL,整个VLAN的用户全上不了网!”
“明明只拦一个IP,结果全网瘫痪……”

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

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

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

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

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

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



一、事故现场

网络环境:

  • 用户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 ipsource192.168.10.100 0.0.0.0 destination any
[Huawei-acl-adv-3000] rule 10 permit ipsourceany 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:使用basicACL 并允许ARP(推荐)

# 方法一:先放行ARP,再控制IP流量
[Huawei] acl 3000
[Huawei-acl-adv-3000] rule 5 permit arpsource-mac any destination-mac any # 允许所有ARP
[Huawei-acl-adv-3000] rule 10 deny ipsource192.168.10.100 0.0.0.0 destination any
[Huawei-acl-adv-3000] rule 15 permit ipsourceany 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配置安全清单(必读)

风险点
安全做法
隐式deny any
始终确保最后一条显式permit规则覆盖必要流量
误拦ARP
如需在Vlanif接口应用ACL,必须permit arp
应用方向错误
入方向(inbound)影响入流量,出方向(outbound)影响出流量,按需选择
规则顺序错误
ACL按顺序匹配,拒绝规则放前面,允许规则放后面
测试不充分
先在测试VLAN验证,再上线;配置后立即ping网关和外网
无备份
配置前save,或使用commit confirm(华为)设置自动回滚


五、其他常见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也拦了?”
多一秒思考,少一小时抢救。

双刃剑!这玩意配不好,一步让VLAN访问全断_img_2
网络工程师必备资料领取

免责声明:本文内容来源于:

微信公众号

网络工程师小陈

,原文链接:

http://mp.weixin.qq.com/s?__biz=Mzk0OTc0MzYxNA==&mid=2247486150&idx=1&sn=e8414dff1770a9d2823e39347fa5d237&chksm=c352f057f4257941a3a75a92aa30df9baea92446f99c697dfb69edb3d041ab0e09795878a0f0#rd

本站为个人站点,相关文章均为网络公开资料,仅出于个人学习、研究及资料整理之用途转载收集,所有版权均归原作者及原发布平台所有。文末作者信息仅用于进行本站文章的分类信息使用,不代表原作者授权或者原作者入驻等依据。
本站不保证内容的完整性与准确性,亦不对内容承担任何法律责任。 如本文涉及版权问题,请原作者及时与我们联系,我们将在第一时间内进行删除处理。 本站尊重并遵守相关版权法规,倡导合法使用网络资源。 联系方式:[email protected]

小陈 的头像

60篇作品

914总阅读量

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

更多文章

网工通信弱电的宝藏知识网站