描述问题
使用vmware克隆多台 Ubuntu系统后,IP地址是一样的
解决方案一
对于较新的 Ubuntu 系统(如 18.04 及以上版本),DHCP 客户端默认使用 /etc/machine-id 作为唯一标识符向 DHCP 服务器请求 IP。如果克隆的虚拟机该文件内容相同,就会获取到相同的 IP。
操作步骤
- 登录到其中一台 IP 冲突的虚拟机。
- 执行以下命令清空
machine-id并重新生成:
sudo echo -n | sudo tee /etc/machine-id
sudo rm /var/lib/dbus/machine-id
sudo ln -s /etc/machine-id /var/lib/dbus/machine-id
- 重启虚拟机或重启网络服务,系统会生成新的
machine-id,从而向 DHCP 服务器请求到新的 IP 地址。
解决方案二:根据MAC地址获取IP
执行 解决方案一 后,可能IP地址仍然没有变化,通常是因为 DHCP 服务器(VMware 虚拟网络编辑器中的 DHCP 服务)缓存了旧的租约信息,修改网络配置,强制使用网卡的 MAC 地址作为标识符
注意: MAC地址必须不能相同,担心相同,可按照 链接 重新生成 MAC 地址
操作步骤
编辑下面文件:
sudo nano /etc/netplan/00-installer-config.yaml
按照下面修改:
network:
version: 2
renderer: networkd
ethernets:
ens33: # 你的网卡名称,可能是 eth0 或其他
dhcp4: yes
dhcp-identifier: mac # 添加这一行
按 ctrl + o 保存
按 ctrl + x 退出
然后执行下面命令:
sudo netplan apply
一般就根据 MAC 地址获取IP地址了,IP地址肯定与之前的不一样
清理续约
一般不用执行此操作
# 停止网络服务
sudo systemctl stop systemd-networkd
# 删除内存里保存的租约
sudo rm -rf /run/systemd/netif/leases/*
# 重启网络
sudo systemctl start systemd-networkd