DDNS client: Multiple zone entries
While testing the DDNS server configuration with Management Processor on low end servers, I noticed a strange thing. Any help here is appreciated.
DHCP and DDNS server are running on a single LINUX machine having following version:
Linux ns1.testdns.com 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux
The DHCP server was able to generate the dynamic IP Address as specified in the dhcpd.conf. DDNS database is "not" updated by DHCP but by DDNS client which is invoked on getting a new lease or modification of host name.
DDNS server was able to add the entries in the forward and reverse zone files eg : testdns.com and 1.168.192.in-addr.arpa
This ensures that DHCP and DDNS server settings are correct.
I modified the client host name and restarted the named service so that changes are reflected in the zone files. The forward zone file was expected to be updated with the modified host name.
Forward zone had two entries viz; one with old host name and other with new host name.
I have found that this is happening because in DDNS client code,
before updating the server database with modified host name, we are checking whether a record with “new” host name exists. And server replies in negative for this ( which is correct ) and client adds a new record for the new host name.
But previous entry with the old host name is never deleted from the server.
So, observation was multiple host names pointing to same IP.
This check is done via “Prerequisite” record sent by the DDNS client. Since the prerequisite check fails, client doesn’t send request for deletion of the “old” host name entry.
Forward zone file :/var/named/chroot/var/named/dyn/testdns.com
Could you kindly let me know if this behavior is acceptable to have multiple entries in the forward zone on change of host name. If not , could you kindly suggest solution to fix this ?
What should prerequisite record check for while updating the record?
( Similar would be observed for reverse zone on change of IP Address i.e multiple IP point to same name. )