I'm running dhcp-3.0.1-11 and bind 9.2.4-2 on Fedora Core 3 and am
running into a problem with clients that dual boot Windows and Linux.
When switching between OSes, the IP address that a system receives from
DHCP frequently doesn't match what's in DNS.
For example, I boot a system into Linux and it gets IP address
192.168.0.91 and is correctly registered in DNS. I then boot the same
system into Windows and it gets IP address 192.168.0.89 but it's still
registered in DNS as 192.168.0.91.
This appears to be a result of the Windows DHCP client sending a UID
string with its DHCP requests, while the Linux DHCP client doesn't.
The ISC DHCP server treats them as two different clients and assigns
them each a different address. The two leases can be seen in
/var/lib/dhcp/dhcpd.leases. For whatever reason DNS is not updated
dynamically to reflect the currently booted system's address.
I've seen some patches posted online to fix this problem, for example:
http://www.cs.tau.ac.il/~didi/dhcp/
http://honk.physik.uni-konstanz.de/~...lient-uid.diff
These patches affect the way the DHCP server handles the UID sent by
clients. However, since I'm currently using an rpm version of DHCP I'm
not eager to build DHCP from source with unsupported (and not widely
used) patches. So I have the following two questions:
1) Do more recent versions of ISC's DHCP include any way to handle this
problem?
2) Does Windows Server 2003's DHCP also suffer from this problem?
Thanks for any help or insight.