Monday, April 30, 2012

FreeBSD Install DJBDNS Server

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:
  1. The tinydns program is a fast, UDP-only DNS server.
  2. The axfrdns program is a fast, TCP-only DNS server. This is useful for transferring zones to secondary name server or bind server.
  3. 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 - 202.54.1.1
ns2.nixcraft.in - 203.51.2.1

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.
Fig.01: FreeBSD Install djbdns Software via Ports
Fig.01: FreeBSD Install djbdns Software via Ports
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

  1. tinydns: a database-driven dns server - It will open UDP port 53
  2. axfrdns: a zone-transfer server - It will open TCP port 53
  3. /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.
  4. /var/ns1.nixcraft.in : Your zone configuration directory. It will be symlinked to /var/service
  5. rsync or scp : Update your zone files on ns2.nixcraft.in server.
  6. tinydns-conf : sets up a DNS publication service (master name server)
  7. axfrdns-conf : sets up a DNS zone-transfer service
  8. /usr/local/etc/rc.d/svscan.sh : daemontools rc.d start / stop / restart script. Use this to start or stop djbdns server.

No comments:

Post a Comment