中樞和輪輻拓撲是 Azure 中的常見網路架構模式,可合併網路資源並集中網路服務。 此拓撲可為跨不同訂用帳戶或租用戶部署的虛擬網路提供網路連線和安全性。
您可以透過兩種方式實作中樞和輪輻架構:
- 自我管理中心與輻射式架構 (傳統):您可以保持對中樞虛擬網路和路由設定的完全控制。
- 虛擬 WAN:Microsoft 管理中樞虛擬網路,並透過 路由意圖和路由原則等功能簡化管理。
本文著重於自我管理的中樞和輪輻拓撲,您可以在其中完整地查看和控制中樞虛擬網路和 Azure 防火牆部署。
您可以使用 Azure Virtual Network Manager (AVNM) 來減少自我管理中樞和輪輻實作的管理額外負荷。 AVNM 可以自動化路由表的配置,但整體設計與技術與手動方式並無太大差異。 無論您是使用 AVNM 還是手動設定自我管理的中樞和輪輻拓撲,本文的內容都適用。
在輻射虛擬網路中路由表的替代方案是使用 Azure 路由伺服器 將路由注入子網路,詳見「輻射虛擬網路的預設路由注入」。 然而,由於 Azure 路由伺服器 與 VPN 或 ExpressRoute 虛擬網路閘道器之間互動可能產生的複雜性,這種模式並不常被使用。
在自我管理的「中樞和支點」(hub-and-spoke) 設定中:
- 中樞 (Hub):一個虛擬網路,透過 VPN、ExpressRoute 或軟體定義的廣域網路 (SD-WAN) 作為連接您的內部部署網路的中央連接點。 你會在樞紐虛擬網路中部署網路安全裝置,例如防火牆。
- 支點 (Spoke):與中樞對等互連並託管您的工作負載的虛擬網路。
對於分散在多個區域的工作負載,您通常會為每個區域部署一個中樞,以彙總來自該區域中輪輻的流量。 下圖顯示兩個區域自我管理的中樞和輪輻架構,每個區域都有兩個輪輻虛擬網路:
單一區域中樞和輪輻架構
若要瞭解多區域設計,您首先需要瞭解單一區域概念。 下圖顯示第一個區域的路由表組態:
請考慮單一區域設計中每個潛在流量的路由需求,以瞭解使用者定義的路由組態:
-
支點對支點流量 (Spoke-to-spoke traffic):支點不會彼此對等互連,而虛擬網路對等互連不具有傳遞性。 每個輪輻預設都知道如何路由到達中樞虛擬網路,但不知道如何路由到達其他輪輻。 套用至所有支點子網路的
0.0.0.0/0路由涵蓋了支點對支點的流量傳輸。 -
輻射到網際網路流量:
0.0.0.0/0輻射路由表中的路由將公共網際網路的流量導向 Azure 防火牆。 在擁有預設出站存取權的非私有子網路中,使用者自訂路由會覆蓋預設的網際網路系統路由。 使用 2026 年 3 月 31 日後釋出的 API 版本所建立的新虛擬網路,預設使用私有子網,並要求明確的外發方法。 在此設計中,Azure 防火牆 提供明確的出站連線。 如需詳細資訊,請參閱 Azure 中的預設輸出存取。 -
因特網到分站流量:從因特網到分站的流量通常會先通過 Azure 防火牆。 Azure 防火牆已設定目的地網路位址轉譯 (DNAT) 規則,這也會轉譯來源 IP 位址 (來源網路位址轉譯或 SNAT)。 支點工作負載會將流量視為來自 Azure 防火牆子網路。 虛擬網路對等互連會建立到中樞 (
10.1.0.0/24) 的系統路由,因此支點知道如何路由回傳的流量。 -
內部部署對支點 (On-premises-to-spoke) 與支點對內部部署 (spoke-to-on-premises) 的流量:需要分別考慮每個方向:
-
內部部署至分支流量:流量從內部部署網路抵達 VPN 或 ExpressRoute 閘道。 使用 Azure 中的預設路由時,會在 Gateway 子網及中樞虛擬網路中的其他子網中為每個連接點建立系統路由。 您必須覆寫這些系統路由,並將下一個躍點設定為 Azure 防火牆的私人 IP 位址。 在此範例中,您需要在與閘道子網路相關聯的路由表中設定兩條路由,每個支點 (
10.1.1.0/24和10.1.2.0/24) 各有一條。 使用包含所有支點虛擬網路的匯總 (例如10.1.0.0/16) 無法運作,因為閘道子網路中的虛擬網路對等互連注入的系統路由更具體 (/24相較於/16匯總)。 此路由表必須啟用傳播閘道路由切換開關 (設定為是),否則閘道路由可能會變成無法預測。 -
支點對內部部署流量:中樞與支點之間的虛擬網路對等互連必須在中樞端啟用允許閘道傳輸,並在支點端啟用使用遠端閘道。 這些設定是必要的,以便 VPN 和 ExpressRoute 閘道能夠透過邊界閘道通訊協定 (BGP) 將支點首碼通告到內部部署網路。 這些設定也會讓支點在預設情況下學到從內部部署通告到 Azure 的首碼。 由於本地前綴比輻射路由表中使用者定義的路由
0.0.0.0/0更具體,從輻射到本地的流量預設會繞過防火牆。 若要防止這種情況,請在支點路由表中將傳播閘道路由切換開關設定為否,這樣就不會學到內部部署首碼,且0.0.0.0/0路由會用於到內部部署的流量。
-
內部部署至分支流量:流量從內部部署網路抵達 VPN 或 ExpressRoute 閘道。 使用 Azure 中的預設路由時,會在 Gateway 子網及中樞虛擬網路中的其他子網中為每個連接點建立系統路由。 您必須覆寫這些系統路由,並將下一個躍點設定為 Azure 防火牆的私人 IP 位址。 在此範例中,您需要在與閘道子網路相關聯的路由表中設定兩條路由,每個支點 (
附註
在與閘道子網路相關聯的路由表中,請使用確切的支點虛擬網路 IP 首碼,而不是網路匯總。 由與各個支點的虛擬網路對等互連所引入的系統路由會覆寫您的使用者定義路由,因為它們更具體。
你可以使用 Azure Virtual Network Manager 來管理與輻射子網相關的路由表,以及與閘道子網相關的路由表,以降低管理負擔。 如需詳細資訊,請參閱 使用 Azure 防火牆作為下一個躍點。
中樞虛擬網路工作負載
在樞紐虛擬網路中部署工作負載,如 Active Directory 網域控制器、DNS 伺服器或其他共享基礎設施,會增加樞紐輻射設計的複雜度。 避免將工作負載放在樞紐。 相反地,應該將它們部署在專用的輻條中,以提供共享服務。
本節說明中樞工作負載所需的組態,以便您可以評估此複雜度是否符合您的需求。 我們還描述了一個可能導致非對稱流量和資料包丟棄的常見錯誤。
下圖顯示中樞虛擬網路中具有工作負載子網路的單一區域設計:
關鍵細節在於,閘道子網路和支點子網路中設定的使用者定義路由是針對特定工作負載子網路定義的,而不是針對整個中樞虛擬網路首碼定義的:
-
閘道子網設定:在閘道子網中設定整個中樞虛擬網路的路由 (
10.1.0.0/24在此範例中) 會覆寫中樞虛擬網路的系統路由。 這會導致 VPN 或 ExpressRoute 閘道之間的子網內控制流量傳送至防火牆,可能會中斷閘道作業。 -
支點子網路組態:在各支點子網路中為整個中樞虛擬網路 (本例為
10.1.0.0/24) 設定路由會覆寫與中樞虛擬網路的對等互連所建立的系統路由。 傳送至中樞的所有流量都會傳送至 Azure 防火牆,包括來自 Azure 防火牆本身的流量,例如透過來源網路位址轉譯 (SNAT) 的因特網對支點流量。 此配置引入了非對稱流量並導致資料包丟棄。
附註
如果您在中樞虛擬網路中部署工作負載,請勿在使用者定義的路由中使用整個虛擬網路 IP 前置詞。
子網路間流量檢查
在目前的設定中,防火牆會處理分支之間的流量,但分支內部流量會保留在分支虛擬網路內,您可透過 網路安全性群組 加以控制。 此設計會將虛擬網路視為安全性界限:防火牆只會檢查離開或進入虛擬網路的流量。
若要檢查相同樞紐虛擬網路中的子網段之間的流量,請修改與這些樞紐子網段相關聯的路由表,如下圖所示:
在上圖中,每個輪輻虛擬網路中都引進了兩個輪輻子網,並描述了虛擬網路 A2 中各個輪輻的路由表。 將子網路間流量傳送至防火牆需要每個子網路都有個別的路由表,因為每個子網路中要安裝的路由都不同。
對於子網路 A21,您需要以下兩個額外路由:
-
路由至
10.1.2.0/24:會覆寫虛擬網路內部流量的系統路由。 如果沒有其他路由,所有虛擬網路內流量都會傳送至 Azure 防火牆,即使是相同子網路中虛擬機器之間的流量。 -
將路由傳送至
10.1.2.0/26,下一個躍點為虛擬網路:這是對先前路由的一個例外,因此此特定子網路內的流量不會傳遞到防火牆,而是在虛擬網路內本地進行路由。 此路由特定於每個子網路,這就是為什麼您需要為每個子網路提供個別的路由表。
SD-WAN 網路虛擬設備
如果您使用 SD-WAN 網路虛擬設備 (NVA) 而不是 VPN 或 ExpressRoute 閘道,設計會類似,如下圖所示:
你可以用不同的方式將 SD-WAN NVA 整合到 Azure 中。 如需詳細資訊,請參閱 SD-WAN 與 Azure 中樞和輪輻網路拓撲的整合。 本文展示了使用 Azure 路由伺服器 的整合,這是將流量路由到 SD-WAN 網路的最常用方法之一。 SD-WAN NVA 會透過 BGP 將內部部署前綴通告給 Azure 路由伺服器。 Azure 路由伺服器會在 Azure 防火牆子網路中插入這些前置詞,讓 Azure 防火牆具有內部部署網路的路由資訊。 由於支點路由表中停用了「傳播閘道路由」選項,因此支點無法學到內部部署首碼。
如果您不想在與 NVA 子網路相關聯的路由表中設定每個支點虛擬網路的首碼,您可以將 SD-WAN NVA 放在其專用的虛擬網路中。 NVA 虛擬網路不會學到支點的首碼,因為它們沒有直接建立對等連線;如下圖所示,可以使用匯總路由:
多區域中樞和輪輻架構
瞭解流量在單一中樞和輪輻區域內的運作方式之後,將設計延伸至多區域架構非常簡單。 下圖顯示更新的網路設計,其中樞位於兩個區域 (A 和 B):
設定的唯一新增內容是與每個區域中 Azure 防火牆子網路相關聯的路由表。 每個中樞虛擬網路只知道直接對等互連虛擬網路的首碼,因此沒有遠端支點首碼的路由。 為每個 Azure 防火牆子網路新增使用者定義的路由,以便將每個區域的流量路由傳送至對應的 Azure 防火牆。
在此範例中,每個區域都可以輕鬆總結:
- 區域 A 包含
10.1.0.0/16中的首碼 - 區域 B 包含前綴字元於
10.2.0.0/16
在每個區域中定義易於摘要的 IP 位址,可讓您的路由組態更簡單。 否則,您需要為每個遠端支點建立一個路由。
在 Azure 防火牆子網路路由表上啟用傳播閘道路由,以便防火牆可以從 VPN 和 ExpressRoute 閘道學到內部部署路由。
附註
如果部署 Azure 防火牆時沒有管理 NIC,則 Azure 防火牆子網需要具有下一個躍點「網際網路」的預設路由,才能新增先前所述的更特定路由。
若要簡化多區域環境中使用者定義路由的管理,您可以使用 Azure Virtual Network Manager。 如需詳細資訊,請參閱 使用 AVNM 管理跨多個中心輻射拓撲的使用者定義路由。
後續步驟
- 深入了解如何部署和設定 Azure 防火牆。