Syncing DNS zones with different names

Chris Thompson cet1 at cam.ac.uk
Tue Nov 15 12:38:17 UTC 2011


On Nov 15 2011, Barry Margolin wrote:

>In article <mailman.98.1321341621.68562.bind-users at lists.isc.org>,
> "Chris Balmain" <bind-users at wtf.net.au> wrote:
>
>> Let's say I have two domain names, d1.com and d2.com, and I want to 
>> synchronise all records underneath them (one-way sync, that is). So if I 
>> create an A record www.d1.com pointing at 1.2.3.4, www.d2.com is also 
>> automatically created, with the same value. So it's almost like a 
>> master/slave relationship, but the slave zone has a different name to the 
>> master.
>> 
>> Let's assume the two zones will be hosted on the same set of nameservers, so 
>> even the SOA and NS records will be identical between them.
>> 
>> I've been googling, but haven't found anything. Does anyone know if this is 
>> natively possible with Bind 9, or will I have to hack a script together to 
>> do a transfer from the d1.com zone and parse the data to build an equivalent 
>> zone file for d2.com?
>
>See the DNAME record. It's like a CNAME, but applies to the whole 
>domain. But you need to put the DNAME in the zone where the domain is 
>delegated; so in your case, you'd have to get the DNAME into the .COM 
>zone.

No, you don't need to put the DNAME in the parent zone. A zone with
a DNAME at the apex works perfectly well, e.g. for d2.com

  @   SOA   my-master-server.example. me.my-mail.example ....
  @   NS    ... some nameservers ...
  @   DNAME d1.com.

But note that neither this nor the alternative of putting the DNAME in
the parent zone will alias records with the name "d1.com" itself, only
names under that. If, for example, "d1.com" itself had MX or address
records, you would still need to reproduce them in the d2.com zone file.

For a real-life example, see the way that that the TLD "xn--kprw13d"
is made an alias of "xn--kpry57d", and note that the DNAME is in the
"xn--kprw13d" xone, not in the root zone.

>Another way to do it is to use the same zone file for both zones on the
>master server. Make sure that you use unqualified names everywhere in
>the zone file that you're not referencing outside the zone.

I think you mean "relative" (to the zone) or "non-absolute" rather than
"unqualified" there. Also, don't do this if you are using dynamic updates
on either zone, or the shared zone file will end up in a horrible mess.

-- 
Chris Thompson
Email: cet1 at cam.ac.uk



More information about the bind-users mailing list