这种情况会不会导致MAC地址冲突呢?
之前我已经多次使用 Windows 8.1 和 Server 2012 R2 设置虚拟机环境,但现在我手动设置(即使用 Powershell),因为它是 Hyper-V Server 2012R2(免费替代方案)。通常,当从 Hyper-V Manager GUI 创建虚拟交换机时,它会获取这些 Microsoft 拥有的 MAC 地址之一(00-15-5D-XX-XX-XX)。
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
Ethernet 2 Intel(R) 82579LM Gigabit Network Con... 13 Up F8-B1-56-D0-5C-D3 1 Gbps
vEthernet (SwitchZew_I... Hyper-V Virtual Ethernet Adapter #2 17 Up 00-15-5D-00-E7-00 10 Gbps
现在,在这个新的 Hyper-V 主机上,我使用了 PS cmdlet新-VMSwitch,它没有任何选项来设置其 MAC 地址,并且交换机是使用与物理 NIC 完全相同的 MAC 创建的。因此,当我输入 get-netadapter 时,我得到:
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
Ethernet 2 Intel(R) 82579LM Gigabit Network Con... 13 Up D4-C9-EF-F2-5F-79 1 Gbps
vEthernet (SwitchZew) Hyper-V Virtual Ethernet Adapter #2 18 Up D4-C9-EF-F2-5F-79 10 Gbps
同一网络上有两个 MAC,这让我很担心。这会是个问题吗?
答案1
如果这些 MAC 地址位于网络的不同段上,则可能会导致 arp 欺骗类型的情况,其中交换机必须决定将特定数据包发送到哪条路径。
但是,由于它们最终连接到同一个接口,网卡将接收数据包,然后将其向上传递给 Hyper-v 交换机。(特别是因为此时接口将处于混杂模式)
除非您看到与此相关的特定问题,否则这不是我会关心的问题,并且可以想象它实际上是按照设计这样做的。