unsuccessful update of A record

Simon Hobson dhcp at thehobsons.co.uk
Mon Apr 3 09:28:04 UTC 2006


Ross Boylan wrote:

>While working on some network problems I rebooted a dhcp client system
>several times.  For some reason, one of those times the client got a
>new IP address from the dhcpd server.  My forward (A) DNS ended up
>pointing at the old location, and the bind logs show the update to the
>A record failed because there was an existing entry for that name.
>
>The logs also show that before updating the reverse record the old
>entry is deleted.

Can you post the log entries.

>In previous discussion on this list, someone mentioned a proposed
>standard that involved not updating records that already exist (I
>think just the forward ones), so this behavior is consistent with
>that.

That is correct, the standard functionality is that the server will 
not replace an active entry

>Why are the forward records left in place while the reverse records
>are deleted before update?  Is this part of the asymmetry noted a few
>weeks ago, in which the DHCP server is deemed more authoritative about
>the IP addresses than the names?
>
>Second, should the client, when shutdown normally, tell the server
>that it is going down, so the dhcp server could make appropriate
>adjustments--including deleting DNS entries?

That is up to the client. Mac OS X clients do that, they explicitly 
release their lease before shutting down, most clients don't. There 
are pros and cons both ways : releasing the lease virtually 
eliminates the problems caused by moving subnets when the dhcp server 
is not authoritative; on the other hand, hanging on to it makes the 
client more robust (it generally has a working address when it starts 
so less problems if the dhcp server dies or there's a temporary 
network problem).

>   The DNS entries only get
>cleared out for me when the lease expires.  The dhcpd.conf man page in
>REFERENCE: EVENTS refers explicitly to a "release event, when the
>client has released the server from its commitment."

If the client releases the lease, then the dhcp server will delete 
the dns entries, if not then they will remain until the lease expires.

>Is there a way to get the DNS records deleted when the client goes
>down

Only if the client releases the lease - otherwise, the server has no 
way of knowing if the client is really gone or if it's going to pop 
back up and carry on using the address (which it is entitled to do 
until the lease expires).

>  and, failing that, to get old information replaced with new
>information?  It would be easier if this could be done once on the
>server, particularly since some of my clients are MS Windows some of
>the time.

Can you come up with a reliable and SAFE methond for deciding what 
dns entries it's safe to replace, and which need to stay ?

>My leases are relatively brief, so at least the problems tend to
>self-correct after a few hours.

They can be manually corrected. Use nsupdate to delete the old 
records and then get the client to renew it's lease. For completeness 
you also need to stop the dhcp server and remove the ddns-update 
entries in the old lease record.

Better still, if you knwo that you are modifying the client, manually 
release it's lease beforehand (on Windows it's "ifconfig /release").

Simon


More information about the dhcp-users mailing list