我经常在VirtualBox VM中运行几个Ubuntu实例来测试各种事情。我通常只安装一次Ubuntu,然后根据需要克隆VM。我在VirtualBox中使用桥接网络,并从我的路由器获得一个动态IP。VirtualBox具有随机化虚拟网卡的MAC地址的能力。使用16.04时,这很好:安装+克隆+随机化MAC =每个实例都有自己独特的IP。
这在18.04中不再起作用。我不明白为什么,但即使当我改变MAC,所有的克隆总是得到相同的IP地址。(我的路由器似乎认为上次引导的任何实例都拥有IP。)
此外,当我使用netplan将VM更改为静态I时,如下所示.
$ cat /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.1.28/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]..。NIC最后得到了两个IP--我分配的静态地址和原始动态IP,如下所示:
$ ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:dd:e5:ea brd ff:ff:ff:ff:ff:ff
inet 192.168.1.28/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.1.154/24 brd 192.168.1.255 scope global secondary dynamic enp0s3
valid_lft 86383sec preferred_lft 86383sec
inet6 fe80::a00:27ff:fedd:e5ea/64 scope link
valid_lft forever preferred_lft forever我搜遍了所有的地方都搞不懂。我猜这可能和云有关,但如果是这样的话,我就不知道该怎么办了。
感谢你的帮助!
发布于 2018-09-17 06:22:43
我最近已经见过很多次了,所以现在我只是假设你被同样的东西打动了,并提供了答案。如果这不是你的情况,至少它可能会帮助其他人。
问题的主要内容:
现在发生的情况是,在第一次引导时,systemd将生成/etc/machine-id,然后networkd将使用它在dhcp请求中生成客户机id。
这将是为IP提供服务的首选唯一ID,因此使用相同/etc/machine-id克隆的所有机器都将发生冲突。
除了在第一次引导/init上所做的工作之外,这也是您应该从干净的云映像以及部署过程开始IMHO的原因。但是现在,请确保/etc/machine-id被删除。它将在引导时生成一个新的系统,系统可以通过DHCP服务器进行区分。
https://askubuntu.com/questions/1075672
复制相似问题