BIND
and some other DNS servers have a feature which allows a “master” server to send updates to another server.
NOTIFY query
The master BIND
server typically sends its slaves a NOTIFY query
when updated DNS information is available, and the slave BIND
servers initiate an ‘AXFR transfer’ of the new DNS data to serve up to clients on receipt of NOTIFY
. This way, only one BIND
server needs updating and the slaves update themselves automatically.
Pushing Updates to Bytemark Servers
Note: If you use our servers exclusively, you don’t need to use this mechanism, but people who wish to maintain their DNS data in BIND’s zone file format and use a mix of
BIND
andtinydns
servers may find the following scheme useful.
Currently our servers will not respond to a NOTIFY
query, but you can easily push updates to them when you make changes to your zone information if you have either the curl
or wget
command-line tools available. Here is an example set of commands which you can add to the head of your BytemarkDNS/upload
script in order to pull any data from BIND master servers before you make an update.
GETCMD="wget -O - --quiet" # or use curl
GETURL="http://axfr-get.bytemark.co.uk"
$GETCMD $GETURL/1.2.3.4/myzone.com >tmp && mv tmp data/myzone.com
$GETCMD $GETURL/1.2.3.4/myzone2.co.uk >tmp && mv tmp data/myzone2.co.uk
# ... repeat for as many zones as you have ...
Note also the two-stage fetch and move process for each domain. In the case that our AXFR server is down or is not working as expected, you won’t end up overwriting your data with zero-length files.
You should replace 1.2.3.4
with the IP address of your BIND
master server, and myzone.com
with the name of the zone that you wish to transfer to our servers. You must also tell your master servers to permit AXFR transfers from 80.68.81.100
.