驗證 ExpressRoute 連線
本文將協助您確認 Azure ExpressRoute 連線及針對連線問題進行疑難排解。 ExpressRoute 會透過連線提供者促進的私人連線,將內部部署網路延伸至 Microsoft Cloud。 ExpressRoute 連線涉及三個不同的網路區域:
- 客戶網路
- 提供者網路
- Microsoft 資料中心
注意
在 ExpressRoute 直接連線模型中,您可以直接連線至 Microsoft Enterprise Edge (MSEE) 路由器的連接埠。 此模型只包含您的網路和Microsoft網路區域。
本文可協助您識別連線問題,並尋求適當小組的支援以解決問題。
重要
本文旨在協助您診斷並修正簡單的問題。 這不是Microsoft支援的取代專案。 如果您無法使用本指南解決問題,請使用 Microsoft 支援服務 開啟支援票證。
概觀
下圖顯示透過 ExpressRoute 從客戶網路連至 Microsoft 網路的邏輯連線。
在圖表中,數位表示關鍵網路點:
- 客戶計算裝置 (例如,伺服器或電腦)。
- 客戶邊緣路由器 (CE)。
- 面向客戶邊緣路由器的提供者邊緣路由器/交換器(PES)。
- 面向 Microsoft Enterprise Edge ExpressRoute 路由器 (MSE) 的 PES,稱為 PE-MSE。
- MSEE。
- 虛擬網路閘道。
- 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 線路的頁面。 在頁面的 區段中會列出 ExpressRoute 的基本資料,如以下螢幕擷取畫面所示:
在 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 線路的狀態。 區 段會列出 ExpressRoute 對等互連,如下列螢幕快照所示:
在上一個範例中,會布建 Azure 私人對等互連,但 Azure 公用和Microsoft對等互連則不是。 成功布建的對等互連內容也會列出主要和次要點對點子網。 /30 子網用於 MSE 和 CEs/PE-MSE 的介面 IP 位址。 清單也會指出上次修改組態的人員。
注意
如果對等互連啟用失敗,請檢查指派的主要和次要子網路是否符合連結 CE/PE-MSEE 上的設定。 此外,請確認 VlanId
MSE 上的、 AzureASN
和 PeerASN
值符合連結 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 上的設定。 此外,請確認 VlanId
MSE 上的、 AzureASN
和 PeerASN
值符合連結 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 上的、 AzureASN
和 PeerASN
值正確無誤,並符合連結 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 來計算達到特定規則的封包,確認連線能力。
執行測試
在 Azure 入口網站 中,選取 [診斷並解決ExpressRoute線路的問題]。
選取 [連線能力與效能問題]。
在 [ 告訴我們您遇到 的問題] 下拉式清單中,選取 [ 私人對等互連問題]。
展開 [ 測試私人對等互連連線] 區段。
將 PsPing 測試從內部部署 IP 執行至 Azure IP,並在測試期間繼續執行。
使用步驟 5 中使用的相同 IP 位址填寫表單域,然後選取 [ 提交 ] 並等候結果。
解譯結果
檢閱主要和次要 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管理此基礎結構,而且可能會執行維護,以減少效能。
若要針對連線問題進行疑難解答,並檢查最近的維護:
在 Azure 入口網站 中,選取 [診斷並解決ExpressRoute線路的問題]。
選取 [效能問題]。
等候診斷執行並解譯結果。
如果在封包遺失或延遲期間發生維護,可能會造成連線問題。 請遵循建議的步驟,並考慮升級 虛擬網路網關 SKU 以支援更高的輸送量,並避免未來的問題。
下一步
如需詳細資訊或協助,請看看下列連結: