djbdns's tinydns server is one of the second most popular DNS server with security in mind. How do I install DJBDNS server under FreeBSD operating systems?
DJBDNS is a collection of Domain Name System tools. It includes several components:
- The tinydns program is a fast, UDP-only DNS server.
- The axfrdns program is a fast, TCP-only DNS server. This is useful for transferring zones to secondary name server or bind server.
- The dnscache program is a local DNS cache. It accepts recursive DNS queries from local clients such as web browsers. It collects responses from remote DNS servers.
Sample Configuration Setup
ns1.nixcraft.in - 188.8.131.52 ns2.nixcraft.in - 184.108.40.206
Install DJBDNS on ns1.nixcraft.in
Type the following command:
# portsnap fetch update
# cd /usr/ports/dns/djbdns
# make install clean && rehash
Make sure you select IPv6 patch if you need to provide AAAA dns address for your domain.
This port will also install the following two required software:
- daemontools: Service monitoring and logging utilities by djbdns (and qmail) server
- ucspi-tcp2 : Command-line tools for building TCP client-server application
DJBDNS Files and Directories
- tinydns: a database-driven dns server - It will open UDP port 53
- axfrdns: a zone-transfer server - It will open TCP port 53
- /var/service: The directory containing the various service directories to be monitored. The author ( Daniel J. Bernstein) recommends /service, but the FreeBSD port has a default of /var/service instead, which is consistent with the FreeBSD filesystem hierarchy.
- /var/ns1.nixcraft.in : Your zone configuration directory. It will be symlinked to /var/service
- rsync or scp : Update your zone files on ns2.nixcraft.in server.
- tinydns-conf : sets up a DNS publication service (master name server)
- axfrdns-conf : sets up a DNS zone-transfer service
- /usr/local/etc/rc.d/svscan.sh : daemontools rc.d start / stop / restart script. Use this to start or stop djbdns server.