VMWare Workstation:VMnets 的实际功能是什么:集线器还是交换机?

VMWare Workstation:VMnets 的实际功能是什么:集线器还是交换机?

我正在做一些实验。我正在使用带有 4 个 Windows 10 Pro 20H2 虚拟机的 VMWare Workstation 16。这些机器位于同一个 VMnet(n.1)和同一个子网(192.168.36.0/24)上,我在它们上安装了 Wireshark:

  • 客户端1 192.168.36.1 mac:00-0C-29-A5-05-DD
  • 客户端2 192.168.36.2 mac:00-0C-29-D6-79-4F
  • 客户端3 192.168.36.3 mac:00-0C-29-90-11-85
  • 客户端4 192.168.36.4 mac:00-0C-29-13-54-B1

我认为 VMnet 充当虚拟交换机,因此计算机只能看到(并捕获)指向它的广播/多播流量和单播流量。但我注意到一种意外行为;似乎 VMnet 的工作方式就像集线器一样,或者每个端口都是镜像端口,因为我能够从一台计算机(即客户端 3)捕获两台其他计算机(即客户端 1 和客户端 2)之间的单播流量。我认为这种行为仅适​​用于 VMnet n.1,我尝试了其他 VMnet,但总是得到相同的结果:我可以从另一台主机看到两台主机之间的单播流量。

下图显示了在客户端 3 上执行的 Wireshark 会话,如您所见,该程序捕获了客户端 1 和客户端 2 之间的大量单播流量: 在此处输入图片描述

我的问题:

  • VMnet 是否可以用作交换机,但具有某种端口镜像?如果是,我该如何禁用它?
  • 我对 VMnet 的性质做出了错误的假设,它们真的可以作为“虚拟集线器”使用吗?如果是这样,我可以将它们配置为交换机吗?

答案1

您对 VMware 以太网适配器的复杂程度做出了错误的假设。

VMware 简单网络上的每次传输都会发送给每个侦听器。侦听器的工作是只读取发送给它自己的消息。

由于所有虚拟机都位于该192.168.36.x段上,因此它们都会接收所有消息。

将一些放在不同的工作组中这一事实仅对 Windows 有意义,而对于 Wireshark 等网络嗅探器则无意义。

相关内容