![如何让虚拟机上的 DHCP 服务器为其他虚拟机(在不同的物理机上)提供服务?](https://linux22.com/image/595665/%E5%A6%82%E4%BD%95%E8%AE%A9%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8A%E7%9A%84%20DHCP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%BA%E5%85%B6%E4%BB%96%E8%99%9A%E6%8B%9F%E6%9C%BA%EF%BC%88%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E7%89%A9%E7%90%86%E6%9C%BA%E4%B8%8A%EF%BC%89%E6%8F%90%E4%BE%9B%E6%9C%8D%E5%8A%A1%EF%BC%9F.png)
我正在使用 VirtualBox 和 Opensuse 构建虚拟集群。我有 10 台物理机,每台都需要几个虚拟机。虚拟机应该位于“私有”网络中,但仍可以访问互联网。我被要求设置一个用作 DHCP 服务器的虚拟头节点。我在虚拟头节点上安装了 DHCP 服务器,它似乎可以正常工作。在 VirtualBox 上,我为头节点设置了 2 个网络适配器,一个桥接适配器和一个内部网络。同一台物理机上的一台虚拟机已将网卡设置为内部网络适配器。虚拟机可以获取 IP 地址(因此 DHCP 可以工作),但无法访问互联网。我该怎么办?具体来说,我应该为 VirtualBox 中的头节点和工作节点选择什么网络适配器?我应该在虚拟机中做什么?
答案1
按照您描述的方式实施您所提议的设置将会非常痛苦。
如果您的物理机器有 2 个物理以太网端口,您就可以省去很多麻烦。如果有,请将每台机器上的第二个端口连接到物理交换机/路由器,并将该物理端口用于虚拟机。然后将交换机/路由器连接到互联网。
答案2
最后我终于搞清楚了如何做到这一点,感谢@Keltari,您的回答非常有帮助。以下是我如何做到的:1. 为头节点和工作节点虚拟机设置 2 个网络适配器。承载头虚拟机的物理节点有 2 个物理网卡,我将其中一个连接到路由器 (eth1),另一个连接到互联网(墙上,eth0)。2. 对于头虚拟机:在头虚拟机上设置一个 DHCP 服务器,虚拟网卡 eth1 已设置为“内部网络”,将虚拟网卡 eth0 设置为桥接到物理 eth0(直接互联网)。2. 将工作虚拟机的 2 个虚拟网卡之一设置为“桥接”,链接到物理 eth1(路由器);另一个虚拟网卡为“内部网络”。3. 然后,所有工作虚拟机都可以从头虚拟机获取 IP,以便它们可以通过内部网络通过 ssh 相互通信。工作虚拟机也可以通过 eth1(通过路由器)连接到互联网。