如何使 2 个 VirtualBox 虚拟机能够通过内部网络互相看到,但也能访问互联网

如何使 2 个 VirtualBox 虚拟机能够通过内部网络互相看到,但也能访问互联网

我有 2 个虚拟机(AB)在本地(主机上H)使用 VirtualBox 运行,我希望能够:

  1. A通过B内部 IP进行ping
  2. B通过A内部 IP进行ping
  3. 从 ping 8.8.8.8A
  4. 从 ping 8.8.8.8B
  5. 访问A:22H
  6. 访问B:22H

A我目前正在使用和上的 NAT 网络设置B,因此除了第 1 和第 2 项之外,我能够满足上述所有要求。

我尝试将其更改为内部网络,但仅满足 1 和 2。

我也使用了桥接网络,它解决了所有这些问题,但问题是,A现在B使用 192.168.0.X 类型的地址在本地 LAN 中“暴露”,这不满足 1 和 2 的“内部 IP”要求。

为了实现这一点,我应该在这两台虚拟机上进行什么网络配置?

答案1

我通过在每个虚拟机上添加 2 个适配器解决了这个问题。一个用于NAT,一个用于Host-only Adapter Network

在I 配置了从到等的NAT端口转发。当虚拟机启动时,我必须配置它们的内部静态 IP。这些虚拟机是 ubuntu,所以我必须编辑并添加:220122/etc/network/interfaces

auto eth1
iface eth1 inet static
address 10.0.0.101
netmask 255.255.255.0

在另一台虚拟机上:

auto eth1
iface eth1 inet static
address 10.0.0.102
netmask 255.255.255.0

shutdown -r now或 之后ifup eth1,两个虚拟机可以通过其内部 IP10.0.0.101和相互 ping 通10.0.0.102

答案2

  1. 在 Virtual Box 中添加(创建)NAT 网络
  2. 将两台虚拟机分别连接到该 NAT 网络
  3. 确保每个虚拟机都有唯一的 MAC 地址
  4. 如果您有静态分配的 IP 地址,请确保每个虚拟机在 10.0.2.0/24 IP 范围内都有不同的 IP 地址
  5. 如果您想通过主机名从 VM A ping VM B,请将 VM B 的主机名和匹配的 IP 添加到 VM a 上的 hosts 文件中(反之亦然)

答案3

将网络适配器更改为NAT(每个虚拟机一个网卡就足够了)。这样它们将只暴露给主机,而不是主机正在运行的网络,并且您将能够为您提到的所有 6 点添加复选标记。

如果稍后您必须从主机所连接的网络授予这些虚拟机的访问权限,则可以使用转发规则来执行此操作。

相关内容