假设我的主机上有物理网络适配器 eth0,而 VirtualBox 虚拟机上有桥接网络。主机和虚拟机在同一个网络中有不同的 IP 地址。
我可以轻松地从本地网络 ping 通此虚拟机。但我不明白这是怎么可能的。ARP 广播请求被发送到所有物理网卡。在装有我的虚拟机的主机上,ARP 请求被复制到虚拟网络适配器(因为它是桥接的)。虚拟机以包含其 MAC 的 ARP 回复进行响应。但虚拟适配器的 MAC 地址与实际物理网络的 MAC 地址不同。
IP 数据包最终如何到达虚拟适配器?
答案1
当您在 Virtualbox 中选择桥接网络时,它将被识别为直接连接到接口。解释如下:
使用桥接网络时,VirtualBox 使用主机系统上的设备驱动程序来过滤来自物理网络适配器的数据。因此,此驱动程序称为“网络过滤器”驱动程序。这允许 VirtualBox 拦截来自物理网络的数据并将数据注入其中,从而有效地在软件中创建新的网络接口。当客户机使用这种新的软件接口时,在主机系统看来,客户机就像使用网线物理连接到接口一样:主机可以通过该接口向客户机发送数据,并从客户机接收数据。
您可以在以下位置找到有关 Virtualbox 桥接网络的更多信息http://www.virtualbox.org/manual/ch06.html#network_bridged