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

瞭解 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 會自動將路由的下一個躍點類型從 None 變更為 虛擬網路。 如果您將位址範圍指派給包含但與下列四個保留位址前綴之一相同的虛擬網路位址空間,Azure 會移除前置詞的路由,並新增您新增之位址前綴的路由,並將 虛擬網路 作為下一個躍點類型。

選用預設路由

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

來源 位址首碼 下一個躍點類型 虛擬網路內路由新增至其中的子網路
預設 虛擬網路獨有,例如:10.1.0.0/16 VNet 對等互連 全部
虛擬網路閘道 透過 BGP 從內部部署公佈的首碼,或在本機網路閘道中設定的首碼 虛擬網路閘道 全部
預設 多個 VirtualNetworkServiceEndpoint 只會啟用服務端點的子網。
  • 虛擬網路 (VNet) 對等互連:當您在兩個虛擬網路之間建立虛擬網路對等互連時,系統會在與對等互連相關的每個虛擬網路位址空間內,為每個位址範圍新增路由。 深入瞭解 虛擬網路對等互連

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

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

    注意

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

自訂路由

您可以建立 使用者定義的 路由,或在內部部署網路網關與 Azure 虛擬網路閘道之間交換 邊界閘道通訊協定 (BGP) 路由,以建立自定義路由。

使用者定義

您可以在 Azure 中建立自訂或使用者定義 (靜態)、路由來覆寫 Azure 的預設系統路由,或將更多路由新增至子網路的路由表。 在 Azure 中,您會建立路由表,然後使該路由表與零個或多個虛擬網路子網路產生關聯。 每個子網路可以有零個或一個與其相關聯的路由表。 若要瞭解您可以新增至路由表的路由數目上限,以及您可以為每個 Azure 訂用帳戶建立的使用者定義路由表數目上限,請參閱 Azure 限制。 當您建立路由表並將其與子網路建立關聯時,路由表中的路由會與子網路的預設路由合併。 如果有衝突的路由指派,由使用者所定義的路由會覆寫預設路由。

建立使用者定義路由時,您可以指定下列的下一個躍點類型:

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

    • 連結至虛擬機之網路介面的私人IP位址。 任何連結至虛擬機的網路介面,將網路流量轉送至其本身以外的位址,都必須為其啟用 Azure 啟用 IP 轉送 選項。 該設定會使 Azure 停止檢查網路介面的來源和目的地。 深入瞭解如何 啟用網路介面的IP轉送。 雖然 啟用IP轉送 是 Azure 設定,但您可能也需要在虛擬機的作業系統內啟用IP轉送,讓設備轉送指派給 Azure 網路介面的私人IP位址之間的流量。 如果設備需要將流量路由傳送至公用 IP 位址,則必須代理流量或執行網路位址轉譯 (NAT),從來源的私人 IP 位址轉換到自己的私人 IP 位址。 接著,Azure 會先對公用 IP 位址執行 NAT,再將流量傳送至網際網路。 若要判斷虛擬機器內的必要設定,請參閱作業系統或網路應用程式的文件。 若要瞭解 Azure 中的輸出連線,請參閱 瞭解輸出連線

      注意

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

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

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

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

  • 虛擬網路閘道:當您想要將特定位址首碼指定的流量路由傳送至虛擬網路閘道時指定。 虛擬網路閘道必須搭配 VPN 類型建立。 您無法在使用者定義的路由中指定建立為 ExpressRoute 類型的 虛擬網路閘道,因為使用 ExpressRoute 時,您必須針對自定義路由使用 BGP。 如果您有 VPN 和 ExpressRoute 共存連線,則無法指定虛擬網路閘道。 您可以定義路由,讓其目的地為 0.0.0.0/0 位址前綴的流量導向至路由型虛擬網路閘道。 在您的內部部署中,可能會有一個用來檢查流量以及決定是否要轉送或卸除流量的裝置。 如果您想要為 0.0.0.0/0 位址前綴建立使用者定義的路由,請先讀取 0.0.0.0/0 位址前綴 。 如果您已啟用 VPN 虛擬網路閘道的 BGP,您可以透過 BGP 公告具有 0.0.0.0/0 前置詞的路由,而不是設定 0.0.0.0/0 位址前綴的使用者定義路由。

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

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

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

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

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

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

