共用方式為


虛擬網路流量路由 \(部分機器翻譯\)

在本文中,您將瞭解 Azure 如何路由傳送 Azure、內部部署和因特網資源之間的流量。 Azure 會在 Azure 虛擬網路內自動為每個子網路建立路由表,並將系統的預設路由新增至該表格。 若要深入了解虛擬網路和子網路,請參閱虛擬網路概觀。 您可以使用自定義路由覆寫某些 Azure 系統路由,並將更多自定義路由新增至路由表。 Azure 會依據子網路路由表中的路由,來路由子網路的輸出流量。

系統路由

Azure 會自動建立系統路由,並將路由指派給虛擬網路中的每個子網路。 您無法建立系統路由,而且無法移除系統路由,但您可以使用自定義路由覆寫某些系統路由。 當您使用特定 Azure 功能時,Azure 會為每個子網建立預設系統路由,並將更多 選擇性的預設路由 新增至特定子網或每個子網。

預設

每個路由都包含位址首碼和下一個躍點類型。 當離開子網的流量傳送至路由地址前綴內的IP位址時,包含前置詞的路由就是 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 會使用位址首碼來建立路由,該路由會對應至虛擬網路位址空間內所定義的每個位址範圍。 如果虛擬網路位址空間有多個定義的位址範圍,則 Azure 會為每個位址範圍建立個別路由。 根據預設,Azure 會路由傳送子網路之間的流量。 您不需要為 Azure 定義路由表或閘道來路由子網路之間的流量。 Azure 不會為子網位址範圍建立預設路由。 每個子網路位址範圍都在虛擬網路位址空間的位址範圍內。

  • 因特網:將位址前綴所指定的流量路由傳送至因特網。 系統預設路由會指定 0.0.0.0/0 位址首碼。 如果您未覆寫 Azure 預設路由,Azure 會將虛擬網路內位址範圍未指定之任何位址的流量路由傳送至因特網。 此路由有一個例外狀況。 如果目的地位址是 Azure 服務,Azure 會透過 Azure 骨幹網路將流量直接路由傳送至服務,而不是將流量路由傳送至因特網。 Azure 服務之間的流量不會周遊因特網。 虛擬網路所在的 Azure 區域或 Azure 服務實例部署所在的 Azure 區域並不重要。 您可以使用自定義路由覆寫 0.0.0.0/0 位址前綴 的 Azure 預設系統路由

  • :已捨棄路由傳送至 None 下一個躍點類型的流量,而不是路由傳送到子網外部。 Azure 會自動為下列位址首碼建立預設路由:

    • 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16:在 RFC 1918 中保留以作為私人用途。
    • 100.64.0.0/10:在 RFC 6598 中保留。

    如果您在虛擬網路位址空間內指派上述任何位址範圍時,Azure 會自動將路由的下一個躍點類型從變更至虛擬網路。 如果您對其指派位址範圍的虛擬網路位址空間中,包含四個保留位址首碼的其中一個 (但不是完全相同) 時,Azure 會移除該首碼的路由,並針對您新增的位址首碼來新增路由 (使用虛擬網路作為下一個躍點類型)。

選用預設路由

Azure 會針對不同的 Azure 功能,新增更多預設系統路由,但只有當您啟用這些功能時才會新增。 根據功能,Azure 會將選擇性的預設路由新增至虛擬網路內的特定子網或虛擬網路內的所有子網。 下表列出當您啟用不同功能時,Azure 可能會新增的其他系統路由和下一個躍點類型。

