D. J. Bernstein

Internet publication

DNScache

Advertising

The tinydns, pickdns, walldns, and rbldns programs

The DNScache package includes four servers that publish local host information: tinydns, pickdns, walldns, and rbldns. Every aspect of configuration was rethought from the perspective of an overworked administrator who has better things to do than play with DNS.

tinydns handles basic DNS service. The tinydns-data file format combines the flexibility of zone files with the convenience of modern zone-building tools. Host information is stored in one file. PTR records are handled automatically.

pickdns is a load-balancing DNS server. It directs each client to a list of three servers selected dynamically from a cluster of as many as 128 servers. It also supports client differentiation, checking the client's IP address and choosing one of several clusters accordingly.

walldns is a reverse DNS wall. It lets firewalled sites access name-checking servers without revealing true host information.

rbldns publishes lists of IP addresses, such as RBL or DUL, through DNS. This could be done with a general-purpose server, but rbldns uses much less memory and much less disk space.

Databases for tinydns, pickdns, and rbldns are compiled into cdb format. While a new database is being compiled, the servers continue to answer queries from the old database. There is no gap in DNS service when the new database is finished. The old database is left in place if anything goes wrong.