Index: [Article Count Order] [Thread]

Date:  Fri, 10 Aug 2007 22:49:33 +0200
From:  Michael Stauber <bq (at mark) solarspeed.net>
Subject:  [coba-e:10560] Re: Automatic DNS updating between two BQ servers?
To:  coba-e (at mark) bluequartz.org
Message-Id:  <200708102249.33958.bq (at mark) solarspeed.net>
In-Reply-To:  <20070810184947.M67990 (at mark) domain-nameit.net>
References:  <20070810184947.M67990 (at mark) domain-nameit.net>
X-Mail-Count: 10560

Hi Kenneth,

> I think you're saying to do this for each domain?

That's what Gerald said, yes.

> I want to make a single entry for a domain (as we now do), and have the
> secondary NS update automatic. Maybe with CRON.

I recently did that for a client of mine as part of a custom programming job. 
On my end and for my own network I'm still using RaQ4's for primary and 
secondary DNS and use a similar method of replication there. However, on the 
RaQ4's it's much easier as CCE isn't used for storage of DNS information.

The way I set it up for BlueQuartz it works like this:

The client runs a primary and secondary DNS server - both on BlueQuartz (of 
course you could also use this for multiple secondaries!). He only updates 
the DNS records through the GUI on the primary DNS server. So if he ever 
needs to make any changes, he only does the actual adding, deletion or 
modifying of DNS records on the primary.

The secondary DNS server then fetches /etc/named.conf from the primary DNS 
server through a secured URL via HTTP and runs a couple of scripts that I've 
written to perform the following tasks:

1.)  Consistency check of the downloaded named.conf from the primary to make 
sure that it was downloaded in full and not just partially.

2.) All existing DNS records on the secondary are purged from CCE to avoid 
having outdated records or duplicates.

3.) The downloaded named.conf is parsed and for each and any primary DNS 
record the script generates a matching secondary DNS record which is both 
entered into CCE and written to the system for usage with Bind 9.

4.) Once all information has been parsed, the DNS server on the secondary is 
restarted to make use of the updated DNS information. At that point the 
secondary DNS server will (through the usual methods of Bind 9) communicate 
with the primary DNS server and will initiate a zone transfer of all relevant 
domain records. Once the zone transfers are finished, the secondary will have 
all information it needs to serve the intended purpose.

The way it is set up it'll run fully automated through a cronjob at certain 
times, but can also be run manually from the command line. So at the worst 
you'd just login by SSH to the 2ndary to run a single script and it will 
fully mirror the DNS records from the primary to the secondary. Or you wait 
until the cronjob kicks in and it happens automatically.

As this is quite useful I'm contemplating into putting some more work into it 
to make it a commercial add on for BlueQuartz which can be installed as PKG 
and which can be configured and run through the GUI. 

If you're interested in using this for your own, please contact me offlist.

-- 
With best regards,

Michael Stauber
http://www.solarspeed.net