我使用 Lubuntu 16.04 的 CLI iso 创建了一个虚拟机虚拟盒子。现在我需要几台机器相同的特征(但是不同的IP,为了测试我写的C网络应用程序),所以我克隆的第一个。
我更改了两台机器的网络设置,以便它们都有连接到具有相同名称的内部网络的网络适配器。
如果我尝试$ ifconfig
在两台机器上运行,我会得到相同的IP(即10.0.2.15
)。为什么?如何获得不同的IP?
/etc/network/interfaces
以下是两台机器的内部结构:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp
答案1
10.0.2.15 地址表示您的虚拟机位于 NAT 网络上。这可能不是您想要的,它基本上允许机器访问世界,但不直接连接到其他机器(物理或虚拟)。
克隆计算机时,您可以选择重置 MAC 地址。做这个。
对于网络类型,这取决于您的需求。这些虚拟机需要互相访问吗?主机?互联网?您主机 LAN 上的其他计算机?
这是我针对类似问题给出的答案中的一些信息的ac/p -
与虚拟机的网络连接(当然假设它有正确配置的服务可供连接)取决于您在虚拟机设置中选择的网络类型。
1) NAT——正如它所说的那样。不幸的是,它不会在您的主机上创建匹配的地址。唯一的连接方法是转发各个端口,就像在家庭路由器上一样。这是在管理器界面的计算机设置中的网络选项卡上完成的。如果您选择“NAT”作为网络类型并且该卡处于活动/启用状态,则“端口转发”按钮将处于活动状态且可用。
2) 桥接 - 这会跨主机中的以太网设备之一桥接,并直接连接到网络,就好像它插入到某处的插孔一样。但是...某些工作场所、学校等不允许多个 MAC 地址通过单个托管交换机端口进行通信,如果在您连接到的任何 LAN 上出现这种情况,它将无法工作。
3) 仅主机 - 这会在您的主机和来宾计算机之间创建虚拟网络。有可用的 dhcp 服务,但它不提供网关。如果您希望访客进行连接,则需要在主机上设置 NAT/等并以这种方式提供访问。
4) 仅内部 - 这将机器连接到虚拟内部哑交换机。没有 DHCP 服务,没有网关访问,什么都没有。哦,您的主机上没有匹配的适配器。
我所做的大量练习/操场/实验是设置一台具有 2 个接口的机器 - 一个在桥接上,一个在内部。然后,我将其变成一台路由器机器,配备假域名 (fake.tld) DNS 服务、DHCP、全球缓存 DNS 服务等,然后启动其他 VMS,在仅限内部的网络上进行实际实验和操作。
答案2
对于我的设置,我曾经dhclient
释放 IP 地址。我使用了-r
选项后跟接口名称。
sudo dhclient -r enp0s3
然后获取新的IP,直接执行,sudo dhclient
无需任何选项。
请注意,我的克隆是使用它们自己的 MAC 地址构建的,这是构建您的克隆时的一个选项。
答案3
我所要做的就是初始化一个DHCP服务器使用正确的netname
(例如mynetwork
)运行以下命令:
$ VBoxManage dhcpserver add --netname mynetwork --ip 11.11.11.1 --netmask 255.255.255.0 --lowerip 11.11.11.3 --upperip 11.11.11.20 --enable
当然ips也取决于你的需要。