Skip to content

Azure Networking 之 BGP 普通常識

隨著雲地混合網路的需求提升,除了老招 Static Route 的招數依然可以用以外,為了讓整體路由管理變得比較像樣一點,過往可能多數人或公司很少接觸的 BGP 網路架構設計,從現在開始要把 BGP 這個動態路由協議當作是一般常識來看待了

Azure 所保留的 BGP 號碼們

基於 IANAAzure 保留 ASN,下列整理出基於 16 bit 的預設以保留的 ASN 和其功用,建議在配 Private ASN 給地端設備時不要跟下面的 ASN 有所衝突,此外我這邊特別把 Microsoft 跟 Azure 特別拆開解釋,正確分類都是 Microsoft Corporation 才對,但為了辨識目的的不同,特此拆開

Reserved by Public / Private ASN Comment
Microsoft Public 8074 未公開用途
Microsoft Public 8075 Microsoft Global Network,你這一生都會用到他的
Azure Public 12076 預設給 ExpressRoute 使用.如果你接專線的話,才會遇到這個
IANA Public 23456 基於 RFC6793,這個是給 AS_TRANS 之用的
IANA Private 64496-64511 基於 RFC5398,提供給撰寫文件和程式碼之用
Azure Private 65515 對網路團隊來說最重要的號碼,預設 Azure Private ASN,無論是 Azure Route Server / Azure vWAN / Azure VPN Gateway 建議都預設選擇他來使用
N/A Private 65516 雖然技術上地端可以用,但個人建議不要選這個,你看看上面再看看下面,沒必要擠這個
Azure Private 65517 未公開用途,如果強制要用的話,部署 Local Network Gateway 服務會失敗
Azure Private 65518 未公開用途,如果強制要用的話,部署 Local Network Gateway 服務會失敗
Azure Private 65519 未公開用途,如果強制要用的話,部署 Local Network Gateway 服務會失敗
Azure Private 65520 預設給 Azure vWAN 中的 vHub 交換路由用的
IANA Private 65535 基於 RFC7300,保留最後一個 ASN

此外 Azure VPN Gateway 可以收 32-bit 的 ASN,但 Microsoft 預設沒有針對這個進行保留,基於 RFC6996,你可以從 4200000000-4294967294 中間選擇私有 ASN 來使用

詳細解析被 Azure 保留的 ASN 們

關於 AS8075 - 你這一生都會遇到的 ASN

簡稱 Microsoft Global Network,舉凡你用 XBox Game Pass 連上網、Windows 要更新、或者是連線到 Azure Portal 都會走到這個 AS8075,至於路由的距離控制可以靠選擇 Public IP 中的路由偏好,詳細可以參考之前寫的簡報 20221220 Azure Public IP 路由偏好教戰手冊

這個範圍內的路由交換都算是在 Microsoft Backbone (MSBB) 的範疇內,所以你可以想像如果有服務放在 Azure 上對外,但是同時要跟其他 Azure 對外的服務溝通,就算走公網,他還是會在 AS8075 的範圍內,不會繞出去到別家的 IX,但因為 IP 範圍眾多,這邊 Azure 有特別做了一個 Service Tag 機制讓你上防火牆設定或其他設定的時候比較好設定

如果像我是從別的地方連到 Azure 服務,如下圖,中間需要經過其他 PNI 才能到 AS8075

關於 AS12076 - 就是條連向 Azure 的專線

這個號碼只有你在要開始接往 Microsoft 的專線,也就是 Azure ExpressRoute 的時候才會出現,之前其實我也有一篇文章在專門講 ExpressRoute,可參考 滑鼠點點(?)之跨國 Azure ExpressRoute 網路架構

基於強者 Toni Pasanen 大大的圖,我改成台灣比較常見的架構

有趣的事情是 12076 Peering 的點是在 MSEE 身上,而不是在 ExpressRoute Gateway 身上,意思是就算你沒有把 ExpressRoute Gateway 開起來,你還是能把 12076 跟你的地端設備做 BGP Peering

此外這條線若規格有到的狀況下,也可以讓 Microsoft 365 和 Dynamic 365 的服務可以走專線跟地端連線,而不是走 AS8075 出去

關於 AS65515 - Azure Networking 架構設計上最重要的 Private ASN

