D. J. Bernstein
Internet publication
djbdns

The pickdns program

pickdns is a load-balancing DNS server. It accepts iterative DNS queries from hosts around the Internet, and responds with a dynamic selection of locally configured IP addresses with 5-second TTLs.

In versions 1.04 and above, the features of pickdns have been integrated into tinydns.

Configuration

Normally pickdns is set up by the pickdns-conf program.

pickdns runs chrooted in the directory specified by the $ROOT environment variable, under the uid and gid specified by the $UID and $GID environment variables.

pickdns listens for incoming UDP packets addressed to port 53 of $IP. It does not listen for TCP queries.

pickdns rejects inverse queries, non-Internet-class queries, truncated packets, packets that contain anything other than a single query, and query types other than A or MX or *. It looks up other queries inside data.cdb, a binary file created by pickdns-data.