You can bind BIND to what interfaces you want, run tinydns on loopback (127.0.0.1), and use it as the server you manage with vegadns. You can edit the Makefile to push your data.cdb file to both your authoritative servers. The cool thing is you can then temporarily comment out the cronjob that runs the vegadns update, make massive changes by hand or by script, type make, then import those changes directly into vegadns. : ) That comes in very handy.

Here is the Makefile I use  (edited to protect the innocent boxen)

remote: data.cdb
        rsync -az -e ssh data.cdb <first authoritative nameserver>:/service/tinydns/root/data.cdb
        rsync -az -e ssh data.cdb <second authoritative nameserver>:/service/tinydns/root/data.cdb
        rsync -az -e ssh data.cdb <backup admin dns machine>:/service/tinydns/root/data.cdb
        rsync -az -e ssh data <backup admin dns machine>:/service/tinydns/root/DATABACKUPS/data-`date +%H%M`

# the bottom two lines above are for a backup vegadns authoring machine, and a backup of the non-compiled data file.

data.cdb: data
        /usr/local/bin/tinydns-data

data: mydata axfrdata
        cat $^ > $@

axfrdata: /service/axfrdns/root/zones/*
        sort -u $^ > $@


#the axfr line is for if you slave dns for anyone



On Jun 28, 2005, at 12:44 PM, Jason Smith wrote:

We're getting ready to deploy two tinydns servers and I would like to run
VegaDNS on a third, separate web server w/safe_mode enabled.

Since the web server runs a "control panel" that uses bind, I can't
install tinydns on that server and I'd like to make VegaDNS just generate
[and/or compile] the data/data.cdb file for retrieval by the name servers.

My idea was to write a quick PHP script that got all the records from the
VegaDNS database and serve up a text/plain "data" file that I could wget
and "make" on the individual name servers.

Any comments/suggestions/advice?


S.A.Wilson

Iowa Telecom

UNIX Engineer



Reply via email to