來源 位址首碼 下一個躍點類型 虛擬網路內路由新增至其中的子網路
預設 虛擬網路獨有,例如:10.1.0.0/16 虛擬網路對等互連 全部
虛擬網路閘道 透過邊界網關通訊協議從內部部署公告的前置詞(BGP)或在局域網路閘道中設定 虛擬網路閘道 全部
預設 多個 VirtualNetworkServiceEndpoint 僅限服務端點已啟用的子網路
  • 虛擬網路對等互連:當您在兩個虛擬網路之間建立虛擬網路對等互連時,系統會在與對等互連相關的每個虛擬網路位址空間內,為每個位址範圍新增路由。 深入了解虛擬網路對等互連

  • 虛擬網路閘道:將虛擬網路閘道新增到虛擬網路時,系統會新增一個或多個下一個躍點類型列為虛擬網路閘道的路由。 來源也是 虛擬網路網關 ,因為閘道會將路由新增至子網。 如果您的內部部署網路閘道使用虛擬網路閘道交換 BGP 路由,系統就會為每個路由新增路由。 這些路由會從內部部署網路閘道傳播。 我們建議您將內部部署路由摘要至可能的最大位址範圍,以便將最少的路由數目傳播至 Azure 虛擬網路閘道。 您可以散佈至 Azure 虛擬網路閘道的路由數目有限。 如需詳細資訊,請參閱 Azure 限制

  • VirtualNetworkServiceEndpoint:當您啟用服務端點至服務時,特定服務的公用IP位址會新增至 Azure 的路由表。 虛擬網路內的個別子網會啟用服務端點,因此路由只會新增至已啟用服務端點之子網的路由表。 Azure 服務的公用 IP 位址會定期變更。 當位址變更時,Azure 會自動管理路由表中的位址。 深入瞭解 虛擬網路服務端點 ,以及您可以為其建立服務端點的服務。

    注意

    虛擬網路對等互連VirtualNetworkServiceEndpoint下一個躍點類型只會新增至透過 Azure Resource Manager 部署模型建立之虛擬網路內的子網路由表。 如果路由表是與透過傳統部署模型建立的虛擬網路子網路相關聯,則下一個躍點類型不會新增至該路由表。 深入了解 Azure 部署模型

自訂路由

您可以藉由建立使用者定義的路由 (UDR) 或交換內部部署網路閘道與 Azure 虛擬網路閘道之間的 BGP 路由來建立自定義路由。

使用者定義

若要自定義流量路由,您不應該修改預設路由。 您應該建立自定義或使用者定義路由,以覆寫 Azure 預設系統路由。 在 Azure 中,您會建立路由表,然後將路由表與零個或多個虛擬網路子網產生關聯。 每個子網路可以有零個或一個與其相關聯的路由表。 若要瞭解您可以新增至路由表的路由數目上限,以及您可以為每個 Azure 訂用帳戶建立的 UDR 數據表數目上限,請參閱 Azure 限制

根據預設,路由表最多可包含 400 個 UDR。 透過 Azure 虛擬網絡 Manager 路由設定,此數位可以擴充至每個路由表 1,000 個 UDR。 此增加的限制支援更進階的路由設定。 例如,當您有較高的輪輻虛擬網路數目時,透過防火牆將來自內部部署數據中心的流量導向至中樞和輪輻拓撲中的每個輪輻虛擬網路。

當您建立路由表並將其與子網路建立關聯時,路由表中的路由會與子網路的預設路由合併。 如果有衝突的路由指派,UDR 會覆寫預設路由。

