驗證 ExpressRoute 連線

本文將協助您確認 Azure ExpressRoute 連線及針對連線問題進行疑難排解。 ExpressRoute 可透過連線提供者通常提供的私人連線,延伸內部部署網路至 Microsoft 雲端。 ExpressRoute 連線傳統上會涉及三個不同的網路區域:

  • 客戶網路
  • 提供者網路
  • Microsoft 資料中心

注意

在 ExpressRoute 直接連線模型中,您可以直接連線至 Microsoft Enterprise Edge (MSEE) 路由器的連接埠。 直接連線模型僅包含您的網路區域和 Microsoft 網路區域。

本文可協助您識別連線問題是否存在及其位置。 您可以再向適當的小組尋求支援來解決問題。

重要

本文旨在協助您診斷並修正簡單的問題。 其無法取代 Microsoft 支援服務。 如果您無法使用本文中的指導來解決問題,請使用 Microsoft 支援服務開啟支援票證。

概觀

下圖顯示透過 ExpressRoute 從客戶網路連至 Microsoft 網路的邏輯連線。 1

在上圖中,數字指出重要的網路點:

  1. 客戶計算裝置 (例如,伺服器或電腦)。
  2. 客戶邊緣路由器 (CE)。
  3. 面對客戶邊緣路由器的提供者邊緣路由器/交換器 (PE)。
  4. 面對 Microsoft Enterprise Edge ExpressRoute 路由器 (MSEE) 的 PE。 本文稱為 PE-MSEE
  5. MSEE。
  6. 虛擬網路閘道。
  7. Azure 虛擬網路上的計算裝置。

此時,本文會透過其相關聯編號參考這些網路點。

根據 ExpressRoute 連線模型,網路點 3 和 4 可能是交換器 (第 2 層裝置) 或路由器 (第 3 層裝置)。 ExpressRoute 連線模型是雲端交換共置、點對點乙太網路連接,或任意對任意 (IPVPN)。

在直接連線模型中,沒有網路點 3 和 4。 而是,CES (2) 會透過暗光纖直接連接到 MSEE。

如果使用雲端交換共置、點對點乙太網路或直接連線模型,則 CES (2) 會建立與 MSEE 對等互連的邊界閘道通訊協定 (BGP)。

如果使用任意對任意 (IPVPN) 連線模型,PE-MSEE (4) 會建立與 MSEE 的 BGP 對等互連 (5)。 PE-MSEE 會透過 IPVPN 服務提供者網路將從 Microsoft 收到的路由傳播回客戶網路。

注意

針對高可用性,Microsoft 會在 MSEE 與 PE-MSEE 配對之間建立完全備援的平行連線。 此外鼓勵您在客戶網路和 PE/CE 配對之間有完全備援的網路路徑。 如需有關高可用性的詳細資訊,請參閱使用 ExpressRoute 設計高可用性一文。

下列各節代表針對 ExpressRoute 線路進行疑難排解的邏輯步驟。

確認路線的佈建和狀態

佈建 ExpressRoute 線路會在 CE/PE-MSEE (2/4) 和 MSEE (5) 之間建立備援的第 2 層連線。 如需有關如何建立、修改、佈建、確認 ExpressRoute 路線的詳細資訊,請參閱建立和修改 ExpressRoute 路線一文。

提示

唯一識別 ExpressRoute 線路的服務金鑰。 如果需要 Microsoft 或 ExpressRoute 合作夥伴協助針對 ExpressRoute 問題進行疑難排解,請提供服務金鑰以快速識別線路。

透過 Azure 入口網站進行確認

在 Azure 入口網站中,開啟 ExpressRoute 線路的頁面。 在頁面的 3 區段中會列出 ExpressRoute 的基本資料,如以下螢幕擷取畫面所示:

4

在 ExpressRoute [基本資料] 中,[線路狀態] 指出 Microsoft 端線路的狀態。 [提供者狀態] 指出在服務提供者端是否已佈建/未佈建線路。

[線路狀態] 必須是 [已啟用],且[提供者狀態] 必須是 [已佈建],ExpressRoute 線路才能運作。

