Windows

VM 內的 Hyper-V 適配器上沒有傳入流量

  • November 24, 2021

我的 Hyper-V 設置有一個非常煩人的問題,它讓我很煩惱,因為我不知道為什麼。

我的 Hyper-V 主機是 Windows Server 2019,具有三個網路適配器。適配器 1 和 2 是物理的並且具有靜態配置。

適配器 3 已配置為 Hyper-V 可擴展交換機。(外部)此適配器連接到思科交換機上的中繼埠,其中多個 vlan 已被標記。主機適配器使用 VLAN 777 並且可以正常連接。

我創建了一個新 VM,並在其中安裝了另一個 Windows Server 2019 實例。此 VM 使用相同的 vSwitch,但配置為 VLAN 666。

在VM內部,我查看了適配器的狀態資訊:

  • 自設備啟動以來發送了 X 個數據包
  • 收到 0 個數據包

起初我懷疑是一些奇怪的防火牆阻止了連接。

為了理智,我禁用了所有防火牆規則/設置/配置文件,因為該主機無論如何都在本地網路中。 我為主機和虛擬機做了這個。

沒有任何改變,仍然沒有數據包傳入。

我檢查了它所連接的交換機——它顯示了虛擬機的靜態 MAC 地址,確認它以某種方式註冊了它。但是,它顯然無法接收任何數據包,這使得 DHCP 或任何通信都無法進行。

  • 還有什麼可能阻止此連接?
  • 我可以啟動或查看哪些日誌來解決這個問題?

交換機上沒有任何阻止規則或任何東西。主機確認了這一點,因為虛擬主機適配器工作得很好。

它就在虛擬機內部。

有關 VM 的一些技術說明:

  • 它是使用 ISO 設置的17763.737.190906-2324.rs5_release_svc_refresh_SERVERESSENTIALS_OEM_x64FRE_de-de_1
  • 它設置為第 2 代
  • 網路適配器的虛擬機配置中的附加功能和復選框均未選中。

更新 - 我到目前為止檢查過的內容:

  • 虛擬機和主機上的事件日誌*(但是,我不知道具體要查找什麼!)*
  • 使用適配器鏡像查看 Wireshark 內部的連接(來自 VM 的適配器作為源,新的主機適配器作為目標)-> 並沒有真正導致任何結果,但我確實注意到我看不到 ICMP ping,奇怪的是足夠
  • 主機和虛擬機上的防火牆設置 -> 在兩個系統上,所有配置文件上的防火牆設置都已關閉,以便在沒有進一步可能干擾的情況下對此進行故障排除
  • 為丟棄的數據包啟動防火牆記錄並檢查那些,那裡什麼都沒有。
  • 三重檢查的 Hyper-V 設置,沒有啟動關於網路連接的特殊功能。
  • 將 Switch 上的配置更改為 vlan 的訪問埠而不是 Trunk -> 沒有區別
  • 為適配器使用動態 MAC 地址而不是靜態地址 -> 沒有區別

我想通了,答案很悲傷。

在用於 vSwitch 的物理 NIC 上,在硬體驅動程序上配置了一個 VLAN。這並沒有在創建 vSwitch 時被刪除,並且它以某種方式設法阻止所有進出流量,因為當硬體本身更改 VLAN ID 時,沒有人真正可以通信。

我是怎麼知道的?我將 NIC 插入到交換機附近,並註意到它也沒有在主機上獲得流量。在多次嘗試 ping 主機 NIC 之後,我得出的結論是,故障一定出在該機器的網卡上。我換了網卡,它工作。

再次檢查適配器硬體設置後,我注意到由英特爾 ProSet 適配器配置實用程序硬編碼的 VLAN ID。

所以是的……清除了,現在一切正常。

給自己上了一堂愚蠢的課。

引用自:https://serverfault.com/questions/1083259