BIND name servers. First, Windows 2000
clients and DHCP servers have a nasty habit of deleting address
records owned by the same domain name as the clients or servers. For
example, if we let the users in the Special Effects Lab configure
their own computers and choose their computers' names, and one
user happened to use a name that was already taken, maybe by one of
our rendering servers, his computer would try to delete the
conflicting address record (that of the rendering server) and add its
own. That's not very sociable.
Luckily, that behavior can be corrected on the client. The client
does, in fact, check to see whether the domain name it's using
already owns an address record by setting the prerequisite in step 4.
(It just deletes it if it does exist, by default.) But you can follow
the instructions in Microsoft Knowledge Base article Q246804 to tell
the client not to delete conflicting records. The price? A client
can't differentiate between an address being used by a
different host with the same domain name and an address that formerly
belonged to it, so if the client changes addresses, it can't
automatically update the zone.
If you elect to have your DHCP server handle all registration, you
don't have the option of leaving conflicting addresses alone.
The DHCP server doesn't use prerequisites to detect collisions;
it just unceremoniously deletes conflicting address records.
Given the limitations of having the DHCP server handle all of the
registering, why would anyone consider it? Because if you allow any
client to register itself and you can only use primitive, IP
address-based access lists to authorize dynamic updates, you are
allowing any client's address to
dynamically update your zones. Savvier users of those clients could
easily fire off a few custom-made dynamic updates to change your
zone's MX records or the address of your web server.