DDNS updates

Simon Hobson dhcp1 at thehobsons.co.uk
Tue Aug 1 13:24:09 UTC 2006

Kleinfeld, Ralf wrote:

>I am trying to find out more about how exactly ddns workds from the dhcp
>server point of view.
>If a clients receives an ip adress and the servers is configured to do the
>updates, what exactly happens there.
>I went through "The DHCP Handbook", but found no deep technical description
>of what happens.

>As far as I see in the log, it's looking for an existing A Record for the
>clients name.
>Furthermore it looks for a TXT records.
>What is exactly the meaning of the string value of the TXT records, which is
>created along with an A record?

The TXT record is a hash of something, not sure what but it's not too 
important. The key thing is that the server can check the value to 
see if THIS server created the corresponding A record - and if it 
didn't then it will NOT replace or remove it.

IIRC the update is done as :
   If there is no A record, perform an update and skip to step 3.
   If there is an A record and the TXT record matches, perform the update.
   If the A record update succeeds, update the PTR record.

The A record update is done as a conditional script
   If <condition>
     delete fqdn A
     delete fqdn TXT
     insert fqdn A ipaddr
     insert fqdn TXT hash-value

>Furthermore, I have noticed that the dhcp server is NOT updating an A
>record, if the appropriate TXT record is missing. Is there a way to "force"
>the dhcp server to touch the record?

No, this is a security mechanism - it prevents a malicious (or just 
ignorant) user setting their hostname to "server" and your important 
server named "server" just disappears because the DNS has been 

>What event forces the dhcp server to update DNS? Is it only happening on
>behalf of a DISCOVER-OFFER-REQUEST-ACK or also on a renew within the

Any time the server issues or renews a lease (request-ack exchange) 
then it checks if it has already done a DNS update - if it has then 
it does nothing more, if it hasn't then it re-tries. If an update 
fails then it will get retried when the client next renews it's 
lease. There is a config option that will make it attempt a DNS 
update every time if you need it.


More information about the dhcp-users mailing list