混合云場景下BGP冗余路徑失效-事件復盤
1 問題背景
這是一份基礎網絡運維的事故復盤報告。
因為一些歷史原因,我司各個環(huán)境之間的互聯互通采用了串行連接,并且核心鏈路和轉發(fā)節(jié)點使用了共享資源,既下圖中紅色部分。因為共享資源的可靠性和穩(wěn)定性表現不佳且故障場景下的權限不足,倍受困擾后下定決心要改變這種局面。在梳理了現有資源之后,基礎網絡架構躍遷歷程如下:
圖片
- 互聯方式由之前身不由己的純靜態(tài)路由調整為全BGP環(huán)境。因為是混合云架構,所有鄰居之間全部基于EBGP對接,子接口部署,路由結構如下圖所示:
圖片
- as分布如圖所示,看起來很棒:閉合連接/雙上行/EBGP,這些特性配合BFD和觸發(fā)更新,完全有能力在異常情況下實現毫秒級的路由收斂,踢出故障鏈路后使流量快速切換到備用路徑。
- 然而,不出意外的,我們遇到了意外———割接很順利,架構變更按計劃完成,但在驗證高可用能力的過程中遇到了光路中斷,造成EBGP-5鄰居狀態(tài)idle,導致辦公環(huán)境與托管IDC失聯:
圖片
- 確認問題鏈路兩端模塊的光功率均在合理區(qū)間,基本排除了模塊故障的可能性。托管IDC側掛表測試,OTDR顯示近端衰減,確認鏈路狀態(tài)不可用,鎖定位置后反饋有管井臨時施工造成鏈路中斷。但EBGP鄰居down了,理論上應該能夠通過冗余路徑學到路由才是,為什么會失聯呢?
2 探索
于是問題排查的重心調整到高可用方向。
2.1 鄰居狀態(tài)確認
優(yōu)先確認了所有EBGP鄰居的關系狀態(tài),確保均為established。
圖片
圖片
2.2 路由有效性檢查
其次檢查辦公環(huán)境和托管IDC內網出口方向的路由宣告詳情,確認兩側BGP進程路由宣告成功。
圖片
圖片
2.3 路由過濾
再次則分別排查內網出口方向的前綴列表,確認已生效的過濾邏輯不存在誤殺情況。
2.4 手搓新網段,觸發(fā)路由更新
最后嘗試在辦公環(huán)境內網出口設備上新增loopback,配置并發(fā)布一個新的子網和相應的路由,隨后檢查EBGP鄰居的路由收發(fā)情況,發(fā)現情況依舊。
3 分析原因
經過上述測試排查,發(fā)現如下特征————
- 兩端設備配置正確,且路由宣告正常;
- 云上網絡組件L3節(jié)點本地路由表中有直連鄰居宣告的路由,說明可以收到正確且完整的路由更新;
- 跨過云上網絡組件后,再下一跳設備(也就是本文中問題鏈路的遠端設備)的路由表中就找不到相應的路由信息了;
- 再進一步測試,在托管IDC本地開debug實時打印路由更新,確認從云上EBGP鄰居處收到的路由更新中,并不包含辦公環(huán)境所屬網段的路由信息。
綜上,辦公環(huán)境和托管IDC內網出口方向,兩端設備都向云上L3節(jié)點宣告了本地路由,云上L3節(jié)點也能正常收到路由信息并加入自身的路由表,但是,云上L3節(jié)點并不會把這些路由信息再轉發(fā)到遠端的云下設備。折騰了近2個小時,過程中我甚至想到了古早概念-水平分割,但想到產品經理明確強調過:“專線接入點就是個渠道,當成鏈路看待就可以了”,加之方案設計時還額外增加了子接口的配置,結果還是在防環(huán)上踩了坑。最終又拉上云服務商的售后升級確認,才真正破案。萬萬妹想到哇,555555
4 解決方案
針對問題情況,揪著售后一起確認了各種細節(jié)后,敲定了解決方案————
- 在云上再單獨創(chuàng)建一個L3節(jié)點;
- 這個新建的L3節(jié)點為辦公環(huán)境和托管IDC分別連接一個專線接入點;
- 托管IDC和辦公環(huán)境的內網出口節(jié)點,各自再創(chuàng)建一個子接口,用于和新增的專線接入點對接,并與云上新建的L3節(jié)點建立EBGP鄰居EBGP-6和EBGP-7;
- 托管IDC和辦公環(huán)境的內網出口節(jié)點,分別將本地的路由信息通過新建子接口發(fā)布給云上這個新的EBGP鄰居;
- 新增的EBGP-6和EBGP-7這兩組鄰居關系,可以為EBGP-5提供冗余路徑和路由更新渠道,調整后的方案如下圖所示:
圖片
5 總結
整體看下來,問題其實很簡單,認為有了子接口,又是不同as之間的EBGP鄰居,不會受到as-path、水平分割這類防環(huán)邏輯的限制,但其實是思維定勢的誤區(qū),造成了后面的周折和時間損耗。
誠然,BGPv4仍是當代互聯網的基礎,但云服務帶來了新鮮內容,基于云的各種能力和產品,相較企業(yè)網和數通的傳統(tǒng)技術概念有了明顯變化,應該在掌握基礎的前提下,明了新產品和新特性的更新迭代,真正理解這些不同之處的關聯場景和針對的痛點,才能正確的發(fā)揮優(yōu)勢體現價值,給上層服務提供穩(wěn)定和持久的支撐。
關于作者
宛景瑞,轉轉基礎設施運維負責人。