AS65515 在 Azure 來說是一個相當重要的 ASN,反舉 Azure Route Server、Azure vWAN 預設都會使用到這個數字,雖然 Azure VPN Gateway 可以自行修改成想要的 Private ASN,但我個人強烈建議如果沒有特別需求,請一率使用 AS65515 當成預設 Private ASN

這張圖算是常遇到的網路架構,譬如說家裡只有一個 PPPoE 只能綁 Static IP 或者是外地 Branch Office 只有 1 個 WAN IP 可用皆適用此圖,如果有 2 個 WAN Port 對上不同 ISP 的話,就是別張架構圖,但大體上大同小異

這邊有個有趣的地方,這圖是採用 Active-Active Mode 的 VPN Gateway 和啟用 BGP 狀態,如果你採用 Loopback 介面作為 BGP Peer Update Source 的話,其實就算 IPSec Tunnel 有 2 條可以走,你還是可以用 Static Route 來控制 BGP Peering 的路徑,以上圖來看最多可以打 4 條 Static Route 上去確保任一條 IPSec Tunnel 線路斷掉的時候,BGP Peering 還是可以迅速恢復成 Establish 狀態,實測過的確蠻有效果的

No. VPN GW Insntace Destination Interface Comment
1 IN_0 10.0.0.4/32 VTI 1 常見連線路線
2 IN_1 10.0.0.5/32 VTI 2 常見連線路線
3 IN_0 10.0.0.4/32 VTI 2 可走 IPSec Tunnel 2 連線到 IN_0 而不是 IN_1
4 IN_1 10.0.0.5/32 VTI 1 可走 IPSec Tunnel 1 連線到 IN_1 而不是 IN_0

下表是地端設備 BGP Summary 的長相

VRF 0 BGP router identifier Y.Y.Y.Y, local AS number 64500
BGP table version is 132
2 BGP AS-PATH entries
0 BGP community entries

Neighbor    V         AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.0.4    4      65515   32816   32873      131    0    0 03:40:13        5
10.0.0.5    4      65515   26617   26697      130    0    0 1d20h26m        5

Total number of neighbors 2

關於 AS65520 - 我其實也不知道為什麼文件沒解釋

雖然文件沒寫,這個號碼只會出現在你用 vWAN 然後有 vHub to vHub 的時候才會在路由表上面跳出來 AS65520 這個號碼,大體上你也沒辦法控制他,這邊只是解釋一下有它的存在,看路由表的時候才不會覺得被 BGP Hijacking 了

Q&A

Q1: TL;DR

A1: 反正記得選擇 65515 當作你在雲端的 Private ASN 就對了

Q2: 那我可以把 AS65515 延伸到地端做 iBGP 嗎?

A2: 不行,部署 Local Network Gateway 服務會失敗

Q3: 如果我對 AS12076 和 AS65515 放同一段路由,他會走哪一條?

A3: 這個問題比較複雜,扯到路由最佳化的選擇,之後再來寫文章解釋

Q4: Azure VPN Gateway 既然可以設定 2 個 Public IP,那適用於 Public IP 路由偏好嗎?

A4: 可以,但你需要於建立 VPN Gateway 之前先把 2 個 Public IP 先準備好,預設都是偏好 Microsoft 為主,讓使用者越快接到 Azure 網路越好

Q5: 如果我有一個 Azure VPN Gateway 的話,已經使用了 GatewaySubnet,若後續需要再開一個 Azure ExpressRoute Gateway 的話,需要重新配網段嗎?

A5: 不用,預設都會把服務放在 GatewaySubnet 網段內

Q6: Active-Active 狀態的 VPN Gateway 有沒有支援 ECMP (Equal Cost Multi-Path)?

A6: 有,僅限採用 BGP 模式,Static Route 是沒支援的,此外你地端設備無論是防火牆或 VPN 設備要自己處理非對稱路由 (Asymmetric Routing) 的問題,不然回來剛好走不同路,Firewall 沒特別設定的話會丟掉封包

文後廢言

最近上工排時間,已經需要看農民曆選日子的階段了...如果搞其他服務我是覺得可以參考營建類,譬如說什麼安門、動土、上樑,豎井什麼的,但你如果是動網路的話,我最近的心得是要看祭祀類的,譬如說祈福、開光、普渡、祭祀之類的

有些時候就是你準備 100 分,但總會有個你想都沒想過的事情發生

Comments