共用方式為


驗證 ExpressRoute 連線

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

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

注意

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

本文可協助您識別連線問題,並尋求適當小組的支援以解決問題。

重要

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

概觀

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

在圖表中,數位表示關鍵網路點:

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

這些網路點會在整個文章中參考其相關聯的數位。

根據 ExpressRoute 連線模型,網路點 3 和 4 可能是交換器 (第 2 層裝置) 或路由器 (第 3 層裝置)。 線上模型是雲端交換共置、點對點乙太網路連線或任意對任意 (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 合作夥伴的協助,以針對問題進行疑難解答,請提供服務密鑰以輕鬆識別線路。

透過 Azure 入口網站進行確認

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

4

在 ExpressRoute 基本概念中, 線路狀態 會指出Microsoft端線路的狀態,而 提供者狀態 則表示服務提供者是否已布建線路。

[線路狀態] 必須是 [已啟用],且[提供者狀態] 必須是 [已佈建],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

注意

如果 [線路狀態] 卡在 [未啟用] 中,請連絡 Microsoft 支援服務。 如果提供者狀態卡在 [未布建] 中,請連絡您的服務提供者。

驗證對等互連設定

在服務提供者布建 ExpressRoute 線路之後,您可以透過 CEs/MSEE-PEs (2/4) 和 MSE (5) 之間的線路,使用外部 BGP (eBGP) 建立多個路由設定。 每個 ExpressRoute 線路都可以有下列其中一或兩項對等互連設定:

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

如需建立和修改路由組態的詳細資訊,請參閱 建立和修改 ExpressRoute 線路的路由。

透過 Azure 入口網站進行確認

注意

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

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

5

在上一個範例中,會布建 Azure 私人對等互連,但 Azure 公用和Microsoft對等互連則不是。 成功布建的對等互連內容也會列出主要和次要點對點子網。 /30 子網用於 MSE 和 CEs/PE-MSE 的介面 IP 位址。 清單也會指出上次修改組態的人員。

注意

如果對等互連啟用失敗,請檢查指派的主要和次要子網路是否符合連結 CE/PE-MSEE 上的設定。 此外,請確認 VlanIdMSE 上的、 AzureASNPeerASN 值符合連結 CE/PE-MSEE 上的值。

如果選擇 MD5 哈希,請確定 MSEE 和 CE/PE-MSEE 配對上的共用金鑰都相同。 基於安全性考慮,先前設定的共用密鑰將不會顯示。

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

注意

在為介面指派的 /30 子網上,Microsoft將使用 MSEE 介面的第二個可用 IP 位址。 請確定第一個可使用的IP位址已指派給對等互連的CE/PE-MSEE。

透過 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 子網用於 MSE 和 CEs/PE-MSE 的介面 IP 位址。

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

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

如果未設定對等互連,您會收到錯誤訊息。 以下是未在線路內設定狀態對等互連時的範例回應:

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

注意

如果對等互連啟用失敗,請檢查指派的主要和次要子網路是否符合連結 CE/PE-MSEE 上的設定。 此外,請確認 VlanIdMSE 上的、 AzureASNPeerASN 值符合連結 CE/PE-MSEE 上的值。

如果選擇 MD5 哈希,請確定 MSEE 和 CE/PE-MSEE 配對上的共用金鑰都相同。 基於安全性考慮,先前設定的共用密鑰將不會顯示。

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

注意

在為介面指派的 /30 子網上,Microsoft將使用 MSEE 介面的第二個可用 IP 位址。 請確定第一個可使用的IP位址已指派給對等互連的CE/PE-MSEE。

驗證 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 <CircuitName> -PeeringType AzurePrivatePeering -ResourceGroupName <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 上的設定。 VlanId確定 MSEE 上的、 AzureASNPeerASN 值正確無誤,並符合連結 CE/PE-MSEE 上的值。 如果使用 MD5 哈希,則 MSEE 和 CE/PE-MSEE 配對上的共用金鑰必須相同。 如需 MSEE 路由器上的設定變更,請參閱 建立和修改 ExpressRoute 線路的路由。

注意

如果某些目的地無法透過對等互連連線,請檢查對應的對等互連內容的 MSEE 路由表。 如果有相符的前置詞,請確定沒有任何防火牆、網路安全組或 ACL 封鎖流量。

不存在對等互連的範例回應:

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

確認流量流程

若要取得對等互連內容的流量統計數據(位元組進出),請使用下列命令:

Get-AzExpressRouteCircuitStats -ResourceGroupName <ResourceGroupName> -ExpressRouteCircuitName <CircuitName> -PeeringType 'AzurePrivatePeering'

範例輸出:

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

不存在對等互連的範例輸出:

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

測試私人對等互連連線

藉由計算抵達的封包,並將 ExpressRoute 線路的Microsoft邊緣留在 MSEE 裝置上,以測試私人對等互連連線。 此診斷工具會使用 ACL 來計算達到特定規則的封包,確認連線能力。

執行測試

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

    診斷並解決問題按鈕。

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

    線上問題選項。

  3. 在 [ 告訴我們您遇到 的問題] 下拉式清單中,選取 [ 私人對等互連問題]。

    請告訴我們更多下拉式清單。

  4. 展開 [ 測試私人對等互連連線] 區段。

    測試私人對等互連選項。

  5. 將 PsPing 測試從內部部署 IP 執行至 Azure IP,並在測試期間繼續執行。

  6. 使用步驟 5 中使用的相同 IP 位址填寫表單域,然後選取 [ 提交 ] 並等候結果。

    用於偵錯 ACL 的表單。

解譯結果

檢閱主要和次要 MSEE 裝置的結果:

  • 在兩個 MSE 上傳送和接收的相符專案:表示輸入和輸出狀況良好的流量。 任何損失都是 MSE 的下游。

  • 已接收的相符專案,但沒有傳送的相符專案:流量到達 Azure,但未傳回。 檢查傳回路徑路由問題。

  • 已傳送相符專案但未收到相符專案:流量會到達內部部署,但無法返回 Azure。 請與您的提供者合作來解決。

  • 其中一個 MSEE 沒有顯示相符專案,另一個則顯示良好的相符專案:表示一個 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

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

ExpressRoute 虛擬網路閘道會管理 Azure 虛擬網路中私人連結服務和私人 IP 的連線。 Microsoft管理此基礎結構,而且可能會執行維護,以減少效能。

若要針對連線問題進行疑難解答,並檢查最近的維護:

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

    診斷並解決問題按鈕。

  2. 選取 [效能問題]。

    效能問題選項。

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

    診斷結果。

如果在封包遺失或延遲期間發生維護,可能會造成連線問題。 請遵循建議的步驟,並考慮升級 虛擬網路網關 SKU 以支援更高的輸送量,並避免未來的問題。

下一步

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