注意

設定 ExpressRoute 線路之後,如果 [線路狀態] 卡在 [未啟用] 狀態,請連絡 Microsoft 支援服務。 如果 [提供者狀態] 卡在 [未佈建] 狀態,請連絡服務提供者。

透過 PowerShell 進行確認

若要列出資源群組中的所有 ExpressRoute 線路,使用下列命令:

Get-AzExpressRouteCircuit -ResourceGroupName "Test-ER-RG"

提示

如果您要尋找資源群組的名稱,則可以使用 Get-AzResourceGroup 命令,列出訂用帳戶中的所有資源群組以取得該名稱。

若要選取資源群組中的特定 ExpressRoute 線路,使用下列命令:

Get-AzExpressRouteCircuit -ResourceGroupName "Test-ER-RG" -Name "Test-ER-Ckt"

以下是範例回應:

Name                             : Test-ER-Ckt
ResourceGroupName                : Test-ER-RG
Location                         : westus2
Id                               : /subscriptions/***************************/resourceGroups/Test-ER-RG/providers/***********/expressRouteCircuits/Test-ER-Ckt
Etag                             : W/"################################"
ProvisioningState                : Succeeded
Sku                              : {
                                    "Name": "Standard_UnlimitedData",
                                    "Tier": "Standard",
                                    "Family": "UnlimitedData"
                                   }
CircuitProvisioningState         : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes             :
ServiceProviderProperties        : {
                                    "ServiceProviderName": "****",
                                    "PeeringLocation": "******",
                                    "BandwidthInMbps": 100
                                   }
ServiceKey                       : **************************************
Peerings                         : []
Authorizations                   : []

若要確認 ExpressRoute 線路是否在運作,請特別注意下列欄位︰

CircuitProvisioningState         : Enabled
ServiceProviderProvisioningState : Provisioned

注意

設定 ExpressRoute 線路之後,如果 [線路狀態] 卡在 [未啟用] 狀態,請連絡 Microsoft 支援服務。 如果 [提供者狀態] 卡在 [未佈建] 狀態,請連絡服務提供者。

驗證對等互連設定

在服務提供者已完成 ExpressRoute 線路的佈建之後,可以透過 CE/MSEE-PE (2/4) 與 MSEE (5) 之間的 ExpressRoute 線路建立多個以外部 BGP (eBGP) 為基礎的路由設定。 每個 ExpressRoute 線路都可以有下列其中一或兩項對等互連設定:

  • Azure 私人對等互連:Azure 中私人虛擬網路的流量
  • Microsoft 對等互連:平台即服務 (PaaS) 和軟體即服務 (SaaS) 的公用端點流量

如需有關如何建立及修改路由組態的詳細資訊,請參閱建立和修改 ExpressRoute 路線的路由一文。

透過 Azure 入口網站進行確認

注意

在 IPVPN 連線模型中,服務提供者負責設定對等互連 (第 3 層服務)。 在此模型中,在服務提供者設定對等互連之後,如果入口網站中的對等互連是空白的,請嘗試使用入口網站上的 [重新整理] 按鈕重新整理線路設定。 這項操作將會從線路提取目前的路由設定。

在 Azure 入口網站中,您可以檢查該線路頁面上 ExpressRoute 線路的狀態。 在頁面的 3 區段中,會列出 ExpressRoute 對等互連,如以下螢幕擷取畫面所示:

5

在上述範例中,系統會佈建 Azure 私人對等互連,但不會佈建 Azure 公用和 Microsoft 對等互連。 成功佈建的對等互連內容也會列出主要和次要點對點子網路。 /30 子網路是用於 MSEE 和 CE/PE-MSEE 的介面 IP 位址。 針對佈建的對等互連,清單也會指出誰上次修改了設定。

注意

如果對等互連啟用失敗,請檢查指派的主要和次要子網路是否符合連結 CE/PE-MSEE 上的設定。 此外,請檢查 MSEE 上是否使用正確的 VlanIdAzureASNPeerASN 值,以及這些值是否對應至連結 CE/PE-MSEE 上使用的項目。

