Use DJBDNS to slave a zone from a master
It's not like BIND but it's not hard either. Master-IP-based directories hold domain-name files that tell the "puller" where and what to get.
Change to the TinyDNS root dir:
cd /var/service/tinydns/root
Create a dir named for the IP of DNS zone master server:
mkdir 10.246.241.109
cd into that dir:
cd 10.246.241.109
Touch a file for each domain name to be slaved, axfr.$DOMAINNAME:
touch axfr.example.com touch axfr.example.org
Go up to the root and run the slaver; it's a perl script written by Russ Nelson that looks for dirs named for masters' IP addresses with files named axfr.* in them and pull from the address the named domain:
/usr/local/bin/axfr.pl -D
The -D shows you what it's doing. This can be slow depending on the response time of ALL the masters it's querying. I don't know of a way to tell it to slave only one zone.
This is the same thing as cron runs to slave periodically:
55 * * * * /usr/bin/cd /var/service/tinydns/root && env PATH=/bin:/sbin:/usr/bin:/usr/local/bin /usr/local/bin/axfr.pl
It does not respond to signals from the master to pull records. DJB doesn't believe in this complexity and would prefer slaves to pull from masters using simple scp or rsync instead of inventing new protocols.
Test:
cshenton@Asylum/~$ dig @ns.example.net example.org ; (1 server found) ;; ANSWER SECTION: example.org. 86400 IN A 192.168.1.2 ;; AUTHORITY SECTION: example.org. 86400 IN NS ns1.example.net. ;; ADDITIONAL SECTION: ns1.example.net. 86400 IN A 10.1.2.3 ;; SERVER: 192.3.2.1.10#53(10.1.2.3)

