并行运行的两个VirtualBox VM分配了相同的IP


9

我的VirtualBox中有一个VM,并想将其用作模板/映像,因此我对其进行了克隆。然后,我同时启动了原始副本和克隆副本(以模拟我正在处理的服务器集群),但是,两个实例都分配了相同的IP地址。这是否可能是我们的DHCP中的错误,我认为VirtualBox会使用它来获取IP地址?还是以某种方式设置虚拟机?无论如何,我最终有兴趣解决此问题,以便可以同时使用同一映像的两个VM。


在VMWare上,如果您从其他路径启动了先前使用的VM,它会询问您是否复制了它或移动了该VM以避免这种情况...您如何克隆该VM?
ppeterka

恐怕这不是这里的情况…
两栖游戏2013年

1
您可能使用MAC(以太网)地址复制了机器。如ppeterka所述,这是在VMware中复制和移动之间的差异之一。您能检查一下地址吗?您能否同时描述一下克隆机器的方式?
pabouk

是的,当我跑步时ifconfig -a,它对两个显示相同的MAC地址(显示为HWaddr
两栖的2013年

但是我克隆它的方式是在UI中,只需右键单击VM并命中Clone
两栖游戏,2013年

Answers:


12

这称为IP冲突,可能会引起网络的严重头痛。

您可以重新初始化克隆的VM的MAC地址。那只是意味着生成一个新的随机数。在克隆的VM上,单击设置>>网络>>高级,然后单击两个圆形箭头以生成新的MAC。您的虚拟机将需要关闭。在启动时,DHCP服务器应为虚拟机分配其他IP地址。

仅供参考,克隆虚拟机时,您应该已经看到一个带有“重新初始化MAC”字样的复选框,这将克隆虚拟机并生成一个新的MAC,而不是克隆它。

如果您很好奇,通常使用克隆VM来对VM进行完整备份,在这种情况下,如果您必须使用备份,则希望MAC和IP相同。对于克隆VM以构建集群的情况,您将需要在每个克隆上重新初始化MAC。在此处输入图片说明

更新1 回应您从10/8/2013起的评论。

确保IP地址不是静态设置的。您在问题中提到VM应该从DHCP获取IP。如果是这种情况,则配置应类似于以下内容。对于基于debian的系统,可以在/ etc / network / interfaces中找到

auto eth0
iface eth0 inet dhcp

对于基于Redhat的系统,网络配置位于/ etc / sysconfig / network-scripts / ifcfg-eth0

您的第二条评论提到eth0丢失。您有eth1吗?由于您的计算机更改了mac地址,因此操作系统会将原始mac保留为eth0,通常会将eth1分配给新的mac。要重置eth *设备,以便您拥有eth0而不是eth1,您需要清除udev网络规则。

与网络打交道可能会很麻烦。一种选择是删除克隆的VM,然后再次克隆原始VM,然后选中“重新初始化mac”。我不确定它是否可以解决您的问题,但可以。


4
我这样做了,然后重启了两个虚拟机,但是它们仍然被分配了相同的IP :(
两栖服务器,2013年

eth0我跑步时克隆人没有ifconfig
两栖游戏2013年

我更新了答案,以解决您在评论中提到的问题。
tbenz9

@amphibient,我重新创建了您的问题,并通过从/etc/udev/rules.d/70-persistent-net.rules文件中删除所有内容并重新启动,可以轻松解决问题。祝好运!
tbenz9

1

10.0.2.15在Mac上克隆Ubuntu时,我得到了相同的IP VM。
为了解决该问题,我首先关闭了虚拟机。
然后为每个VM
选择设置,然后单击“网络”选项卡,然后将附件更改为:Bridged Adapter
然后单击“高级”,选择“允许所有用于混杂模式”,
最后刷新MAC地址以更改MAC地址。单击确定。
现在启动虚拟机,您将获得不同的IP地址。
我获得192.168.0.14了第一和192.168.0.15第二。他们也可以从主机Mac发出ping命令。

在此处输入图片说明


0

请阅读有关VirtualBox中可用适配器的信息(https://www.virtualbox.org/manual/ch06.html#networkingmodes)。如果您只想在虚拟机之间建立连接,那么对于您的测试而言,内部网络适配器将更为合适。但是从您的评论我知道您正在使用NAT。

我在主机Mint 17.2和访客Fedora 21的VirtualBox 5.0.2上检查了以下情况:

使用默认的NAT适配器创建主VM。使用MAC重新初始化创建链接克隆(https://www.virtualbox.org/manual/ch01.html#clone)。克隆的VM和原始VM在文件中具有相同的值:

/etc/sysconfig/network-scripts/ifcfg-enp0s3

然而

ip a

在每个上显示不同的MAC地址。

当我根据来自ip命令的链接/以太值更新该文件中的HWADDR并使用

uuidgen

然后,尽管原始虚拟机和克隆虚拟机上的这些(enp0s3)接口上使用相同的IP,但外部网络(Internet)仍然运行良好。


0

今天我遇到了同样的情况。我在Solaris VM上使用了NAT适配器和仅主机的以太网适配器。当我刷新仅主机适配器的mac地址时,克隆的IP发生了更改。


-1

我了解你的痛苦。我克隆了我的虚拟机。在oracle虚拟机上生成新的Mac,启动克隆,更改主机名,并使用新的mac更新网络脚本文件。

重新启动后,它仍使用来自dhcp的相同IP。界面处于“自然”设置。

:(

戴夫


1
友好和友善,但不能解决问题。
阿里克斯罗氏公司
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.