I recently took over a network where every device is currently using a static IP. I'm considering switching to a DHCP server, but I need some guidance on how to ensure that each device's hostname gets registered as an A record in our domain.
We have two domains in use: the primary one is a Windows domain (example.com) and the secondary one is FreeIPA as a sub-domain (sub.example.com). All user and group entities are managed in Windows, and FreeIPA pulls from those.
Windows clients join the Windows domain while Linux clients connect to the FreeIPA sub-domain. My goal is to implement DHCP servers to better manage IP addresses but I also need the clients to automatically update their A records.
I'm leaning towards using two RHEL servers for DHCP in high availability (HA) mode, and two more for Bind HA as the DNS. What technologies or features should I consider for this setup?
3 Answers
If you're using a Windows DHCP server, it can automatically update DNS with the hostname as long as your DNS zone is integrated with Active Directory. You might consider moving your DNS zone over to make this easier.
You're right that Windows machines can benefit from AD auto-updating DNS. If you decide to go with KEA as your DHCP server, it should work for Windows clients without special configurations since they will update their records automatically. As for RHEL clients, you might have to look into configuring them to update their DNS entries dynamically or set it up on the client side.
Just make sure your DHCP settings allow for dynamic DNS updates, especially for non-Windows clients to ensure they update their A records properly.
To get hostnames registered as A records, you don't need to complicate things too much. Using DHCP reservations along with static `A` and `AAAA` records should be effective. We operate similarly but have added automation due to our larger scale.

Good to know about KEA! However, remember that AD won't handle the DNS updates for clients itself. You can set GPO on client devices to manage configurations, but dynamic updates are usually client-driven.