为什么我的两个虚拟机都使用相同的IP地址?


31

我有两个虚拟机都在Linux主机(Fedora 16)上运行。我将两个适配器都设置为连接到NAT。当我启动它们时,它们的默认网关都设置为10.0.2.2。它们也具有相同的IP地址(10.0.2.15)。它们都在同一适配器上(适配器1)。我不知道为什么要为他们分配相同的IP地址,并且默认网关不应是默认网关,10.0.2.1因为子网地址是10.0.2.0子网掩码是255.255.255.0。我有什么想念的吗,以前有人发生过吗?如何使VirtualBox DHCP正常工作?


2
这不是必须的,可以创建一个“真实”的虚拟NAT网络,其中必须根据虚拟MAC地址为多个VM分配不同的IP地址,并且VM基本上可以在NAT网络后面看到对方实际上是NAT接口后面的整个子网。根据您在网络适配器配置中的选择,如果选择“ NAT”,则NAT是一对一的主机/虚拟机关系,如果选择“ NAT网络”,则是主机/子网的关系,其中每个VM虚拟网络必须具有不同的IP地址。

Answers:


22

VirtualBox DHCP正常工作。

在NAT配置中让所有计算机都获得相同的地址没有错。所有虚拟机彼此隔离,因此没有冲突的风险。它们也不在同一适配器上。每个VM都有自己的虚拟化硬件,包括NIC。

默认网关也不必是10.0.2.1。尽管通常将其设置在较低的IP地址,但是它可以是子网范围内的任何IP。

而且,没有“真正的” dhcp服务,所有内容都硬编码在VirtualBox代码中,尽管如果您对默认IP地址不满意,则可以微调NAT引擎


@jlliagre,您好,这真的是预期的行为吗?据我了解,如果所有虚拟机都分配了相同的IP地址,它们将无法使用此网络接口进行通信,对吗?如果是这样,则说明对于一堆VM,如果每个VM仅具有一个NAT适配器,则默认情况下它们将无法通信。
只是一个学习者

1
@OgrishMan是的,这是预期的行为。这是NAT的主要原理之一。它允许许多计算机使用相同的本地IP地址。他们无法直接通信,就像我的IP地址为192.168.1.4的笔记本电脑无法与您的设备通信一样,该设备可能使用相同的IP地址。他们无法通信的主要原因是它们仍然在不同的LAN上。仅使用NAT接口的计算机只能通过外部第三方网关或在主机级别使用反向端口映射一起通信。
jlliagre

谢谢你的解释!我想我现在很清楚。
只是一个学习者

7

在VirtualBox控制面板中,转到“文件”->“首选项”->“网络”

选择NAT网络选项卡,通过单击侧面的+按钮创建一个新的“ NatNetwork”,然后按OK。

现在选择每个虚拟机,进入设置->网络

在“附加到:”选项中,选择“ NAT网络”,然后选择“ NatNetwork”,然后按OK。

重新启动所有虚拟机。

现在,VM具有不同的网络地址。


1
我发现使用这种方法仍然可以获得相同的IP地址!
泽西豆

6

只要您的虚拟机具有相同的以太网MAC地址(硬件地址,由网络设备的硬件制造商设置,就像指纹一样,是唯一的),便可以从任何DHCP服务中获得相同的IP地址。

由于您正在运行虚拟机,因此它们具有虚拟硬件,因此它们“伪造”了MAC地址。您必须确保没有两台机器具有相同的以太网硬件地址。

您可以在“硬件网络”部分的VirtualBox中设置虚拟机的以太网MAC地址(如下所示:3c:08:51:05:24:8a)

您可以在运行的虚拟机中检查它:

sudo ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:08:51:05:24:8a 
    media: autoselect (none)
    status: inactive

2
嵌入VirtualBox的NAT dhcp服务器不是真正的服务器。特别是它并不关心MAC地址。无论如何,多个虚拟机可能具有相同的MAC地址,这与虚拟网络完全隔离无关紧要。
jlliagre 2012年

2

他们将从dhcp服务器获取其默认网关-因此它将是在那里设置的任何内容。您将需要查看dhcp服务器以查看其交付的内容(通常只需在服务器配置中将其设置为您想要的样子)

关于两个具有相同地址的适配器,这很可能取决于您在Virtualbox中设置的配置。如果它们是克隆,则可能需要显式地给一个新的MAC地址。

检查每个网络配置,看看他们是否认为相同。

如果不同,则可以在dhcp服务器上为每个IP地址临时设置一个固定IP(由MAC地址分配)

有关更多信息,请参阅VirtualBox手册中的此部分


1
您发布的链接不适用于NAT。
jlliagre 2012年

1

我遇到过同样的问题。将Adapter2分配给第二个客户机OS。为来宾分配的唯一Mac和IP地址。

在此处输入图片说明


0

需要更改两个设置。

1)在“虚拟机”框一侧-控制台VMware客户端软件更改网络设置(即,在网络设置上添加新的内容)。2)在VM机器端-刷新每个VM的Mac地址。


-1

打开每个虚拟机的网络设置,单击高级>单击mac addr旁边的刷新按钮。两者都换一个就可以了


被低估的答案
elsadek
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.