rm -f /etc/machine-id
rm -f /var/lib/dbus/machine-id
systemd-machine-id-setup
systemd-machine-id-setup
简单说明
如果是 clone centos 会发现不会出现这一情况,而 clone ubuntu 的时候会发生,那么可以简单的猜测,可能是因为网络策略的不同。
经过一番查询发现:
Ubuntu 网络组件使用 systemd-networkd 。
Centos 网络组件使用 dhclient。
这就是他们默认策略不同的原因, systemd-networkd 默认使用 /etc/machine-id 来识别,当虚拟机克隆的时候,他们都有一样的 /etc/machine-id 和 DHCP server,因此返回的都是同一个 ip 了。
而 Centos 所使用的 dhclient 组件,采用默认策略就是使用链路层地址,虽然虚拟机进行了文件克隆,但是他们的链路层地址是由虚拟机进行分配的所以并不一样。
重新获取ip
sudo dhclient