Linux: Reset network configuration on a cloned Ubuntu Bionic VM
I suppose I’m doing fairly well that this is the first major systemd trouble I’ve had, but here goes. I created an Ubuntu VM, updated it, configured everything how I want, then realized I had to do two more like it (to set up a test ElasticSearch cluster). No worries, I’ll just clone the VM twice! Leave aside issues of the cloned drives ending up where I didn’t want them, I had an absolute bastard of a time getting systemd to let go of the old DHCP lease, even though I reset the MAC addresses on the interfaces during the clone.
Turns out, it’s fairly easy:
Change hostname
- Edit
/etc/cloud/cloud.cfg
to turnpreserve_hostname
on. - Use
hostnamectl set-hostname
to actually change the hostname.
Ditch the old DHCP lease
After ensuring that the MAC is actually different, simply blow away the relevant file(s) in /run/systemd/netif/leases/
and reboot. Maybe there’s a way to do it without the reboot? I have no idea, but as it wasn’t listening on the right IP address uptime wasn’t really important.