我有两台安装了 Hyper-V 的 Windows Server 2016。每台服务器都有两个以太网适配器。每台 Hyper-V 都有多台虚拟机。我的目标是,如果虚拟机属于同一个 VLAN,它们就可以相互通信。
为了实现网络连接冗余,我在物理机上创建了网络组合。组合使用“Switch Independent”和“Address Hash”选项。在虚拟交换机管理器上,我通过选择组合适配器(Microsoft Network Adapter Multiplexor Driver)创建了一个外部适配器。
在每个虚拟机下,我创建一个带有 VLAN 标记的虚拟适配器。
但同一个VLAN内的虚拟机不能互相通信。
在交换机端,我已经为所有与物理机连接的端口配置了Trunk模式。
如果我删除绑定,虚拟机可以使用 VLAN 标签进行通信。如何解决这个问题?
答案1
从您的描述来看,问题并不完全清楚。我尤其不确定“移除团队”部分。如果虚拟机在虚拟交换机为内部或私有时可以相互通信,则问题不在于 Hyper-V。
如果在将虚拟交换机连接到一个未组队的适配器时它们可以相互通信,则改用另一个适配器进行测试。如果一个适配器可以工作但另一个不工作,则可能是物理适配器或交换机问题。如果其中一个可以工作,但不能同时组队,则可能是物理交换机问题。
检查以下几点,即使您已经检查过它们。此类问题通常归因于一些非常小且容易被忽视的事情:
物理交换机
- 端口处于中继模式
- 端口不在端口通道或 LAG 中
- 所需 VLAN 被明确允许和/或标记为“标记”
- 端口不使用编号的默认 VLAN、PVID,或将任何编号的 VLAN 设置为“未标记”
物理网卡
- NIC 未应用任何 VLAN 设置,请检查固件和驱动程序
物理网卡团队
- 您正在使用一个团队接口,但未为其分配编号 VLAN
虚拟适配器(Hyper-V 端)
- 虚拟适配器已分配给正确的 VLAN
- 虚拟适配器已连接到正确的虚拟交换机
虚拟适配器(客户机内部)
- 适配器具有适当的 TCP/IP 设置
- 防火墙未阻止预期流量
故障排除
如果您已完成上述所有操作但仍然没有效果,那么您的身体某处可能存在问题。
- 断开一个物理适配器的电线并测试
- 重新连接初始线路并等待稳定的连接(可在 LBFOAdmin.exe 或 中查看
Get-NetLbfoTeamMember
)。 - 断开第二根电线并测试