實作虛擬網路流量路由
- 12 分鐘
Azure 會自動為 Azure 虛擬網路內的每個子網建立路由表。 路由表具有預設系統路由,以及您需要的任何使用者定義路由。
系統路由
Azure 會自動建立系統路由,並將路由指派給虛擬網路中的每個子網路。 您無法建立或移除系統路由,但是您可以使用自訂路由覆寫某些系統路由。 Azure 會建立每個子網路的預設系統路由,並在您使用特定 Azure 功能時,將額外的選用預設路由新增至特定子網路或每個子網路。
默認系統路由
每當建立虛擬網路時,Azure 會自動為虛擬網路內的每個子網建立下列預設系統路由。 每個系統路由都包含位址前綴和下一個跳點類型。
| 來源 | 位址首碼 | 下一個躍點類型 |
|---|---|---|
| 預設 | 虛擬網路獨有 | 虛擬網路 |
| 預設 | 0.0.0.0/0 | 網際網路 |
| 預設 | 10.0.0.0/8 | 無 |
| 預設 | 172.16.0.0/12 | 無 |
| 預設 | 192.168.0.0/16 | 無 |
| 預設 | 100.64.0.0/10 | 無 |
在路由傳送方面,躍點是整體路由的導航點。 因此,下一個躍點是下一個導航點,會將流量導向其最終目的地的旅程。 下一個躍點類型的定義如下:
- 虛擬網路:在虛擬網路位址空間內的位址範圍之間路由傳送流量。 Azure 會使用位址首碼來建立路由,該路由會對應至虛擬網路位址空間內所定義的每個位址範圍。 Azure 會自動使用針對每個位址範圍建立的路由,在子網路之間路由傳送流量。
- 網際網路:將位址前綴所指定的流量路由到網際網路。 系統預設路由會指定 0.0.0.0/0 位址首碼。 除非目的地位址適用於 Azure 服務,否則 Azure 會將虛擬網路內位址範圍未指定的任何位址流量路由傳送到網際網路。 Azure 會透過骨幹網路將其服務的任何流量直接路由傳送到服務,而不是將流量路由傳送到網際網路。 您可以使用自訂路由,來覆寫位址首碼為 0.0.0.0/0 的 Azure 預設系統路由。
- 無:路由至下一個躍點類型為 [無] 的流量會遭到捨棄,而不是路由至子網路以外的地方。
選擇性的預設系統路由
Azure 會為您啟用的任何 Azure 功能新增預設系統路由。 根據功能,Azure 會將選用的預設路由新增至虛擬網路內的特定子網路,或新增至虛擬網路內的所有子網路。
| 來源 | 位址首碼 | 下一個躍點類型 | 虛擬網路內路由新增至其中的子網路 |
|---|---|---|---|
| 預設 | 虛擬網路獨有,例如:10.1.0.0/16 | 虛擬網路對等互連 | 全部 |
| 虛擬網路閘道 | 透過 BGP 從內部部署公佈的首碼,或在本機網路閘道中設定的首碼。 | 全部 | |
| 預設 | 多重 | VirtualNetworkServiceEndpoint | 僅限服務端點已啟用的子網路。 |
- 虛擬網路 (VNet) 對等互連:當您在兩個虛擬網路間建立虛擬網路對等互連時,系統會在每個虛擬網路位址空間中,為每個位址範圍新增路由。
- 虛擬網路閘道:當您將虛擬網路閘道新增至虛擬網路時,Azure 會新增一或多個具有虛擬網路閘道的路由作為下一個躍點類型。 來源會列為虛擬網路閘道,因為閘道會將路由新增至子網路。
- VirtualNetworkServiceEndpoint:當您對特定服務啟用服務端點時,Azure 會將服務的公用 IP 位址新增至路由表。 系統會為虛擬網路內的個別子網路啟用服務端點,因此只會將路由新增至已啟用服務端點的子網路路由表。 Azure 服務的公用 IP 位址會定期變更,而 Azure 會在必要時管理路由表的更新。
用戶定義的路由
您可以覆寫 Azure 使用使用者定義的路由 (UDR) 所建立的預設路由。 當您想要確保兩個子網路之間的流量可通過防火牆設備時,此技術很有用。 這些自定義路由會覆寫 Azure 的預設系統路由。 在 Azure 中,每個子網路可以有零個或一個相關聯的路由表。 當您建立路由表並將其與子網路建立關聯時,其中的路由會結合,或覆寫 Azure 新增至子網路的預設路由。
建立使用者定義路由時,您可以指定下列的下一個躍點類型:
- 虛擬設備:虛擬設備通常是執行網路應用程式 (例如防火牆) 的虛擬機器。 使用虛擬設備躍點類型建立路由時,您也會指定下一個躍點 IP 位址。
- 虛擬網路閘道:當您想要將特定位址首碼指定的流量路由傳送至虛擬網路閘道時指定。 虛擬網路閘道必須搭配 VPN 類型建立。
- 無:當您想要卸除位址首碼的流量,而不是將流量轉送至目的地時指定。
- 虛擬網路:當您想要覆寫虛擬網路內的預設路由時指定。
- 網際網路:指定在何時將具有位址前綴的流量明確路由至網際網路。
考慮 Azure 路由伺服器
Azure 路由伺服器可以簡化網路虛擬設備 (NVA) 和虛擬網路之間的動態路由。 Azure 路由伺服器是完全受管理的服務,並設定有高可用性。 Azure 路由伺服器可簡化虛擬網路中 NVA 的設定、管理和部署。
- 每當虛擬網路位址更新時,您不再需要手動更新 NVA 上的路由表。
- 每當 NVA 宣佈新的路由或撤銷舊路由時,您就不再需要手動更新使用者定義的路由。
- 您可以使用 Azure 路由伺服器對等互連 NVA 的多個執行個體。
- NVA 與 Azure 路由伺服器之間的介面是以一般標準通訊協定為基礎。 只要 NVA 支援 BGP,您就可以將其與 Azure 路由伺服器對等互連。
- 您可以在任何新的或現有的虛擬網路中部署 Azure 路由伺服器。
使用有效路由進行疑難排解
想像您嘗試連接到 Azure 虛擬網路中的特定虛擬機器 (VM) 時,卻始終失敗。 您可以藉由檢視對虛擬機器網路介面有效的路由來診斷路由問題。 您可以使用 Azure 入口網站來檢視每個網路介面 的有效路由 。