如果選擇 MD5 雜湊,則在 MSEE 與 CE/PE-MSEE 配對上,共用的金鑰應該相同。 基於安全性理由,不會顯示先前設定的共用金鑰。

如果需要變更 MSEE 路由器上的任何設定,請參閱建立和修改 ExpressRoute 線路的路由

注意

在指派給介面的 /30 子網路上,Microsoft 會針對 MSEE 介面選擇子網路的第二個可用 IP 位址。 因此,請確定已在對等互連的 CE/PE-MSEE 上指派子網路的第一個可用 IP 位址。

透過 PowerShell 進行確認

若要取得 Azure 私人對等互連的設定詳細資料,使用下列命令︰

$ckt = Get-AzExpressRouteCircuit -ResourceGroupName "Test-ER-RG" -Name "Test-ER-Ckt"
Get-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt

以下是已成功設定私人對等互連的回應範例︰

Name                       : AzurePrivatePeering
Id                         : /subscriptions/***************************/resourceGroups/Test-ER-RG/providers/***********/expressRouteCircuits/Test-ER-Ckt/peerings/AzurePrivatePeering
Etag                       : W/"################################"
PeeringType                : AzurePrivatePeering
AzureASN                   : 12076
PeerASN                    : 123##
PrimaryPeerAddressPrefix   : 172.16.0.0/30
SecondaryPeerAddressPrefix : 172.16.0.4/30
PrimaryAzurePort           :
SecondaryAzurePort         :
SharedKey                  :
VlanId                     : 200
MicrosoftPeeringConfig     : null
ProvisioningState          : Succeeded

成功啟用的對等互連內容也會列出主要和次要位址前置詞。 /30 子網路是用於 MSEE 和 CE/PE-MSEE 的介面 IP 位址。

若要取得 Azure 公用對等互連的設定詳細資料,使用下列命令︰

$ckt = Get-AzExpressRouteCircuit -ResourceGroupName "Test-ER-RG" -Name "Test-ER-Ckt"
Get-AzExpressRouteCircuitPeeringConfig -Name "AzurePublicPeering" -ExpressRouteCircuit $ckt

若要取得 Microsoft 對等互連的設定詳細資料,使用下列命令︰

$ckt = Get-AzExpressRouteCircuit -ResourceGroupName "Test-ER-RG" -Name "Test-ER-Ckt"
Get-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt

如果未設定對等互連,您會收到錯誤訊息。 以下是未在線路內設定所述對等互連 (在此案例中是 Azure 公用互對等連) 時的回應範例:

Get-AzExpressRouteCircuitPeeringConfig : Sequence contains no matching element
At line:1 char:1
    + Get-AzExpressRouteCircuitPeeringConfig -Name "AzurePublicPeering ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : CloseError: (:) [Get-AzExpr...itPeeringConfig], InvalidOperationException
        + FullyQualifiedErrorId : Microsoft.Azure.Commands.Network.GetAzureExpressRouteCircuitPeeringConfigCommand

注意

如果對等互連啟用失敗,請檢查指派的主要和次要子網路是否符合連結 CE/PE-MSEE 上的設定。 此外,請檢查 MSEE 上是否使用正確的 VlanIdAzureASNPeerASN 值,以及這些值是否對應至連結 CE/PE-MSEE 上使用的項目。

如果選擇 MD5 雜湊,則在 MSEE 與 CE/PE-MSEE 配對上,共用的金鑰應該相同。 基於安全性理由,不會顯示先前設定的共用金鑰。

如果需要變更 MSEE 路由器上的任何設定,請參閱建立和修改 ExpressRoute 線路的路由

注意

在指派給介面的 /30 子網路上,Microsoft 會針對 MSEE 介面選擇子網路的第二個可用 IP 位址。 因此,請確定已在對等互連的 CE/PE-MSEE 上指派子網路的第一個可用 IP 位址。

驗證 ARP

位址解析通訊協定 (ARP) 表格能針對特定的對等互連提供 IP 位址與 MAC 位址對應。 ExpressRoute 線路對等互連的 APR 表格會為每個主要和次要介面提供下列資訊:

  • 內部部署路由器介面的 IP 位址與 MAC 位址的對應
  • ExpressRoute 路由器介面的 IP 位址與 MAC 位址的對應 (選擇性)
  • 對應存留期

