
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
djbdns
|
211
Installing axfrdns
axfrdns uses TCP port 53, so it can share an IP with tinydns, which uses UDP port
53. Assuming you’ll use the IP 192.193.194.195, follow these steps:
1. Create the service directory:
# axfrdns-conf axfrdns dnslog /etc/axfrdns /etc/tinydns 192.193.194.195
# cd /etc/axfrdns
2. Edit the tcp file to allow zone transfers from 200.201.202.203 for hackenbush.
com and its reverse:
200.201.202.203:allow,AXFR="hackenbush.com,194.193.192.in-addr.arpa"
3. Get tcp into a binary format:
# make
4. Tell daemontools about the service:
# ln -s /etc/axfrdns /service
Running axfrdns
The secondary server will request a zone transfer from axfrdns when the TTL of the
zone’s SOA record expires. axfrdns will serve the zone from the same authoritative
database used by tinydns: data.cdb. You can also cause the secondary server to
request a zone transfer immediately by sending it a notify message. Although not a
part of standard djbdns, the Perl script tinydns-notify (available online at http://www.
sericyb.com.au/tinydns-notify) can be used for this.
axfrdns only responds to AXFR requests, and it transfers whole zones. If an external
nameserver like BIND makes an IXFR request to axfrdns, it will fail. RFC 1995 says
the requester should then try AXFR (RFC 1995), but a bug in some versions ...