識別 Azure 虛擬網路的路由功能

已完成

若要控制虛擬網路內的流量流動,您必須了解自訂路由的用途和優點。 您也必須了解如何設定路由以透過網路虛擬設備 (NVA) 引導流量流動。

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 的預設路由,否則預設的系統路由 0.0.0.0/0 會將任何位址範圍路由傳送至網際網路。
  • :任何路由傳送至此躍點類型的流量都會遭到捨棄,且不會路由傳送到子網路外。 預設會建立下列 IPv4 私人位址首碼:10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16。 同時也會加入適用於共用位址空間的首碼 100.64.0.0/10。 這些位址範圍都無法全域路由傳送。

下圖顯示系統路由的概觀,並顯示流量在子網路與網際網路之間的預設流動方式。 您可以從圖中看到流量在兩個子網路與網際網路之間自由流動。

在子網路與網際網路之間流動的流量的圖表。

Azure 內有其他系統路由。 如果啟用下列功能,Azure 會建立這些路由:

  • 虛擬網路對等互連
  • 服務鏈結
  • 虛擬網路閘道
  • 虛擬網路服務端點

虛擬網路對等互連和服務鏈結

虛擬網路對等互連和服務鏈結可以讓 Azure 內的虛擬網路彼此連線。 透過此連線,虛擬機器便可以在相同的區域內,或是跨區域彼此通訊。 此通訊會接著在預設的路由表內建立更多路由。 服務鏈結可讓您藉由在對等互連網路之間建立使用者定義的路由,來覆寫這些路由。

下表顯示已啟用對等互連的兩個虛擬網路。 使用者定義路由已設定為透過 NVA 或 Azure VPN 閘道來路由傳送流量。

搭配使用者定義路由的虛擬網路對等互連的圖表。

虛擬網路閘道

使用虛擬網路閘道來透過網際網路在 Azure 與內部部署之間傳送加密的流量,以及在 Azure 網路之間傳送加密的流量。 虛擬網路閘道包含路由表和閘道服務。

虛擬網路閘道的結構的圖表。

虛擬網路服務端點

虛擬網路端點可藉由提供對您 Azure 資源的直接連線,在 Azure 中延伸您的私人位址空間。 此連線會限制流量的流動:您的 Azure 虛擬機器可以直接從私人位址空間存取您的儲存體帳戶,且會拒絕來自公用虛擬機器的存取。 當您啟用服務端點時,Azure 會在路由表中建立路由以引導此流量。

自訂路由

系統路由可能可以讓您輕鬆地快速將環境啟動並執行。 不過,在許多案例中,您想要更嚴密地控制網路內的流量流動。 例如,您可能會想要透過 NVA 或防火牆來路由傳送流量。 此控制可以透過自訂路由來進行。

您可以透過兩個選項來實作自訂路由:建立使用者定義的路由,或使用邊界閘道協定 (BGP) 在 Azure 和內部部署網路之間交換路由。

使用者定義的路由

您可以使用使用者定義的路由來覆寫預設系統路由,以便透過防火牆或 NVA 來路由傳送流量。

例如,您可能有一個具有兩個子網路的網路,且想要在周邊網路中新增要作為防火牆的虛擬機器。 您可以建立使用者定義的路由,如此一來流量就可通過防火牆,而不會直接在子網路之間傳送。

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

  • 虛擬設備:虛擬設備通常是防火牆裝置,用於分析或篩選進出網路的流量。 您可以指定連接至虛擬機器之網路介面卡 (NIC) 的私人 IP 位址以便啟用 IP 轉送。 或者您也可提供內部負載平衡器的私人 IP 位址。
  • 虛擬網路閘道:用來指出您想要路由傳送特定位址路由至虛擬網路閘道的時機。 虛擬網路閘道會指定為下一個躍點類型的 VPN。
  • 虛擬網路:用來覆寫虛擬網路內的預設系統路由。
  • 網際網路:用來將流量路由傳送至指定的位址首碼,且此位址首碼已路由傳送至網際網路。
  • :用來捨棄傳送至指定位址首碼的流量。

利用使用者定義的路由時,您無法指定下一個躍點類型 VirtualNetworkServiceEndpoint,這會指出虛擬網路對等互連。

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

您可以指定服務標籤作為使用者定義路由的位址首碼,而不是明確的 IP 範圍。 服務標籤代表來自指定 Azure 服務的一組 IP 位址首碼。 Microsoft 管理服務標籤所包含的位址前置詞,並在位址變更時自動更新服務標籤,進而將使用者定義路由的頻繁更新複雜度降到最低,並減少您需要建立的路由數目。

邊界閘道協定

內部部署網路中的網路閘道可以使用 BGP 來與 Azure 中的虛擬網路閘道交換路由。 BGP 是標準路由通訊協定,通常用於在二個或多個網路之間交換路由資訊。 BGP 用於在網際網路上的自發系統 (例如不同的主機閘道) 之間傳輸資料和資訊。

當您透過 Azure ExpressRoute 連線到 Azure 資料中心時,通常會使用 BGP 將內部部署路由公告至 Azure。 如果您使用 VPN 站對站連線來連線至 Azure 虛擬網路,也可以設定 BGP。

下圖顯示具有可在 Azure VPN 閘道與內部部署網路間傳遞資料之路徑的拓撲:

圖表顯示了使用邊界閘道協定的範例。

BGP 可讓網路保持穩定,因為路由器可以在連線路徑中斷時,快速變更連線來傳送封包。

路由選取和優先順序

如果路由表中有多個路由可用,Azure 會使用具有最長首碼相符的路由。 例如,訊息會傳送至 IP 位址 10.0.0.2,但有兩個具有 10.0.0.0.0/16 和 10.0.0.0/24 前置詞的路由可用。 Azure 會選取具有 10.0.0.0/24 前置詞的路由,因為它更明確。

路由首碼越長,該首碼所提供的 IP 位址清單就越短。 若您使用較長的首碼,路由演算法便可以更快地選取預期的位址。

您不能使用相同的位址首碼來設定多個使用者定義的路由。

如果有多個路由具備相同的位址首碼,Azure 會依據類型並依照下列優先順序來選取路由:

  1. 使用者定義的路由
  2. BGP 路由
  3. 系統路由

檢定您的知識

1.

為何要在虛擬網路中使用自訂路由?

2.

為什麼您會使用虛擬網路對等互連?