Azure 中的網路虛擬設備問題

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

在 Microsoft Azure 中使用第三方網路虛擬設備 (NVA) 時,您可能會遇到 VM 或 VPN 連線問題和錯誤。 本文提供可協助您驗證 NVA 組態的基本 Azure 平台需求的基本步驟。

第三方 NVA 及其與 Azure 平台的整合所需的技術支援,由 NVA 廠商所提供。

注意

如果您有牽涉到 NVA 的連線或路由問題,您應直接連絡 NVA 廠商

若本文中未提及您的 Azure 問題,請前往 Microsoft Q&A 及 Stack Overflow 上的 Azure 論壇。 您可以在這些論壇中張貼您的問題,或將問題貼到 Twitter 上的 @AzureSupport。 您也可以提交 Azure 支援要求。 若要提交支援要求,請在 Azure 支援頁面上,選取 [取得支援]。

NVA 廠商的疑難排解檢查清單

  • NVA VM 軟體的軟體更新
  • 服務帳戶設定和功能
  • 虛擬網路子網路上將流量導向至 NVA 的使用者定義路由 (UDR)
  • 虛擬網路子網路上從 NVA 導向流量的 UDR
  • NVA 內的路由資料表和規則 (例如,從 NIC2 到 NIC1)
  • 追蹤 NVA NIC 以確認是否接收和傳送網路流量
  • 使用標準 SKU 和公用 IP 時,必須建立 NSG 且具有明確規則,以允許將流量路由至 NVA。

基本疑難排解步驟

  • 檢查基本組態
  • 檢查 NVA 效能
  • 進階網路疑難排解

檢查 Azure 上的 NVA 最基本的組態需求

每個 NVA 都有在 Azure 上正常運作所需的基本組態需求。 下節將提供用來確認這些基本組態的步驟。 如需詳細資訊,請連絡 NVA 廠商

檢查 NVA 上是否已啟用 IP 轉送

使用 Azure 入口網站

  1. Azure 入口網站中找出 NVA 資源,選取 [網路功能],然後選取 [網路介面]。
  2. 在 [網路介面] 頁面上,選取 [IP 組態]。
  3. 確定已啟用 IP 轉送。

使用 PowerShell

  1. 開啟 PowerShell,然後登入您的 Azure 帳戶。

  2. 執行下列命令 (請將括弧中的值取代為您的資訊):

    Get-AzNetworkInterface -ResourceGroupName <ResourceGroupName> -Name <NicName>
    
  3. 檢查 EnableIPForwarding 屬性。

  4. 如果未啟用 IP 轉送,請執行下列命令加以啟用:

    $nic2 = Get-AzNetworkInterface -ResourceGroupName <ResourceGroupName> -Name <NicName>
    $nic2.EnableIPForwarding = 1
    Set-AzNetworkInterface -NetworkInterface $nic2
    Execute: $nic2 #and check for an expected output:
    EnableIPForwarding   : True
    NetworkSecurityGroup : null
    

使用標準 SKU 公用 IP 時檢查 NSG 使用標準 SKU 和公用 IP 時,必須建立 NSG 並且有明確規則,才允許將流量路由傳送至 NVA。

檢查流量是否可路由至 NVA

  1. Azure 入口網站上開啟 [網路監看員],然後選取 [下一個躍點]
  2. 指定設定為要將流量重新導向 NVA 的 VM,以及用來檢視下一個躍點的目的地 IP 位址。
  3. 如果 NVA 未列為下一個躍點,請檢查和更新 Azure 路由表。

檢查流量是否可到達 NVA

  1. Azure 入口網站中開啟 [網路監看員],然後選取 [IP 流量驗證]
  2. 指定 VM 和 NVA 的 IP 位址,然後檢查是否有任何網路安全性群組 (NSG) 會封鎖流量。
  3. 如果有 NSG 規則會封鎖流量,請在有效的安全性規則中找出 NSG,然後將其更新為允許流量通過。 接著,再次執行 [IP 流量驗證],並使用 [連線疑難排解] 測試從 VM 到您內部或外部 IP 位址的 TCP 通訊。

檢查 NVA 和 VM 是否接聽預期的流量

  1. 使用 RDP 或 SSH 連線至 NVA,並執行下列命令:

    若為 Windows:

    netstat -an
    

    若為 Linux:

    netstat -an | grep -i listen
    
  2. 如果您未看見結果中列出的 NVA 軟體所使用的 TCP 連接埠,則必須在 NVA 和 VM 上設定應用程式,以接聽並回應到達這些連接埠的流量。 視需要連絡 NVA 廠商以尋求協助

檢查 NVA 效能

驗證 VM CPU

如果 CPU 使用率接近 100%,則可能會發生影響到網路封包捨棄的問題。 您的 VM 會在 Azure 入口網站中報告特定時間範圍內的平均 CPU。 如果 CPU 用量暴增,請調查是客體 VM 上的哪一個處理序造成高 CPU 用量,且如果可能的話,請使其降低。 您可能需要將 VM 的大小調整為較大的 SKU,或針對虛擬機器擴展集增加執行個體計數,或設定為自動調整 CPU 使用量。 發生前述任一問題時,請視需要連絡 NVA 廠商以取得協助

驗證 VM 網路統計資料

如果 VM 網路用量暴增或出現使用量偏高的期間,您可能也需要增加 VM 的 SKU 大小,以取得更高的輸送能力。 您也可以啟用加速網路,藉以重新部署 VM。 若要確認 NVA 是否支援加速網路功能,請視需要連絡 NVA 廠商以取得協助

進階網路管理員疑難排解

擷取網路追蹤

在您執行 PsPingNmap 時,在來源 VM、NVA 和目的地 VM 上擷取同時網路追踨,然後停止追蹤。

  1. 若要擷取同時網路追蹤,請執行下列命令:

    若為 Windows

    netsh trace start capture=yes tracefile=c:\server_IP.etl scenario=netconnection

    若為 Linux

    sudo tcpdump -s0 -i eth0 -X -w vmtrace.cap

  2. 使用從來源 VM 到目的地 VM 的 PsPingNmap (例如:PsPing 10.0.0.4:80Nmap -p 80 10.0.0.4)。

  3. 使用網路監視器或 tcpdump,開啟從目的地 VM 的網路追蹤。 對您執行 PsPingNmap 的來源 VM 套用 IP 的顯示篩選器,例如 IPv4.address==10.0.0.4 (Windows netmon)tcpdump -nn -r vmtrace.cap src or dst host 10.0.0.4 (Linux)。

分析追蹤

如果您未看到傳入後端 VM 追蹤的封包,則有可能是受到 NSG 或 UDR 干擾,或 NVA 路由表不正確。

若您看到了傳入封包但沒有回應,則您可能需要解決 VM 應用程式或防火牆的問題。 發生前述任一問題時,請視需要連絡 NVA 廠商以取得協助