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:
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:
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.