您可以在建立 UDR 時指定下列下一個躍點類型:

  • 虛擬設備:虛擬設備通常是執行網路應用程式 (例如防火牆) 的虛擬機器。 若要瞭解您可以在虛擬網路中部署的各種預先設定網路虛擬設備,請參閱 Azure Marketplace。 當您使用虛擬設備躍點類型建立路由時,也會指定下一個躍點IP位址。 IP 位址可以是:

    • 連接至虛擬機器的網路介面私人 IP 位址。 連接至虛擬機器,並將網路流量轉送至本身以外其他位址的任何網路介面,都必須啟用 Azure 啟用 IP 轉送選項。 此設定會停用 Azure 網路介面的來源和目的地檢查。 深入了解如何啟用網路介面的 IP 轉送啟用 IP 轉送 是 Azure 設定。

      您可能需要在虛擬機的操作系統內啟用IP轉送,讓設備轉送指派給 Azure 網路介面的私人IP位址之間的流量。 如果設備需要將流量路由傳送至公用 IP 位址,則必須代理流量或執行網路位址轉譯 (NAT),從來源的私人 IP 位址轉換到自己的私人 IP 位址。 接著,Azure 會先對公用 IP 位址執行 NAT,再將流量傳送至因特網。 若要判斷虛擬機器內的必要設定,請參閱作業系統或網路應用程式的文件。 若要了解 Azure 中的輸出連線,請參閱了解輸出連線

      注意

      將虛擬設備部署至與資源不同的子網路,則會透過該虛擬設備路由。 將虛擬設備部署到相同的子網,然後將路由表套用至透過虛擬設備路由傳送流量的子網,可能會導致流量永遠不會離開子網的路由迴圈。

      下一個躍點私人IP位址必須具有直接連線能力,而不需要透過 Azure ExpressRoute 閘道或透過 Azure 虛擬 WAN 進行路由。 將下一個躍點設定為沒有直接連線的IP位址會導致UDR設定無效。

    • Azure 內部負載平衡器的私人 IP 位址。 負載平衡器通常用來作為網路虛擬設備高可用性策略的一部分。

    您可以定義一個位址前綴為 0.0.0.0/0 的路由和虛擬設備的下一個躍點類型。 此設定可讓設備檢查流量,並判斷要轉送或卸除流量。 如果您想要建立包含 0.0.0.0/0 位址前綴的 UDR,請先讀取 0.0.0.0/0 位址前綴

  • 虛擬網路閘道:當您想要將特定位址首碼指定的流量路由傳送至虛擬網路閘道時指定。 虛擬網路閘道必須使用 VPN 類型來建立。 您無法指定建立為 UDR 中 ExpressRoute 類型的 虛擬網路閘道,因為使用 ExpressRoute 時,您必須針對自定義路由使用 BGP。 如果您有虛擬專用網 (VPN) 和 ExpressRoute 並存連線,則無法指定虛擬網路閘道。 您可以定義路由,讓其目的地為 0.0.0.0/0 位址前綴的流量導向至路由型虛擬網路閘道。

    在您的內部部署中,可能會有一個用來檢查流量以及決定是否要轉送或卸除流量的裝置。 如果您想要為 0.0.0.0/0 位址前綴建立 UDR,請先讀取 0.0.0.0/0 位址前綴 。 如果 已啟用 VPN 虛擬網路閘道 的 BGP,您可以透過 BGP 公告具有 0.0.0.0.0/0 前置詞的路由,而不是設定 0.0.0.0/0 位址前綴的 UDR。

  • :當您想要卸除位址首碼的流量,而不是將流量轉送至目的地時指定。 如果未設定功能,Azure 可能會針對某些選擇性系統路由顯示 None。 例如,如果您看到 [下一個躍點 IP 位址 ] 顯示 [無 ],[ 下一個躍點類型 ] 會顯示 [虛擬網络網關 ] 或 [虛擬設備],可能是因為裝置未執行或未完全設定。 Azure 會針對下一個躍點類型為的保留位址首碼,建立系統預設路由

  • 虛擬網路:當您想要覆寫虛擬網路內的預設路由時,指定 [虛擬網路] 選項。 如需使用虛擬網路躍點類型建立路由的範例,請參閱路由範例

  • 因特網:當您想要明確地將目的地為地址前綴的流量路由傳送至因特網時,請指定 因特網 選項。 如果您想要使用 Azure 骨幹網路內保留的公用 IP 位址的 Azure 服務流量,請使用它。

您無法指定 虛擬網路對等互連 ,或 VirtualNetworkServiceEndpoint 指定為 UDR 中的下一個躍點類型。 只有在設定虛擬網路對等互連或服務端點時,Azure 才會建立具有 虛擬網路對等互連VirtualNetworkServiceEndpoint 下一個躍點類型的路由。

使用者定義路由的服務標籤

您現在可以將服務標籤指定為 UDR 的地址前綴,而不是明確的 IP 範圍。 服務標籤代表來自特定 Azure 服務的一組 IP 位址首碼。 Microsoft 會管理服務標籤包含的位址前置詞,並隨著位址變更自動更新服務標籤。 此支援可將頻繁更新至 UDR 的複雜性降到最低,並減少您需要建立的路由數目。 您目前可以在每個路由表中建立 25 個或更少具有服務標籤的路由。 此發行版本也支援在容器的路由案例中使用服務標籤。