完全相符

當具有明確 IP 前綴的路由與帶有服務標籤的路由之間存在完全相符的前綴時,系統會優先選擇具有明確 IP 前綴的路由。 當帶有服務標籤的多個路由具有相符的 IP 前綴時,路由將按下列順序進行評估:

  1. 區域標籤 (例如:Storage.EastUS、AppService.AustraliaCentral)

  2. 頂層標籤 (例如:儲存體、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

使用於 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 入口網站 與命令行工具之間,以及 Azure Resource Manager 和傳統部署模型之間是不同的。 下表列出使用不同工具和 部署模型來參考每個下一個躍點類型的名稱:

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

邊界閘道協定

內部部署網路閘道可以使用邊界閘道通訊協定 (BGP) 交換路由與 Azure 虛擬網路閘道。 搭配 Azure 虛擬網路閘道使用 BGP 取決於您在建立閘道時選取的類型:

  • ExpressRoute:您必須使用 BGP 來公告內部部署路由至 Microsoft Edge 路由器。 如果您部署的虛擬網路閘道是以 ExpressRoute 類型部署,就無法建立使用者定義路由來強制 ExpressRoute 虛擬網路閘道的流量。 您可以使用使用者定義的路由,強制執行從 Express Route 到例如網路虛擬裝置的流量。

  • VPN:您可以選擇性地使用 BGP。 如需詳細資訊,請參閱 使用站對站 VPN 連線的 BGP。

當您使用 BGP 交換 Azure 與路由時,系統會針對每個公佈的首碼,將個別路由新增至虛擬網路中的所有子網路路由表。 路由會新增為 來源和下一個躍點類型的虛擬網路閘道

ER 與 VPN 閘道路由傳播,可以透過使用路由表上的屬性來在子網路上停用。 停用路由傳播時,系統不會將路由新增到已停用虛擬網路閘道路由傳播的所有子網路的路由表。 此程序適用於靜態路由和 BGP 路由。 使用具有下一個躍點類型虛擬網路閘道自定義路由來達成 VPN 連線 連線。 網關Subnet 上不應停用路由傳播。 在停用此設定的情況下,閘道將無法運作。 如需詳細資訊,請參閱 如何停用虛擬網路網關路由傳播

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.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 會選取具有 使用者 來源的路由,因為使用者定義的路由優先順序高於系統預設路由。

如需完整的路由表說明,請參閱 路由範例 ,以取得數據表中的路由說明。

0.0.0.0/0 位址前綴

具有 0.0.0.0/0 位址前綴的路由會提供 Azure 的指示。 Azure 會使用這些指示來路由傳送目的地為IP位址的流量,該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 區域為何。 不過,當您使用虛擬網路網關或虛擬設備下一個躍點類型建立使用者定義的或 BGP 路由時,所有流量,包括傳送至您尚未啟用服務端點之 Azure 服務公用 IP 位址的流量,都會傳送至路由中指定的下一個躍點類型。 當您為服務啟用服務端點時,Azure 會建立具有服務位址前置詞的路由。 對服務的流量不會路由傳送至具有 0.0.0.0/0 位址前綴的路由中的下一個躍點類型。 服務的位址前置詞超過0.0.0.0/0。

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

    • 虛擬設備:設備必須:

      • 可從因特網存取

      • 將公用IP位址指派給它,

      • 沒有相關聯的網路安全組規則,可防止與裝置通訊

      • 不拒絕通訊

      • 能夠轉譯和轉送網路位址,或將流量 Proxy 到子網中的目的地資源,並將流量傳回因特網。

    • 虛擬網路閘道:如果閘道是 ExpressRoute 虛擬網路閘道,內部部署的因特網連線裝置可以透過 ExpressRoute 的私人對等互連,將流量轉譯和轉送至子網中的目的地資源。

如果您的虛擬網路已連線到 Azure VPN 閘道,請勿將路由表與 包含目的地為 0.0.0.0/0 的閘道子網 產生關聯。 這樣做可以防止閘道正常運作。 如需詳細資訊,請參閱 VPN 閘道 常見問題中的為何在我的 VPN 閘道上開啟特定埠? 問題。

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

路由範例

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

  • 具有需求的案例

  • 符合需求的自定義路由

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

注意

此範例並非建議或最佳做法實作。 相反地,它只提供說明本文中的概念。

需求

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

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

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

    • 強制子網的所有輸出流量,除了 Azure 儲存體 和子網內,流經網路虛擬設備,以進行檢查和記錄。

    • 請勿檢查子網內私人IP位址之間的流量;允許流量在所有資源之間直接流動。

    • 卸除任何目的地為其他虛擬網路的輸出流量。

    • 讓輸出流量流向 Azure 記憶體直接流向記憶體,而不需透過網路虛擬設備強制執行。

  4. 允許所有其他子網和虛擬網路之間的所有流量。

實作

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

Diagram of network.

箭號會顯示流量。

路由表

Subnet1

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

識別碼 來源 州/省 位址首碼 下一個躍點類型 下一個躍點IP位址 使用者定義的路由名稱
1 預設 無效 10.0.0.0/16 虛擬網路
2 User 使用中 10.0.0.0/16 虛擬設備 10.0.100.4 VNet1 內
3 User 使用中 10.0.0.0/24 虛擬網路 Subnet1 內
4 預設 無效 10.1.0.0/16 VNet 對等互連
5 預設 無效 10.2.0.0/16 VNet 對等互連
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 內部部署
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 中建立用戶定義的路由,則會在虛擬網路內路由傳送至 10.0.0.0.1 到 10.0.255.254 之間的任何位址。 此程式是因為前置詞超過 0.0.0.0.0/0,而且不會落在任何其他路由的地址前綴內。 Azure 會自動將狀態從 [作用中 ] 變更為 [無效],因為 ID2 是使用者定義路由,因為它具有與預設路由相同的前置詞,而使用者定義的路由會覆寫預設路由。 此路由的狀態仍為 Subnet2 使用中,因為使用者定義路由 ID2 的路由表與 Subnet2 沒有關聯

  • ID2:當 10.0.0.0/16 位址前綴的使用者定義路由與虛擬網路-1 虛擬網路中的 Subnet1 子網相關聯時,Azure 會新增此路由。 使用者定義路由會將 10.0.100.4 指定為虛擬設備的 IP 位址,因為位址是指派給虛擬裝置虛擬機的私人 IP 位址。 此路由存在於 的路由表未與 Subnet2 相關聯,因此不會出現在 Subnet2路由表中。 此路由會覆寫 10.0.0.0/16 前置詞的預設路由(ID1),其會自動透過虛擬網路下一個躍點類型,將尋址位址為 10.0.0.0.1 和 10.0.255.254 的流量路由。 此路由存在以符合 需求 3,以強制所有輸出流量通過虛擬設備。

  • ID3:當 10.0.0.0/24 位址前綴的使用者定義路由與 Subnet1 子網相關聯時,Azure 會新增此路由。 目的地為 10.0.0.1 到 10.0.0.254 之間位址的流量會保留在子網內,而不是路由傳送至上一個規則 (ID2) 中指定的虛擬設備,因為它的前置詞比 ID2 路由長。 此路由未與 Subnet2 相關聯,因此路由不會出現在 Subnet2路由表中。 此路由會有效覆寫 Subnet1流量的 ID2 路由。 此路由存在以符合 需求 3。

  • ID4:當虛擬網路與 Virtual-network-2 對等互連時,Azure 會自動針對 Virtual-network-1 內的所有子網,在標識符 4 和 5 中新增路由。虛擬網路-2 在其地址空間中有兩個位址範圍:10.1.0.0/16 和 10.2.0.0/16,因此 Azure 會為每個範圍新增路由。 如果您未在路由標識碼 6 和 7 中建立使用者定義的路由,則傳送至 10.1.0.1-10.1.255.254 和 10.2.0.1-10.2.255.254 之間的任何位址的流量會路由傳送至對等互連的虛擬網路。 此程式是因為前置詞超過 0.0.0.0.0/0,而且不會落在任何其他路由的地址前綴內。 當您在標識碼 6 和 7 中新增路由時,Azure 會自動將狀態從 [作用 中] 變更為 [無效]。 此程式是因為其前置詞與標識碼 4 和 5 中的路由相同,而使用者定義的路由會覆寫預設路由。 標識碼 4 和 5 中的路由狀態仍Subnet2 使用中,因為標識碼 6 和 7 中使用者定義路由的路由表並未與 Subnet2 相關聯。 已建立虛擬網路對等互連以符合 需求 1。

  • ID5:與 ID4 相同的說明。

  • ID6:當 10.1.0.0/16 和 10.2.0.0/16 位址前綴的使用者定義路由與 Subnet1 子網相關聯時,Azure 會在 ID7 中新增此路由和路由。 Azure 會將目的地為位址的流量從 10.1.0.1-10.1.255.254 到 10.2.0.1-10.2.255.254 之間,而不是路由傳送至對等互連虛擬網路,因為使用者定義的路由會覆寫預設路由。 路由不會與 Subnet2 相關聯,因此路由不會出現在 Subnet2路由表中。 路由會覆寫離開 Subnet1 的標識碼4 和 ID5 路由。 ID6 和 ID7 路由存在,以符合需求 3 以捨棄目的地為另一個虛擬網路的流量。

  • ID7:與 ID6 相同的說明。

  • ID8:當虛擬網路內建立 VPN 類型虛擬網路閘道時,Azure 會自動為虛擬網路的所有子網新增此路由。 Azure 已將虛擬網路閘道的公用IP位址新增至路由表。 傳送至 10.10.0.1 到 10.10.255.254 之間任何位址的流量會路由傳送至虛擬網路閘道。 前置詞長度超過 0.0.0.0/0,且不在任何其他路由的地址前綴內。 已建立虛擬網路閘道以符合 需求 2。

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

  • ID10:當子網的服務端點已啟用 Azure 服務時,Azure 會自動將此路由新增至子網。 Azure 會透過 Azure 基礎結構網路,將來自子網的流量路由傳送至服務的公用 IP 位址。 前置詞長度超過 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) 的使用者定義路由與子網相關聯時,Azure 會自動將狀態從 Active 變更為 Subnet1 子網無效。 這兩個虛擬網路內所有其他子網的狀態仍然 為作用 中,因為路由不會與任何其他虛擬網路內的任何其他子網相關聯。

  • ID12:當 0.0.0.0/0 位址前綴的使用者定義路由與 Subnet1 子網相關聯時,Azure 會新增此路由。 使用者定義的路由會將 10.0.100.4 指定為虛擬設備的 IP 位址。 此路由未與 Subnet2 相關聯,因此路由不會出現在 Subnet2路由表中。 任何其他路由的位址前綴中未包含之任何位址的所有流量都會傳送至虛擬設備。 新增此路由會將 0.0.0.0.0/0 位址前綴的預設路由狀態從 Active 變更為 Subnet1 無效,因為使用者定義的路由會覆寫預設路由。 此路由存在以符合第三 個需求

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 移除了 10.0.0.0/8、192.168.0.0/16 和 100.64.0.0/10 位址前綴的路由,當 0.0.0.0/0 位址前綴的使用者定義路由新增至 Subnet1 時。

下一步