ubuntu server 虚拟机通过dhcp server总是获得相同的ip

参考文档:https://knowledge.broadcom.com/external/article/316620/cloned-vm-acquires-the-same-dhcp-ip-addr.html

现象:

ubuntu server 22.04,通过vmware player创建了一个虚拟机,然后又复制了多个虚拟机

1. 复制的虚拟机重新生成了mac地址

2. 三台虚拟机启动后得到的Ip 地址相同

3. 在虚拟机上运行 sudo dhclient -r 删除 dhcp 分配的 ip, 然后执行 sudo dhclient 后会得到不同的 ip,但是重启动后又会恢复到之前的 ip

4. 在第3部重新获取 dhcp ip 后,过一段时间之前的 ip 又会绑定到网卡上,即一个网卡绑了2个ip

产生原因:

ubuntu server安装时会生成一个 machine-id 位于 /etc/machine-id

复制的虚拟机这个 machine-id 的值都是一样的

默认情况dhcp server会根据machine-id而不是mac 地址给虚拟机分配 ip (刷新了我的认知)

解决方法:

在配置文件中指定通过mac地址分配ip, 修改00-installer-config.yaml文件,增加:dhcp-identifier: mac

/etc/netplan$ cat 00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      dhcp4: true
      dhcp-identifier: mac
  version: 2

重启动后就可以了

还有一种方法是修改machine-id,没有测试,感觉还是根据mac地址分配,比较符合人类的习惯 ;-)

 

posted @ 2024-09-08 19:44  脱缰的野猪  阅读(135)  评论(0编辑  收藏  举报