我有两个虚拟机都在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正常工作?
我有两个虚拟机都在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正常工作?
Answers:
VirtualBox DHCP正常工作。
在NAT配置中让所有计算机都获得相同的地址没有错。所有虚拟机彼此隔离,因此没有冲突的风险。它们也不在同一适配器上。每个VM都有自己的虚拟化硬件,包括NIC。
默认网关也不必是10.0.2.1。尽管通常将其设置在较低的IP地址,但是它可以是子网范围内的任何IP。
而且,没有“真正的” dhcp服务,所有内容都硬编码在VirtualBox代码中,尽管如果您对默认IP地址不满意,则可以微调NAT引擎。
在VirtualBox控制面板中,转到“文件”->“首选项”->“网络”
选择NAT网络选项卡,通过单击侧面的+按钮创建一个新的“ NatNetwork”,然后按OK。
现在选择每个虚拟机,进入设置->网络
在“附加到:”选项中,选择“ NAT网络”,然后选择“ NatNetwork”,然后按OK。
重新启动所有虚拟机。
现在,VM具有不同的网络地址。
只要您的虚拟机具有相同的以太网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
他们将从dhcp服务器获取其默认网关-因此它将是在那里设置的任何内容。您将需要查看dhcp服务器以查看其交付的内容(通常只需在服务器配置中将其设置为您想要的样子)
关于两个具有相同地址的适配器,这很可能取决于您在Virtualbox中设置的配置。如果它们是克隆,则可能需要显式地给一个新的MAC地址。
检查每个网络配置,看看他们是否认为相同。
如果不同,则可以在dhcp服务器上为每个IP地址临时设置一个固定IP(由MAC地址分配)
有关更多信息,请参阅VirtualBox手册中的此部分。