Upgrade to 2000 DNS or stay with Unix Bind (Coexistence) ?
Barry Finkel
b19141 at achilles.ctd.anl.gov
Thu Jul 24 19:29:45 UTC 2003
Jonathan de Boyne Pollard <J.deBoynePollard at tesco.net> wrote, in part:
>Of course, Microsoft's DNS server does have features that ISC's BIND does not
>and that may be desirable benefits to some; such as multi-master database
>replication, for example.
There may be serial number problems if you use a W2k multi-master and
BIND slaves. See Q282826 for details on how the MS code updates serial
numbers in a multi-master configuration. I posted this on
Mon, 12 Mar 2001 09:22:53 -0600 (CST):
I believe that MS does not fully understand DNS; MS does not treat the
SOA record with its embedded serial number as an integral part of the
zone.
Assume you have an AD-integrated zone and three DCs. If updates to the
zone arrive simultaneously at each of the three DCs, the internal MS
AD synchronization code will place a timestamp on each DDNS update.
Eventually (I am not sure of the timeframe), each of the updates will
be propogated to the other two DNS servers. At the end of the process
each of the three DNS servers will have all three DDNS updates reflected
in its zone. But in the process MS will have "trashed" the serial
number. If the three copies of the zone had serial number 5 (for
example) before the three DDNS updates arrived, during the DDNS process
each of the DNS servers will increment the serial by 1. We now have
one zone on three DNS servers - each server has the same serial number
but different contents. What happens next depends upon how you have
configured the BIND slave.
If you have treated ONE of the MS DNS servers as the master, then that
master will probably notify the BIND slave and transfer serial number
6, with one of the three DDNS updates. When the other two DDNS updates
are synchronized with the master, I have no idea what the eventual
serial number will be. It might remain at 6, as the other two AD DNS
servers had serial number 6 for that zone. Or it might increase to 8,
as there are now two new DDNS updates to that zone. If the serial
remains at 6, then the two new DDNS updates will not be transferred to
the BIND slave. If the serial number increases to 8, then the new
information will be transferred.
If you have configured the BIND slave to treat each of the three MS DNS
servers as a master, then (I believe) BIND will always transfer from
the first master in the named.conf file. If that server is unavailable,
then BIND will try the second, and if necessary the third. Exactly
what updates from the three DDNS updates above get transferred to the
slave is anyone's guess. In this multi-master environment the second
master could have a lower serial number than the first master, and if
the first master is unavailable, BIND will attempt to transfer from
the second master and see a lower serial number. MS has acknowledged
that the serial numbers can decrease if one is running a multi-master
configuration. I have not seen a Technet article, but I assume that
this behavior is not considered serious by MS, and it can not be
fixed without extensive modification to the AD replication code.
----------------------------------------------------------------------
Barry S. Finkel
Computing and Instrumentation Solutions Division
Argonne National Laboratory Phone: +1 (630) 252-7277
9700 South Cass Avenue Facsimile:+1 (630) 252-4601
Building 222, Room D209 Internet: BSFinkel at anl.gov
Argonne, IL 60439-4828 IBMMAIL: I1004994
More information about the bind-users
mailing list