當虛擬交換器連接埠處於中繼模式時,Hyper-V 來賓失去網路存取權限

當虛擬交換器連接埠處於中繼模式時,Hyper-V 來賓失去網路存取權限

我在執行 Hyper-V 的 Windows Server 2012 R2 電腦上有來賓 VM。目前,來賓正在使用本機 vlan(vlan ID 1)。我可以從主機和網路與訪客進行通訊。但是,來賓是 Zebra/Motorola VX9000 wlan 控制器,還需要處理 vlan ID 10 和 15 上的流量。我還透過powershell 發出以下命令:

Set-VMNetworkAdapterVlan -VMName MyGuest -Trunk -AllowedVlanIdList "10,15" -NativeVlanId 1

不幸的是,執行此命令後,我失去了與客人溝通的能力。如果我為來賓開啟 Hyper-V 控制台,它沒有任何網路存取權限。嘗試從主機或網路上的其他位置對來賓執行 ping 操作會產生一則Destination host unreachable訊息。

我可以通過將適配器返回到未標記模式來“修復”它:

Set-VMNetworkAdapterVlan -VMName MyGuest -Untagged

現在我又可以和客人溝通了,但這並不能真正解決任何問題。我仍然需要該來賓能夠處理 VLAN 10 和 15 上的流量。

我不明白為什麼會發生這種情況。在切換到中繼模式之前,未標記的資料包的 vlan ID 為 1。現在不應該還是這樣嗎?我怎麼能讓這個來賓在我需要的所有 VLAN 上進行通訊?

我從 ping 時看到的錯誤訊息中得到的最佳結果與沒有路由時看到的類似。將連接埠設定為中繼(可能在主機上)後,是否需要發出單獨的命令來為這些網路建立路由?

答案1

我只有幾個虛擬機器以這種方式設置,而且它們也沒有在本機 VLAN 上進行通訊。為了解決這個問題,我們所做的是將本機 VLAN 設定為網路上未使用的 VLAN,將您想要使用的 VLAN 放入允許的 VLAN,然後切換虛擬機器內的所有 NIC 以標記其流量。

答案2

我找到解決方法了!

alejanp 的帖子這個連結讓我嘗試使用 vlan 0,以下命令似乎有效:

Set-VMNetworkAdapterVlan -VMName MyGuest -Trunk -AllowedVlanList "1,10,15" -NativeVlanId 0

簡而言之,我將本機 vlan 設為 0,並將我真正的本機 vlan 包含在允許清單中。

當然,只有當來賓所需的未標記 VLAN 與主機/交換器連接埠的未標記 VLAN 相符時,這才有效。值得慶幸的是,今天的情況就是這樣。

相關內容