Cleaning up the lab (#3) - less highly available DHCP
Something I don't find myself saying often: time for a downgrade.
I contacted the Technitium folks about my issues with DHCP, and they helped me debug things a bit further. It led to me installing my first fresh Ubuntu 22.04 machine, and setting up a new Technitium instance on it.
After installing Ubuntu, I setup Technitium as before, and tried creating my DHCP scope again, and...
It instantly worked. I didn't even have to enable it. This definitely fulfils Technitium's promise of being nearly configuration-free out of the box.
Which leads me to the title of this post - I'm going to be making my DHCP a bit less "highly available", switching back to Technitium and turning off my ISC Kea servers for now. This is for a number of reasons:
- Technitium does a much better job of showing DHCP leases.
- I need to be able to set an "offer delay time", an option that ISC Kea doesn't appear to have available.
- Having one server (two if you count my secondary DNS server) rather than three/four at the heart of the home network feels better, even if it's technically less resilient.
- Switching will allow for dynamic DNS for my homelab domain, which isn't currently possible to do with a Kea/Technitium combo.
Technitium has DHCP high availability on the roadmap, so I won't be without HA forever.
This will also encourage me to create some isolated networks within Proxmox within which I can do weird things like run special DHCP servers, and continue to experiment.
I did enjoy my brief stint with Kea, and still plan to create some posts about my setup. I won't be tearing it down, but I will be re-deploying dns01 and dns02 as Ubuntu 22.04 machines.
Now that I'll have working "slightly-delayable" DHCP, it opens the door for getting Foreman PXE deployments going at home. Yay!
Here's quick bit of neatness: exporting my Technitium settings from dns01, and importing them into dns03 (which will become dns01)...
Within Settings -> General, click Backup Settings...
A popup appears, which asks which items you want to backup:
Click Backup.
Restoring was just as easy. Logged into dns03, went to the same section and selected Restore Settings instead, and...
Success. dns03 is now "dns01" in everything but network configuration, and I even got to keep my statistics and pretty pretty graphs.
I did lose my DHCP configuration, which makes sense because it only existed on dns03 before and was overwritten when I restored from the backup. However, I was able to immediately enable the previously-broken settings from dns01.
Perhaps I'm being a bit too brave, but... rm -rf dns01 --yes-i-really-mean-it
A quick edit to networking and a hostname change later:
And dns01 is reborn!
Indeed, it is possible a host key has just been changed. Time to edit ~/.ssh/known_hosts
and remove the old keys.
After connecting to the new machine and making sure everything was okay, I tested forcing a machine in my network to get new addresses (hint - dhclient -r && dhclient -v
).
Happily, the machine was listed with its lease.
Might as well convert it to a reserved lease, no?
Let's see what happened with dynamic DNS 🤔
Well, that's less than ideal. rad01 was updated in DNS, but with its full hostname. Surely that means...
Ah. Easy enough to correct - just strip the hostname to not be a FQDN.
Had to do a bit of poking in Technitium to get the lease to match the new hostname. Regardless, here it is;
And in DNS:
Which means...
wings@torrent:~$ ping rad01
PING rad01.windowpa.in (10.1.1.3) 56(84) bytes of data.
64 bytes from rad01.windowpa.in (10.1.1.3): icmp_seq=1 ttl=64 time=0.962 ms
Dynamic DNS is fully working!
Join me next time as I setup Foreman DHCP and deploy some things.