Djbdns
|
Template:Title djbdns is a simple and secure DNS implementation created by Daniel J. Bernstein because he was fed up with repeated BIND security holes. There have been no security bugs found in djbdns since version 1.0, and there is an as-yet-unclaimed $500 prize (http://cr.yp.to/djbdns/guarantee.html) for the first person to find a security hole.
As of 2004, it was the third most popular DNS server (counting BIND version 9 separately from versions 8 and 4) for the publication of DNS data.
Contents |
The components of djbdns
djbdns consists of 6 servers:
- dnscache -- the local dns resolver and cache.
- tinydns -- a database-driven dns server.
- walldns -- a "reverse DNS wall", providing IP to domain name lookup only.
- rbldns -- a server designed for dns blacklisting service.
- pickdns -- a database-driven server that chooses from matching records depending on the requester's location. (This feature is now a standard part of tinydns.)
- axfrdns -- a zone-transfer server.
a number of client tools:
- axfr-get -- a zone-transfer client.
- dnsip -- simple address from name lookup.
- dnsipq -- address from name lookup with rewriting rules.
- dnsname -- simple name from address lookup.
- dnstxt -- simple text record from name lookup.
- dnsmx -- mail exchanger lookup.
- dnsfilter -- looks up names for addresses read from stdin, in parallel.
- dnsqr -- recursive general record lookup.
- dnsq -- non-recursive general record lookup, useful for debugging.
- dnstrace (and dnstracesort) -- comprehensive testing of the chains of authority over dns servers and their names.
and associated configuration tools.
djbdns splits off different features and services, like AXFR zone transfers, into separate programs. Zone file parsing, DNS caching, and recursive resolving are also implemented as separate programs. The result of these design decisions is a dramatic reduction in code size and complexity of the daemon program that answers lookup requests. Daniel J. Bernstein (and many others) feel that this is true to the spirit of the Unix operating system, and makes security verification much simpler.
Copyright Status
djbdns is Licence-Free Software. As a consequence, some Linux distributions will not install, and possibly not even include, djbdns because by their rules they classify such software as "non-free". Nonetheless, djbdns users point out that it is "free enough" for anyone to use; the source code is publically available and open for inspection and modification by users; and the licensing issues haven't stopped a large number of feature-enhancing augmentations from being published.
See also
References
External links
- djbdns official homepage (http://cr.yp.to/djbdns.html)
- A guide to DJBDNS (http://lifewithdjbdns.org/)
- The djbdns section of FAQTS (http://djbdns.faqts.com/)
- Unofficial website (http://www.tinydns.org/)
- A djbdns guide and tutorial with addon (http://www.djbdnsrocks.org/)
- Jonathan de Boyne Pollard's debunking of several myths relating to djbdns (http://homepages.tesco.net./~J.deBoynePollard/FGA/djbdns-myths-dispelled.html)
- Jonathan de Boyne Pollard's list of the several known problems in djbdns (http://homepages.tesco.net./~J.deBoynePollard/FGA/djbdns-problems.html)
- Supporting newer record formats through generic records. (http://www.anders.com/projects/sysadmin/djbdnsRecordBuilder/)de:Djbdns