具有多个虚拟机的仅主机网络

具有多个虚拟机的仅主机网络

我想要做的是创建一个具有多个虚拟机的仅主机网络,以便允许主机操作系统和虚拟机之间直接访问,但也允许虚拟机有限地访问互联网以进行软件更新、NTP 等。

FWIW,我使用内部网络(“intnet”)执行此操作。我已成功设置了几个服务器设备虚拟机(TurnKey Linux)、一个桌面操作系统虚拟机(Debian)和一个双宿主网关/防火墙虚拟机(Smoothwall Express)(一个 NIC 在内部网络上,另一个通过 NAT 连接到外部世界)。我将网关机器设置为 DHCP 服务器,其他虚拟机从它获取连接信息,服务器设备虚拟机可以连接以获取更新,我可以从桌面操作系统虚拟机浏览到服务器设备上的 Webmin 控制面板。一切都按预期工作。

当我尝试在仅主机网络上执行相同操作以便能够直接从主机操作系统(Ubuntu 11.10 桌面)连接到客户虚拟机时……各种怪异的事情接踵而至。基本上……似乎仅主机内置的 DHCP 服务器会覆盖任何使用其他 DHCP 服务器(例如网关/防火墙虚拟机上的服务器)的尝试,即使我将其关闭离开在 VirtualBox 中 - 即使我关闭内置 DHCP 服务器,关闭程序,重新启动它,然后重新启动客户虚拟机 - 它们仍然从内置 DHCP 服务器获取其 IP 信息(它不会改变,尽管“新”DHCP 服务器使用不同的地址块),或者根本无法连接(无法获取 DHCP 租约)。

我开始怀疑我是否正在尝试做一些 Virtualbox 主机网络无法做到的事情...有人可以复制这个问题或指出我做错了什么吗?

答案1

我认为你走的路是对的,你为私有网段选择哪个网络并不重要——无论是主机专用网络还是单独的内部网络。当然,内部网络将保证与主机分离,正如你所描述的那样。

需要注意的一件事是 - 在配置 Smoothwall 时(假设是简单的 RED/GREEN 设置),您是否为 GREEN 接口指定了与分配给主机的 IP 地址不同的 IP 地址?主机可能分配了 192.168.56.1,但可能会有所不同。

另外,我可以理解想要使用 Smoothwall DHCP 服务器作为私人客户端,但如果这给您带来麻烦,您能否只使用内置 VirtualBox DHCP 服务器作为仅主机网络?如果您打算在该接口上使用不同的 DHCP 服务器,我想您会想要禁用此功能(听起来您可能已经禁用了,但不清楚)。

关于 DHCP 失控的问题,您在主机上没有任何奇怪的桥接适配器或其他配置,对吗?

作为参考,您可以通过在主机上发出以下命令来查看已注册和活动的服务器:

VBoxManage list dhcpservers

以下是该命令的输出:

NetworkName:    HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter
IP:             192.168.56.100
NetworkMask:    255.255.255.0
lowerIPAddress: 192.168.56.101
upperIPAddress: 192.168.56.254
Enabled:        No

然后,您可以使用以下命令启用或禁用该网络上的 DHCP 服务器:

VBoxManage dhcpserver modify --netname "HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter" --enable
VBoxManage dhcpserver modify --netname "HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter" --disable

答案2

本教程展示了将仅主机网络连接到 Internet 的一种方法:http://www.tbogard.com/2011/04/21/virtualbox-give-internet-to-a-host-only-virtual-machine-with-iptables/

相关内容