This is a fork of djbdns version 1.05 with various patches and own modifications added.
The patches added are, in this order:
- IPv6 patches in version test28
- djbdns-ipv6-make.patch
- tinydnssec in version 1.8
- a version of the SRV/NAPTR patch
Modifications include:
- raise default memory limit, as the default limits caused issues on various modern machines
- add scripts to chroot the tinydns user for SSH/rsync data updates
- add basic DESTDIR support to make packaging easier
- add systemd services
For a basic setup, do the inital configuration with tinydns-conf:
# tinydns-conf tinydns dnslog /etc/tinydns <your-ip>
Then put your configuration in /etc/tinydns/root/data, build the data.cdb file using “make”, and start the server via systemd:
# systemctl enable tinydns
# systemctl start tinydns
Check with “systemctl status” if the server is running. You should now be able to query the configured DNS records. Check the djbdns page for more details on adding records:
For an setup allowing chrooted ssh logins to update the data do the basic setup, then call “tinydns-setup-chroot” to set up basic directory structure and file permissions. After that, add keys (optionally with restrictions) to etc/tinydns.ssh/authorised_keys. Make it owned by tinydns user if you want the file editable via SSH.
Add data and a new Makefile (tinydns-data is now in ../bin), and test remote logins.
The internet has evolved a lot since djbdns was written, and dnscache does not handle todays (questionable) site setups spread over multiple domains very well. In most cases using a cache like unbound will perform significantly better.
If you still want to run dnscache follow the instructions on the djbdns homepage.