ARP 資料表可協助您驗證第 2 層組態,並針對基本第 2 層連線問題進行疑難排解。

注意

視硬體平台而定,ARP 結果可能有所不同,而且只會顯示內部部署介面。

若要瞭解如何檢視 ExpressRoute 對等互連的 ARP 表格,以及如何使用資訊來針對第 2 層連線問題進行疑難排解,請參閱取得 Resource Manager 部署模型檔中的 ARP 表格

確認 MSEE 上的 BGP 和路由

若要在私人路由內容的主要路徑上取得 MSEE 中的路由表,請使用下列命令:

Get-AzExpressRouteCircuitRouteTable -DevicePath Primary -ExpressRouteCircuitName ******* -PeeringType AzurePrivatePeering -ResourceGroupName ****

以下是範例回應:

Network : 10.1.0.0/16
NextHop : 10.17.17.141
LocPrf  :
Weight  : 0
Path    : 65515

Network : 10.1.0.0/16
NextHop : 10.17.17.140*
LocPrf  :
Weight  : 0
Path    : 65515

Network : 10.2.20.0/25
NextHop : 172.16.0.1
LocPrf  :
Weight  : 0
Path    : 123##

注意

如果 MSEE 與 CE/PE MSEE 之間的 eBGP 對等互連狀態為 [作用中] 或 [閒置],請檢查指派的主要和次要對等互連子網路是否符合所連結 CE/PE MSEE 上的設定。 此外,請檢查 MSEE 上是否使用正確的 VlanIdAzureASNPeerASN 值,以及這些值是否對應至連結 CE/PE-MSEE 上使用的項目。 如果選擇 MD5 雜湊,則在 MSEE 與 CE/PE-MSEE 配對上,共用的金鑰應該相同。 如果需要變更 MSEE 路由器上的任何設定,請參閱建立和修改 ExpressRoute 線路的路由

注意

如果無法透過對等互連連線到特定目的地,請檢查 MSEE 的路由表以找出對應的對等互連內容。 如果路由表中有相符的前置詞 (可能是 NATed IP) ,請檢查路徑上是否有任何防火牆、網路安全性群組或存取控制清單 (ACL) 封鎖流量。

以下範例顯示對等互連不存在時命令的回應:

Get-AzExpressRouteCircuitRouteTable : The BGP Peering AzurePublicPeering with Service Key ********************* is not found.
StatusCode: 400

確認流量流程

若要取得對等互連內容的主要和次要路徑的合併流量統計資料 (包括輸入和輸出的位元組),請使用下列命令︰

Get-AzExpressRouteCircuitStats -ResourceGroupName $RG -ExpressRouteCircuitName $CircuitName -PeeringType 'AzurePrivatePeering'

以下是命令輸出範例:

PrimaryBytesIn PrimaryBytesOut SecondaryBytesIn SecondaryBytesOut
-------------- --------------- ---------------- -----------------
     240780020       239863857        240565035         239628474

以下是不存在對等互連的命令範例輸出:

Get-AzExpressRouteCircuitRouteTable : The BGP Peering AzurePublicPeering with Service Key ********************* is not found.
StatusCode: 400

測試私人對等互連連線

在 MSEE 裝置上,藉由計算抵達和離開 ExpressRoute 線路的 Microsoft Edge 的封包,來測試您的私人對等互連連線。 此診斷工具的運作方式是將 ACL 套用至 MSEE,以計算達到特定 ACL 規則的封包數目。 使用此工具可讓您藉由回答下列問題來確認連線能力:

  • 封包是否進入 Azure?
  • 封包是否回到內部部署?

