為 Azure VM 之間的連線問題疑難排解
您可能會遇到 Azure 虛擬機器 (VM) 之間的連線問題。 本文提供可協助您解決此問題的疑難排解步驟。
若本文中未提及您的 Azure 問題,請前往 Microsoft Q & A 及 Stack Overflow 上的 Azure 論壇。 您可以在這些論壇中張貼您的問題,或將問題貼到 Twitter 上的 @AzureSupport。 您也可以提交 Azure 支援要求。 若要提交支援要求,請在 Azure 支援頁面上,選取 [取得支援]。
徵兆
一個 Azure VM 無法連線到另一個 Azure VM。
疑難排解指引
- 檢查 NIC 是否設定不正確
- 檢查 NSG 或 UDR 是否封鎖網路流量
- 檢查 VM 防火牆是否封鎖網路流量
- 檢查 VM 應用程式或服務是否正在接聽連接埠
- 檢查問題是否因 SNAT 而造成
- 檢查傳統 VM 的 ACL 是否封鎖流量
- 檢查是否已為傳統 VM 建立端點
- 嘗試連線至 VM 網路共用
- 檢查內部 VNet 連線
注意
您也可以在 PowerShell 中使用 Test-NetConnection 模組來診斷連線的資訊。
疑難排解步驟
請遵循下列步驟來疑難排解問題。 完成每個步驟之後,請檢查是否已解決問題。
步驟 1:檢查 NIC 是否設定不正確
請遵循如何重設 Azure Windows VM 的網路介面中的步驟。
如果修改網路介面 (NIC) 後發生問題,請遵循下列步驟:
多個 NIC VM
- 新增 NIC。
- 修正不正確的 NIC 的問題,或移除不正確的 NIC。 然後再次新增 NIC。
如需詳細資訊,請參閱在虛擬機器中新增或移除網路介面。
單一 NIC VM
步驟 2:檢查 NSG 或 UDR 是否封鎖網路流量
使用網路監看員 IP 流量驗證和連線疑難排解來判斷是否有「網路安全性群組」(NSG) 或「使用者定義路由」(UDR) 在干擾流量。 您可能需要在兩個 NSG 上新增輸入規則。 規則必須位於子網路層級和虛擬機器的介面層級。
步驟 3:檢查 VM 防火牆是否封鎖網路流量
停用防火牆,然後測試結果。 如果未解決此問題,請確認防火牆設定,然後重新啟用防火牆。
步驟 4:檢查 VM 應用程式或服務是否正在接聽連接埠
您可以使用下列其中一個方法來檢查 VM 應用程式或服務是否正在接聽連接埠。
- 執行下列命令來檢查伺服器是否正在接聽該通訊埠。
Windows VM
netstat –ano
Linux VM
netstat -l
- 在虛擬機器上執行 telnet 命令以測試連接埠上。 如果測試失敗,不會設定應用程式或服務去接聽該連接埠。
步驟 5:檢查問題是否因 SNAT 而造成
在某些情況下,VM 會放置在對 Azure 外部資源有相依性的負載平衡解決方案後方。 在這些情況下,如果您遇到間歇性連線問題,則此問題可能是由 SNAT 連接埠耗盡所造成。 若要解決此問題,請為在負載平衡器後方的每個 VM 建立一個 VIP (若為傳統 VM,則建立 ILPIP),並以 NSG 或 ACL 保護。
步驟 6:檢查傳統 VM 的 ACL 是否封鎖流量
存取控制清單 (ACL) 提供針對虛擬機器端點選擇性允許或拒絕流量的功能。 如需詳細資訊,請參閱在端點上管理 ACL。
步驟 7:檢查是否已為傳統 VM 建立端點
您在 Azure 中使用傳統部署模型建立的所有虛擬機器,都可以自動透過私人網路通道與同一雲端服務或虛擬網路中的其他虛擬機器通訊。 不過,其他虛擬網路上的電腦需要端點,才能將傳入網路流量導向至虛擬機器。 如需詳細資訊,請參閱如何設定端點。
步驟 8:嘗試連線至 VM 網路共用
如果您無法連線到 VM 網路共用,此問題可能是由 VM 中無法使用的 NIC 所造成的。 若要刪除無法使用的 NIC,請參閱如何刪除無法使用的 NIC
步驟 9:檢查內部 VNet 連線
使用網路監看員 IP 流量驗證和 NSG 流量記錄來判斷是否有 NSG 或 UDR 在干擾流量。 您也可以在這裡驗證您的內部 VNet 設定。
需要協助嗎? 請連絡支援人員。
如果仍需要協助,請連絡支援人員以快速解決您的問題。