为使用虚拟机创建的虚拟机和克隆分配不同的 IP

为使用虚拟机创建的虚拟机和克隆分配不同的 IP

我正在使用 Windows 7。我安装了虚拟机并创建了一个 ubuntu 16.04 vm。它的 IP 是 192.168.0.10

但我的所有克隆也都有相同的 IP。我尝试了不同的方法来更改 IP,但似乎都不起作用

我的文件内容/etc/network/interfaces如下

auto lo
iface lo inet loopback

I added the following
auto eth0
iface eth0 inet static
address 192.168.0.5
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1

使用重启网络后sudo service network-manager restart,没有任何变化,我的 IP 显示为 192.168.0.10

ip addr show-显示以下内容

$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group    default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8c:7a:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.225.194/24 brd 192.168.225.255 scope global dynamic enp0s3
   valid_lft 42984sec preferred_lft 42984sec
inet6 fe80::aad4:1c86:ded3:1636/64 scope link 
   valid_lft forever preferred_lft forever

答案1

首先,你必须决定网络拓扑。你至少有以下选择

  • NAT:您的每台虚拟机都连接到单独的网卡(至少虚拟机认为是这样),并借助网络地址转换 (NAT) 使用主机的外部 IP 地址进入真实网络。虚拟机之间无法互相看到。

  • 桥接适配器:您的物理主机适配器会为每个虚拟机获取一个额外的以太网 (MAC) 地址,并同时充当两个(或更多)独立适配器。这样,每个虚拟机都与主机并行连接到网络,并从主 DHCP 服务器获取 IP 地址。这样,机器会获得不同的 IP 地址(当然 MAC 地址必须不同)并且可以互相看到。

  • NAT 网络:最近在 VirtualBox 中引入了此功能(我认为是版本 5),但在我的例子中没有起作用。它应该是一种内部网络,虚拟机可以相互通信,但无法从实际网络访问。

  • 内部网络:虚拟机可以互相看到但看不到主机,也看不到真实网络。

  • 仅主机适配器:虚拟机可以互相看到对方(可能还可以看到主机),但看不到真实网络。主机应该能够与虚拟机进行通信。

接下来,确保虚拟机中的网卡具有不同的 MAC 地址。选择“桥接适配器”或“仅主机适配器”,并确保您的 DHCP 服务器同意为网络中的更多参与者提供服务。这对我来说确实有效。

不要忘记设置“电缆连接”选项。

对于“仅主机适配器”和“NAT 网络”,您应该首先在文件 -> 首选项 -> 网络下创建这些网络。

答案2

我最近遇到了这个问题,安全创建 VM 网络的方法是创建 NAT 网络并将其分配给 VM。使用 Mac OS X 和 VirtualBox(版本 5.2.24 r128163(Qt5.6.3)),可以NAT Network通过以下方式创建:

  1. 按下⌘,打开首选项对话框
  2. 选择Network图标
  3. 选择“添加新的 NAT 网络”图标

然后对于每个虚拟机:

  1. 选择虚拟机
  2. 按下⌘s打开其设置对话框
  3. 选择Network图标
  4. Attached To:下拉菜单中选择NAT Network

您刚刚创建的那个应该会自动被选中。当您重新启动每个虚拟机时,它们应该都处于一个网络中,它们可以相互通信并与外部网络通信,但反之则不然。这桌子表达得非常好。

相关内容