找回密码
 会员注册
查看: 38|回复: 0

混合云场景下BGP冗余路径失效-事件复盘

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
64122
发表于 2024-9-20 02:52:13 | 显示全部楼层 |阅读模式
1问题背景2探索2.1邻居状态确认2.2路由有效性检查2.3路由过滤2.4手搓新网段,触发路由更新3分析原因4解决方案5总结1问题背景这是一份基础网络运维的事故复盘报告。因为一些历史原因,我司各个环境之间的互联互通采用了串行连接,并且核心链路和转发节点使用了共享资源,既下图中红色部分。因为共享资源的可靠性和稳定性表现不佳且故障场景下的权限不足,倍受困扰后下定决心要改变这种局面。在梳理了现有资源之后,基础网络架构跃迁历程如下:互联方式由之前身不由己的纯静态路由调整为全BGP环境。因为是混合云架构,所有邻居之间全部基于EBGP对接,子接口部署,路由结构如下图所示:as分布如图所示,看起来很棒:闭合连接/双上行/EBGP,这些特性配合BFD和触发更新,完全有能力在异常情况下实现毫秒级的路由收敛,踢出故障链路后使流量快速切换到备用路径。然而,不出意外的,我们遇到了意外———割接很顺利,架构变更按计划完成,但在验证高可用能力的过程中遇到了光路中断,造成EBGP-5邻居状态idle,导致办公环境与托管IDC失联:确认问题链路两端模块的光功率均在合理区间,基本排除了模块故障的可能性。托管IDC侧挂表测试,OTDR显示近端衰减,确认链路状态不可用,锁定位置后反馈有管井临时施工造成链路中断。但EBGP邻居down了,理论上应该能够通过冗余路径学到路由才是,为什么会失联呢?2探索于是问题排查的重心调整到高可用方向。2.1邻居状态确认优先确认了所有EBGP邻居的关系状态,确保均为established。2.2路由有效性检查其次检查办公环境和托管IDC内网出口方向的路由宣告,确认两侧BGP进程路由宣告成功。2.3路由过滤再次则分别排查内网出口方向的前缀列表,确认已生效的过滤逻辑不存在误杀情况。2.4手搓新网段,触发路由更新最后尝试在办公环境内网出口设备上新增loopback,配置并发布一个新的子网和相应的路由,随后检查EBGP邻居的路由收发情况,发现情况依旧。3分析原因经过上述测试排查,发现如下特征————两端设备配置正确,且路由宣告正常;云上网络组件L3节点本地路由表中有直连邻居宣告的路由,说明可以收到正确且完整的路由更新;跨过云上网络组件后,再下一跳设备(也就是本文中问题链路的远端设备)的路由表中就找不到相应的路由信息了;再进一步测试,在托管IDC本地开debug实时打印路由更新,确认从云上EBGP邻居处收到的路由更新中,并不包含办公环境所属网段的路由信息。综上,办公环境和托管IDC内网出口方向,两端设备都向云上L3节点宣告了本地路由,云上L3节点也能正常收到路由信息并加入自身的路由表,但是,云上L3节点并不会把这些路由信息再转发到远端的云下设备。折腾了近2个小时,过程中我甚至想到了古早概念-水平分割,但想到产品经理明确强调过:“专线接入点就是个渠道,当成链路看待就可以了”,加之方案设计时还额外增加了子接口的配置,结果还是在防环上踩了坑。最终又拉上云服务商的售后升级确认,才真正破案。万万妹想到哇,5555554解决方案针对问题情况,揪着售后一起确认了各种细节后,敲定了解决方案————在云上再单独创建一个L3节点;这个新建的L3节点为办公环境和托管IDC分别连接一个专线接入点;托管IDC和办公环境的内网出口节点,各自再创建一个子接口,用于和新增的专线接入点对接,并与云上新建的L3节点建立EBGP邻居EBGP-6和EBGP-7;托管IDC和办公环境的内网出口节点,分别将本地的路由信息通过新建子接口发布给云上这个新的EBGP邻居;新增的EBGP-6和EBGP-7这两组邻居关系,可以为EBGP-5提供冗余路径和路由更新渠道,调整后的方案如下图所示:5总结整体看下来,问题其实很简单,认为有了子接口,又是不同as之间的EBGP邻居,不会受到as-path、水平分割这类防环逻辑的限制,但其实是思维定势的误区,造成了后面的周折和时间损耗。诚然,BGPv4仍是当代互联网的基础,但云服务带来了新鲜内容,基于云的各种能力和产品,相较企业网和数通的传统技术概念有了明显变化,应该在掌握基础的前提下,明了新产品和新特性的更新迭代,真正理解这些不同之处的关联场景和针对的痛点,才能正确的发挥优势体现价值,给上层服务提供稳定和持久的支撑。关于作者宛景瑞,转转基础设施运维负责人。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 13:07 , Processed in 1.571057 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表