桥接网络如何在 Virtualbox 中工作?

agz*_*agz 36 networking virtualbox ip bridged

桥接网络如何工作?

我已经浏览了 VirtualBox 手册,但没有出现任何非常技术性的内容(这只是对该主题的一般性掩饰)。

  • 它如何为虚拟机分配不同的IP但使用相同的网卡?
  • 为什么这个不同的 IP(我发现ip addr在 linux 下使用)没有显示在我的路由器的“附加设备部分”下,但我可以转发到它?
  • 为什么我连接到受密码保护的 WiFi 网络,它不需要我输入密码?
  • 这是多宿主吗?

har*_*ymc 15

从 VirtualBox 手册第 6 章虚拟网络,桥接网络部分:

通过桥接网络,VirtualBox 使用主机系统上的设备驱动程序来过滤来自物理网络适配器的数据。因此,此驱动程序称为“网络过滤器”驱动程序。这允许 VirtualBox 拦截来自物理网络的数据并将数据注入其中,从而有效地在软件中创建新的网络接口。当来宾使用这样一个新的软件接口时,它在主机系统看来就好像来宾使用网络电缆物理连接到接口:主机可以通过该接口向来宾发送数据并从中接收数据。这意味着您可以在访客和网络的其余部分之间设置路由或桥接。

来自维基百科桥接(网络)

网桥是一种连接多个网段的网络设备。在 OSI 模型中,桥接作用于网络层以下的前两层。

我没有在这些网络级别工作的个人知识,但从上面看来,VirtualBox 和其他虚拟管理器使用系统驱动程序将包注入网络并假装是物理适配器。

由于所有包都被发送到所有网络,每个设备只读取标有其地址的包(除非嗅探),虚拟驱动程序只注入具有自己的虚拟MAC 地址的包并响应发往该 MAC 地址的包,即使物理上不存在这样的适配器。

这是在网络模型的足够低级别完成的,因此主机不会在更高级别对这些消息做出反应,因为它们使用与主机不同的 MAC 地址标记。

这与黑客 使用IP 地址欺骗进行欺骗攻击所使用的技术完全相同。

虚拟 MAC 地址由虚拟机管理器发明,或者可以随时指定或更改。它可以是任何不与本地网络上其他设备重复的合法 MAC 地址。

IP 地址由 DHCP 服务器(通常是路由器)分配给该虚拟适配器,就像分配给任何其他物理设备一样。

不输入密码就可以连接到受密码保护的WiFi网络的原因比较令人费解,但我推测VirtualBox驱动程序找到并使用了登录网络时返回给主机的令牌。这也将解释为什么它没有显示在路由器的“连接的设备部分”下,因为它从未正式将自己连接到网络。转发仍然有效,因为路由器只是将包重新发送到转发地址并且 VirtualBox 驱动程序响应。

最后,这不是多宿主,这是一台运行一个操作系统的计算机,该操作系统通过多个适配器具有多个 IP 地址,所有这些 IP 地址都为该操作系统所知。

有关更多信息,请参阅有关OSI 模型的 Wikipedia 文章,尤其是有关 OSI 层的文章。