完全相符

當路由與具有明確 IP 前置詞的路由與具有服務標籤的路由之間有完全相符的前置詞時,系統會將喜好設定為具有明確前置詞的路由。 當具有服務標籤的多個路由具有相符的IP前置詞時,路由會依照下列順序進行評估:

  1. 區域標籤(例如或 Storage.EastUS AppService.AustraliaCentral

  2. 最上層標籤 (例如 或 Storage AppService

  3. AzureCloud 區域標籤 (例如 或 AzureCloud.canadacentral AzureCloud.eastasia

  4. 標籤AzureCloud

若要使用此功能,請在路由表命令中指定位址前綴參數的服務標籤名稱。 例如,在 PowerShell 中,您可以使用下列命令,建立新的路由,將傳送至 Azure 儲存體 IP 前綴的流量導向虛擬設備:

$param = @{
    Name = 'StorageRoute'
    AddressPrefix = 'Storage'
    NextHopType = 'VirtualAppliance'
    NextHopIpAddress = '10.0.100.4'
}
New-AzRouteConfig @param

Azure CLI 的相同命令如下:

az network route-table route create \
    --resource-group MyResourceGroup \
    --route-table-name MyRouteTable \
    --name StorageRoute \
    --address-prefix Storage \
    --next-hop-type VirtualAppliance \
    --next-hop-ip-address 10.0.100.4

Azure 工具之間的下一個躍點類型

下一個躍點類型顯示和參考的名稱在 Azure 入口網站 和命令行工具之間,以及 Resource Manager 和傳統部署模型之間是不同的。 下表列出使用不同工具和 部署模型來參考每個下一個躍點類型的名稱。

下一個躍點類型 Azure CLI 和 PowerShell (Resource Manager) Azure 傳統 CLI 和 PowerShell (傳統)
虛擬網路閘道 VirtualNetworkGateway VPNGateway
虛擬網路 VNetLocal VNETLocal (傳統部署模型模式中的傳統 CLI 無法使用)
網際網路 網際網路 因特網 (傳統部署模型模式中的傳統 CLI 無法使用)
虛擬設備 VirtualAppliance VirtualAppliance
Null (傳統部署模型模式中的傳統 CLI 無法使用)
虛擬網路對等互連 虛擬網路對等互連 不適用
虛擬網路服務端點 VirtualNetworkServiceEndpoint 不適用

邊界閘道協定

內部部署網路閘道可以使用 BGP 與 Azure 虛擬網路閘道交換路由。 是否要對 Azure 虛擬網路閘道使用 BGP,取決於您建立閘道時選取的類型:

  • ExpressRoute:您必須使用 BGP 來公告內部部署路由至Microsoft邊緣路由器。 如果您部署部署為 ExpressRoute 類型的 虛擬網路閘道,則無法建立 UDR 來強制流量至 ExpressRoute 虛擬網路閘道。 您可以使用 UDR 強制從快速路由傳送到的網路虛擬設備等流量。
  • VPN:您可以選擇性地使用 BGP。 如需詳細資訊,請參閱 使用站對站 VPN 連線的 BGP。

當您使用 BGP 與 Azure 交換路由時,會將個別路由新增至虛擬網路中每個已公告前置詞之所有子網的路由表。 新增路由的來源和下一個躍點類型會列為虛擬網路閘道

您可以使用路由表上的 屬性,停用子網上的 ExpressRoute 和 Azure VPN 閘道 路由傳播。 停用路由傳播時,系統不會將路由新增到已停用虛擬網路閘道路由傳播的所有子網路的路由表。 此程序適用於靜態路由和 BGP 路由。 使用具有下一個躍點類型的虛擬網路閘道的自定義路由來達成 VPN 連線。 如需詳細資訊,請參閱 停用虛擬網路網關路由傳播

注意

不應該在上 GatewaySubnet停用路由傳播。 如果停用此設定,閘道將無法運作。

Azure 如何選取路由

從子網傳送輸出流量時,Azure 會使用最長的前置詞比對演算法,根據目的地 IP 位址選取路由。 例如,路由表有兩個路由。 一個路由會指定 10.0.0.0/24 位址前綴,另一個路由則指定 10.0.0.0/16 位址前綴。

Azure 會將目的地為 10.0.0.5 的流量導向具有 10.0.0.0/24 位址前置詞的路由中指定的下一個躍點類型。 發生此程序是因為前置詞 10.0.0.0/24 超過 10.0.0.0/16,即使 10.0.0.5 落在這兩個位址前置詞內也一樣。

Azure 會將目的地為 10.0.1.5 的流量導向具有 10.0.0.0/16 位址前置詞的路由中指定的下一個躍點類型。 之所以發生這個程式,是因為 10.0.1.5 未包含在 10.0.0.0/24 位址前綴中,因此路由具有 10.0.0.0/16 位址前綴是最長的相符前置詞。

如果多個路由包含相同的位址前綴,Azure 會根據下列優先順序選取路由類型:

  1. 使用者定義路由

  2. BGP 路由

  3. 系統路由

注意

與虛擬網路、虛擬網路對等互連或虛擬網路服務端點相關的流量系統路由是慣用路由。 即使 BGP 路由更明確,仍偏好使用它們。 即使使用路由表,也無法覆寫具有虛擬網路服務端點的路由,因為下一個躍點類型也無法覆寫。

例如,路由表包含下列路由:

來源 位址首碼 下一個躍點類型
預設 0.0.0.0/0 網際網路
User 0.0.0.0/0 虛擬網路閘道

當流量以路由表中任何其他路由的位址前置詞以外的IP位址為目標時,Azure 會選取具有使用者來源的路由。 Azure 會選擇此選項,因為 UDR 的優先順序高於系統預設路由。

如需包含數據表中路由說明的完整路由表,請參閱 路由範例

0.0.0.0/0 位址前置詞

具有 0.0.0.0/0 位址前置詞的路由會對 Azure 提供指示。 Azure 會使用這些指示來路由以未落在子網路路由表中任何其他路由的位址前置詞內的 IP 位址為目的地的流量。 建立子網路時,Azure 會建立 0.0.0.0/0 位址首碼的預設路由,且下一個躍點類型為網際網路。 如果您未覆寫此路由,Azure 會將所有目的地為IP位址的流量路由傳送至因特網任何其他路由的地址前綴中未包含。

例外狀況是,Azure 服務公用 IP 位址的流量會保留在 Azure 骨幹網路上,且不會路由傳送至因特網。 當您使用 [自訂] 路由覆寫此路由時,會導向目的地不在路由表中任何其他路由的位址前置詞內位址的流量。 目的地取決於您在自訂路由中指定網路虛擬設備或虛擬網路閘道。

當您覆寫 0.0.0.0/0 位址前綴時,來自子網的輸出流量會流經虛擬網路閘道或虛擬設備。 Azure 預設路由也會發生下列變更:

  • Azure 會將所有流量傳送至路由中指定的下一個躍點類型,包括 Azure 服務公用 IP 位址指定的流量。

    當路由具有 0.0.0.0.0/0 位址前綴的下一個躍點類型是 因特網時,來自目的地為 Azure 服務公用 IP 位址的子網流量永遠不會離開 Azure 骨幹網路,而不論虛擬網路或 Azure 服務資源所在的 Azure 區域為何。

    當您使用虛擬網路網關或虛擬設備下一個躍點類型建立UDR或 BGP 路由時,所有流量都會傳送至路由中指定的下一個躍點類型。 這包括傳送至您尚未啟用 服務端點之 Azure 服務公用 IP 位址的流量。

    當您為服務啟用服務端點時,Azure 會為服務建立具有位址前置詞的路由。 對服務的流量不會路由至具有 0.0.0.0/0 位址前置詞的路由中的下一個躍點類型。 服務的位址前置詞超過 0.0.0.0/0。

  • 您無法再從因特網直接存取子網中的資源。 您可以間接存取子網中的資源。 具有 0.0.0.0/0 位址前置詞的路由的下一個躍點類型所指定的裝置必須處理輸入流量。 在流量周遊裝置之後,流量會到達虛擬網路中的資源。 如果路由包含下一個躍點類型的下列值:

    • 虛擬設備:設備必須:

      • 可從因特網存取。
      • 將公用IP位址指派給它。
      • 沒有相關聯的網路安全組規則,可防止與裝置通訊。
      • 不拒絕通訊。
      • 能夠轉譯和轉送網路位址,或將流量 Proxy 到子網中的目的地資源,並將流量傳回因特網。
    • 虛擬網路網關:如果閘道是 ExpressRoute 虛擬網路閘道,內部部署的因特網連線裝置可以透過 ExpressRoute 私人對等互連將流量轉譯和轉送,或將流量 Proxy 到子網中的目的地資源。

如果虛擬網路連線至 Azure VPN 閘道,請勿將路由表關聯至所含路由的目的地為 0.0.0.0/0 的閘道子網路。 這麼做會讓閘道無法正常運作。 如需詳細資訊,請參閱 為什麼我的 VPN 閘道上開啟特定埠?

如需在因特網與 Azure 之間使用虛擬網路閘道時的實作詳細數據,請參閱 Azure 與內部部署資料中心之間的 DMZ。

路由範例

為了說明本文中的概念,下列各節說明:

  • 具有需求的案例。
  • 符合需求的自定義路由。
  • 存在於一個子網的路由表,其中包含符合需求所需的預設和自定義路由。

注意

此範例並非建議或最佳做法實作。 本文只提供說明概念。

需求

  1. 在相同的 Azure 區域中實作兩個虛擬網路,並且讓資源可在虛擬網路之間通訊。

  2. 讓內部部署網路能夠透過因特網透過 VPN 通道安全地與這兩個虛擬網路通訊。 或者,您可以使用 ExpressRoute 連線,但此範例會使用 VPN 連線。

  3. 針對一個虛擬網路中有一個子網路:

    • 透過網路虛擬設備路由傳送子網的所有輸出流量,以進行檢查和記錄。 從此路由排除 Azure 儲存體和子網內的流量。
    • 請勿檢查子網內私人IP位址之間的流量。 允許流量在所有資源之間直接流動。
    • 捨棄任何傳送至其他虛擬網路的輸出流量。
    • 讓輸出流量 Azure 儲存體 直接流向記憶體,而不需透過網路虛擬設備強制執行。
  4. 允許所有其他子網路和虛擬網路之間的所有流量。

實作

下圖顯示透過符合先前需求的 Resource Manager 部署模型實作。

顯示網路實作的圖表。

箭號顯示流量的流動。

路由表

以下是上述路由範例的路由表。

Subnet1

上圖中 Subnet1路由表包含下列路由:

識別碼 來源 州/省 位址首碼 下一個躍點類型 下一個躍點 IP 位址 UDR 名稱
1 預設 無效 10.0.0.0/16 虛擬網路
2 User 使用中 10.0.0.0/16 虛擬設備 10.0.100.4 Within-VNet1
3 User 使用中 10.0.0.0/24 虛擬網路 Within-Subnet1
4 預設 無效 10.1.0.0/16 虛擬網路對等互連
5 預設 無效 10.2.0.0/16 虛擬網路對等互連
6 User 使用中 10.1.0.0/16 ToVNet2-1-Drop
7 User 使用中 10.2.0.0/16 ToVNet2-2-Drop
8 預設 無效 10.10.0.0/16 虛擬網路閘道 [X.X.X.X]
9 User 使用中 10.10.0.0/16 虛擬設備 10.0.100.4 To-On-Prem
10 預設 使用中 [X.X.X.X] VirtualNetworkServiceEndpoint
11 預設 無效 0.0.0.0/0 網際網路
12 User 使用中 0.0.0.0/0 虛擬設備 10.0.100.4 Default-NVA

以下是每個路由識別碼的說明:

  • ID1:Azure 會自動為 Virtual-network-1的所有子網新增此路由,因為 10.0.0.0/16 是虛擬網路位址空間中唯一定義的地址範圍。 如果您未在路由標識碼 2 中建立 UDR,則會在虛擬網路內路由傳送至 10.0.0.1 和 10.0.255.254 之間的任何位址。 之所以發生此程式,是因為前置詞超過0.0.0.0/0,而且不會落在任何其他路由的位址前綴內。

    Azure 會在新增 ID2 時,自動將狀態從 [作用中 ] 變更為 [無效]。 其前置詞與預設路由相同,而 UDR 會覆寫預設路由。 此路由的狀態仍為 Subnet2 使用中,因為 UDR ID2 的路由表未與 Subnet2 相關聯。

  • ID2:當 10.0.0.0/16 位址前綴的 UDR 與 Virtual-network-1 虛擬網路中的 Subnet1 子網相關聯時,Azure 會新增此路由。 UDR 會將 10.0.100.4 指定為虛擬設備的 IP 位址,因為位址是指派給虛擬裝置虛擬機的私人 IP 位址。 此路由所在的路由表並未與 Subnet2 相關聯,因此路由不會出現在 Subnet2路由表中。

    此路由會覆寫 10.0.0.0/16 首碼 (ID1) 的預設路由,預設路由會透過虛擬網路的下一個躍點類型,自動在虛擬網路內路由位址 10.0.0.1 和 10.0.255.254 的流量。 此路由存在以符合 需求 3,也就是透過虛擬設備強制所有輸出流量。

  • ID3:當 10.0.0.0/24 位址前綴的 UDR 與 Subnet1 子網相關聯時,Azure 會新增此路由。 10.0.0.1 到 10.0.0.254 之間位址的流量仍保留在子網內。 流量不會路由傳送至上一個規則中指定的虛擬設備(ID2),因為它的前置詞比ID2路由長。

    此路由並未與Subnet2 產生關聯,因此路由不會出現在 Subnet2 的路由表中。 針對 Subnet1 內的流量,此路由有效地覆寫 ID2 路由。 此路由是為符合需求 3 而存在。

  • ID4:當虛擬網路與 Virtual-network-2 對等互連時,Azure 會自動為虛擬網路內的所有子網新增標識碼 4 和 5 中的路由。 Virtual-network-2 在其地址空間中有兩個位址範圍,10.1.0.0/16 和 10.2.0.0/16,因此 Azure 會為每個範圍新增路由。 如果您未在路由標識碼 6 和 7 中建立 UDR,則傳送至 10.1.0.1-10.1.255.254 和 10.2.0.1-10.2.255.254 之間的任何位址的流量會路由傳送至對等互連的虛擬網路。 之所以發生此程式,是因為前置詞超過0.0.0.0/0,而且不會落在任何其他路由的位址前綴內。

    當您在識別碼 6 和 7 中新增路由時,Azure 會自動將狀態從 [使用中] 變更為 [無效]。 之所以發生此程式,是因為其前置詞與標識符 4 和 5 中的路由相同,而 UDR 會覆寫預設路由。 標識碼 4 和 5 中的路由狀態仍然Subnet2 使用中,因為標識碼 6 和 7 中的 UDR 與 Subnet2 之間沒有關聯的路由表。 虛擬網路對等互連是為符合需求 1 而建立。

  • ID5:與 ID4 的說明相同。

  • ID6:當 10.1.0.0/16 和 10.2.0.0/16 位址前綴的 UDR 與 Subnet1 子網相關聯時,Azure 會在 ID7 中新增此路由和路由。 Azure 會將目的地為位址的流量從 10.1.0.1-10.1.255.254 到 10.2.0.1-10.2.255.254 之間,而不是路由傳送至對等互連虛擬網路,因為 UDR 會覆寫預設路由。 這些路由並未與 Subnet2 產生關聯,因此路由不會出現在 Subnet2 的路由表中。 針對離開 Subnet1 的流量,這些路由會覆寫 ID4 和 ID5 路由。 ID6 和 ID7 路由是為符合需求 3 而存在,會捨棄其他虛擬網路指定的流量。

  • ID7:與 ID6 的說明相同。

  • ID8:當 VPN 類型虛擬網路閘道在虛擬網路內建立時,Azure 會針對 Virtual-network-1 內的所有子網路,自動新增此路由。 Azure 會將虛擬網路閘道的公用 IP 位址新增至路由表。 傳送到 10.10.0.1 和 10.10.255.254 之間任何位址的流量會路由至虛擬網路閘道。 首碼長度大於 0.0.0.0/0,且不在任何其他路由的位址首碼內。 虛擬網路閘道是為符合需求 2 而建立。

  • ID9:當 10.10.0.0/16 位址前綴的 UDR 新增至與 Subnet1 相關聯的路由表時,Azure 會新增此路由。 此路由會覆寫 ID8。 路由會將目的地為內部部署網路的所有流量傳送至網路虛擬設備以進行檢查,而不是直接在內部部署路由傳送流量。 此路由是為符合需求 3 而建立。

  • ID10:當 Azure 服務的服務端點已為子網路啟用時,Azure 會自動將此路由新增至子網路。 Azure 會將流量從子網路路由至服務的公用 IP 位址 (透過 Azure 基礎結構網路)。 首碼長度大於 0.0.0.0/0,且不在任何其他路由的位址首碼內。 服務端點已建立,以符合需求 3,讓 Azure 儲存體 流量直接流向 Azure 儲存體。

  • ID11:Azure 會自動將此路由新增至 Virtual-network-1Virtual-network-2 內所有子網路的路由表。0.0.0.0/0 位址首碼是最短的首碼。 若流量傳送至位址首碼較長的位址,則流量會以其他路由為基礎進行路由。

    根據預設,Azure 會將目的地為位址以外的位址的所有流量路由傳送至因特網的其他其中一個路由。 當 0.0.0.0/0 位址前綴 (ID12) 的 UDR 與子網相關聯時,Azure 會自動將狀態從 Active 變更為 Invalid。 這兩個虛擬網路內所有其他子網的狀態仍然 為作用 中,因為路由並未與任何其他虛擬網路內的任何其他子網相關聯。

  • ID12:當 0.0.0.0/0 位址前綴的 UDR 與 Subnet1 子網相關聯時,Azure 會新增此路由。 UDR 會將 10.0.100.4 指定為虛擬設備的 IP 位址。 此路由並未與 Subnet2 產生關聯,因此路由不會出現在 Subnet2 的路由表中。 如果流量是由不在任何其他路由位址首碼內的位址所用,則所有流量都會傳送至虛擬設備。

    新增此路由會將 0.0.0.0.0/0 位址前綴的預設路由狀態從 Active 變更為 Subnet1無效,因為 UDR 會覆寫預設路由。 此路由是為符合需求 3 而存在。

Subnet2

上圖中 Subnet2路由表包含下列路由:

來源 州/省 位址首碼 下一個躍點類型 下一個躍點 IP 位址
預設 使用中 10.0.0.0/16 虛擬網路
預設 使用中 10.1.0.0/16 虛擬網路對等互連
預設 使用中 10.2.0.0/16 虛擬網路對等互連
預設 使用中 10.10.0.0/16 虛擬網路閘道 [X.X.X.X]
預設 使用中 0.0.0.0/0 網際網路
預設 使用中 10.0.0.0/8
預設 使用中 100.64.0.0/10
預設 使用中 192.168.0.0/16

Subnet2 的路由表包含所有 Azure 建立的預設路由和選用的虛擬網路對等互連與虛擬網路閘道選用的路由。 當閘道和對等互連新增至虛擬網路時,Azure 就會將選擇性路由新增至虛擬網路中的所有子網路。

Azure 已從 Subnet1 路由表中移除 10.0.0.0/8、192.168.0.0/16 和 100.64.0.0/10 位址前綴的路由。當 UDR 0.0.0.0/0 位址前綴新增至 Subnet1 時。