虚拟盒中的网络

虚拟盒中的网络

我在 Ubuntu 主机上的 Virtual Box 上运行一个客户机,在另一台主机上的 Ubuntu 上的 Virtual Box 上运行另一个客户机。我想在客户机和客户机之间进行通信。如何在 Virtual Box 中做到这一点?

答案1

  1. 如果您想在虚拟机之间体验独立网络,最佳解决方案是 VDE 或 UDP 隧道。在这种情况下,VBox 将把虚拟机数据包封装到 UDP 中并通过物理网络发送,然后解封装并注入虚拟机。虚拟机将看到完全独立的网络,主机将看到带有虚拟机流量的 UDP 流(未加密,因此您将能够分析那里发生了什么)。

这在手册中被描述为“通用网络”https://www.virtualbox.org/manual/ch06.html#networkingmodes

并且有关于如何设置它的确切命令: https://www.virtualbox.org/manual/ch06.html#network_udp_tunnel

  1. 或者,您可以使用 802.1q VLAN。VirtualBox 网络过滤器可以与 Linux 网络功能(如 vlan 子接口、lacp 绑定等)正确配合使用(我已经对此进行了全面测试)。您可以在每台主机上创建 vlan 子接口(使用 ubuntu 或 debian 手册了解如何执行此操作),并将虚拟机与该子接口桥接。确保您的交换机转发标记的数据包。此选项可能更难设置,但它有一些优点。例如,您的 Ubuntu 主机将不会在其“默认”基本接口上看到任何虚拟机流量,而 Windows 主机根本看不到 802.1q 标记的数据包,因此只有干扰是由于共享带宽造成的。

  2. 如果您不需要完全独立的网络,只需将您的虚拟机与物理 LAN 桥接并在那里设置不同的 IP 网络即可。很简单,但对于许多情况来说这就足够了。

相关内容