Please see For a DHCP client, when some particular action causes its IP address to change, such as a DHCP lease renewal, if the client supports it, it will send Client FQDN information (DHCP option 81 flags) to the DHCP server.The DHCP server will use this information, along with its dynamic update configuration, to determine whether or not the DHCP server will perform the PTR record update against the authoritative DNS server on behalf of the client, or if the client will perform the PTR update against the authoritative DNS server on its own. The first step of this process still involves the client machine sending an SOA-type query to the configured DNS server.It will first start by performing an SOA query for the reverse lookup name for the client in question: The client then receives a response from the authoritative DNS server containing information about the server that is to process the dynamic update.From there, the client continues communicating with the primary DNS server that is accepting the PTR record update.Clients with dynamically-set network connections (DHCP clients) will communicate with both the authoritative DNS server and the DHCP server for updating A and PTR records.The DHCP client will communicate with the authoritative DNS server directly for updating its A record, but the DHCP server updates the DNS server with the client’s PTR record In some cases, a DHCP server may update a client's A record on its behalf, even if the client did not specifically request this.This can occur with non-Windows machines that may not be able to request dynamic updates.When either type of client (static or DHCP client) initiates an A record update with its authoritative DNS server, it will first start by performing an SOA query for the FQDN of the client in question: The client then receives a response from the authoritative DNS server containing information about the server that is to process the dynamic update.
If you want to avoid the problem with bind rewriting the files and the need to freeze and unfreeze zones, then you could split your domains into two sub domains, for example lan. You could then have the DCHP server to only update the lan domain.The default profile suggests that these files should be put in /var/lib/bind.If you have followed the steps in my previous post you might have your zone database files in /etc/bind/zones.Updated version This is an updated guide for Ubuntu 12.04.
If you use an older version of Ubuntu, then you might want to check out the old guide, that was written for Ubuntu 8.04.
3.1 Edit /etc/bind/local: # # Make sure to change the ddns update style to interim: ddns-update-style interim; ignore client-updates; # Overwrite client configured FQHNs ddns-domainname ""; ddns-rev-domainname ""; # option definitions common to all supported networks... subnet 192.168.0.0 netmask 255.255.255.0 The configuration files now contains our secret key. We also have to give the DHCP-server the permission to read and write it’s own file.