執行測試

  1. 若要存取此診斷工具,請從 Azure 入口網站中的 ExpressRoute 線路選取 [診斷並解決問題]

    Screenshot of the button for diagnosing and solving problems from the ExpressRoute circuit.

  2. 選取 [連線能力與效能問題]

    Screenshot of the option for connectivity issues.

  3. 在 [請詳細告訴我們您發生的問題] 挑選清單中,選取 [私人對等互連問題]

    Screenshot of the dropdown option for the problem that the user is experiencing.

  4. 向下捲動至 [測試私人對等互連連線] 區段,並將其展開。

    Screenshot of the options for troubleshooting connectivity issues, with the option for private peering highlighted.

  5. 從您的內部部署 IP 位址對 Azure IP 位址執行 PsPing 測試,並使其在連線測試期間持續執行。

  6. 填寫表單的欄位。 請務必輸入您在步驟 5 中使用的相同內部部署和 Azure IP 位址。 接著選取 [提交],然後等待結果載入。

    Screenshot of the form for debugging an A C L.

解譯結果

當您的結果準備就緒時,您會有兩組用於主要和次要 MSEE 裝置。 請檢閱輸入和輸出的相符項數目,並使用下列案例來解譯結果:

  • 您會在兩個 MSEE 上看到已傳送和接收的封包相符項目:這結果表示線路上 MSEE 輸入和輸出的流量狀況良好。 如果遺失是發生在內部部署或 Azure 中,則會發生在 MSEE 下游。

  • 如果從內部部署到 Azure (收到) 測試 PsPing 結果顯示相符項目,但傳送的結果顯示無相符項目:這結果表示流量會進入 Azure,但不會傳回內部部署。 檢查傳回路徑路由問題。 例如,您是否要將適當的前置詞公告至 Azure? 使用者定義路由 (UDR) 是否覆寫前置詞?

  • 如果從 Azure 到內部部署 (傳送) 測試 PsPing 結果顯示相符項目,但收到的結果顯示無相符項目:這結果表示流量會進入內部部署,但不會傳回 Azure。 與提供者合作,找出為何流量不會透過 ExpressRoute 線路路由至 Azure。

  • 其中一個 MSEE 顯示無相符項目,但另一個則顯示良好的相符項目:這結果表示一個 MSEE 未接收或傳遞任何流量。 它可能處於離線 (例如:BGP/ARP 已關閉)。

    • 您可以執行其他測試來確認狀況不良的路徑,方法是透過此路徑上的 BGP 會話公告唯一的 /32 內部部署路由。
    • 使用作為內部部署目的地位址公告的唯一 /32 執行「測試您的私人對等互連連線」,並查看結果以確認路徑健康情況。

每個 MSEE 裝置的測試結果如以下範例所示:

src 10.0.0.0 dst 20.0.0.0 dstport 3389 (received): 120 matches
src 20.0.0.0 srcport 3389 dst 10.0.0.0 (sent): 120 matches

此測試結果具有下列屬性:

  • 連接埠:3389
  • 內部部署 IP 位址 CIDR:10.0.0.0
  • Azure IP 位址 CIDR:20.0.0.0

確認虛擬網路閘道的可用性

ExpressRoute 虛擬網路閘道可協助私人連結服務和私人 IP (已部署至 Azure 虛擬網路) 的管理和控制平面連線。 Microsoft 會管理虛擬網路閘道基礎結構,有時會進行維護。

在維護期間,虛擬網路閘道的效能可能會降低。 若要針對虛擬網路的連線問題進行疑難排解,並查看最近的維護事件是否導致容量降低,請遵循下列步驟:

  1. 請從 Azure 入口網站中的 ExpressRoute 線路選取 [診斷並解決問題]

    Screenshot of the button for diagnosing and solving problem from an ExpressRoute circuit.

  2. 選取 [效能問題] 選項。

    Screenshot of selecting the option for performance issues.

  3. 等候診斷執行並解譯結果。

    Screenshot of the diagnostic results.

    如果在您遇到封包遺失或延遲的期間,在您的虛擬網路閘道上完成維護。 閘道的容量降低可能會造成您對目標虛擬網路所遇到的連線問題。 遵循建議步驟。 若要支援更高的網路輸送量,並避免在未來的維護事件期間發生連線問題,請考慮升級虛擬網路閘道 SKU

下一步

如需詳細資訊或協助,請看看下列連結: