LWN: Comments on "A couple of alternative DNS servers" https://lwn.net/Articles/19954/ This is a special feed containing comments posted to the individual LWN article titled "A couple of alternative DNS servers". en-us Sun, 07 Sep 2025 17:39:17 +0000 Sun, 07 Sep 2025 17:39:17 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net A listing of DNS servers https://lwn.net/Articles/25600/ https://lwn.net/Articles/25600/ rickmoen anr asked: <em>Please explain what makes you list djbdns under the "proprietary" category. </em> <p>Gladly. Prof. Bernstein's terms of usage, while very generous and commendable, do not include the right to fork (Open Source Definition provision #3 -- which is the <em>central concept</em> of open source). Thus, nobody else has the legal right to develop, maintain, and release modified versions. Also, when/if Prof. Bernstein ceases to issue new versions, the project will probably pretty much die for lack of legal right to maintain the code (except in private or as patch files). <p>Please note that the term "proprietary" is not pejorative: It's a descriptive category, and includes a broad spectrum of licensing types, including Prof. Bernstein's benevolent source-available one on the liberal end. <p>Prof. Bernstein feels that his abilitiy to control the package's quality justifies this limitation (and he may be right). But, as a result, djbdns/dnscache is most plainly <strong>not</strong> open source. <p>As Sam says, Prof. Bernstein's DNS notes are a crucial resource for anyone wanting to truly understand DNS at a technical level, and I join Sam in recommending them to people. <p>Rick Moen<br> rick@linuxmafia.com Sun, 16 Mar 2003 10:59:26 +0000 Re: Writing a DNS server is easy https://lwn.net/Articles/21730/ https://lwn.net/Articles/21730/ ahu two words: use c++ :-) Saves heaps of typical C problems if done right, like memory leaks and the need to write btrees and whatnot Mon, 03 Feb 2003 18:46:07 +0000 What is free software https://lwn.net/Articles/21444/ https://lwn.net/Articles/21444/ sam A lot of DJB advocates seem to be confused about what the general free software community considers free software. The software is not <i>software libre</i>, according to <A href=http://www.fsf.org/licenses/license-list.html#NonFreeSoftwareLicense>the FSF</A>. The <A href=http://www.opensource.org>open source</A> web site mentions nothing about DJB's license, since it is not free software <A href=http://www.opensource.org/docs/definition_plain.php>as per their definition</A> (look at section three, "derived works"). <p> Let me make this clear: Dan is one of the best programmers out there. <p> He has an excellent security history. He has many years experience with UNIX and a driving obsession which makes him a very good coder. His DNS notes were very helpful in making my <A href=http://www.maradns.org>DNS server</A> a better program; while very opinionated, his opinions have merit. I respect him greatly as a coder. <p> He has understandable reasons to make is software not be <i>libre</i>. Unfortunatly, his code will have a limited appeal until when and if he releases it under a more open license. <p> - Sam Thu, 30 Jan 2003 00:33:58 +0000 A listing of DNS servers https://lwn.net/Articles/21214/ https://lwn.net/Articles/21214/ anr Please explain what makes you list djbdns under the &quot;proprietary&quot; category. Some points:<p>* The source code is available to all who want it.<br>* You can distribute patches (and apply) at will.<p>It seems to me that a label like &quot;Restricted Open Source&quot; would be closer to the truth.<br> Tue, 28 Jan 2003 12:49:07 +0000 A listing of DNS servers https://lwn.net/Articles/21113/ https://lwn.net/Articles/21113/ rickmoen Recursive DNS servers are indeed still relatively rare, but I'm now keeping a record of nameserver packages of all types available (or believed available) for *ix, here: <p><a href="http://linuxmafia.com/~rick/linux-info/dns-servers">http://linuxmafia.com/~rick/linux-info/dns-servers</a> <p>Open source: <ul> <li>MaraDNS <li>pdnsd <li>Dnsmasq <li>DNRD <li>MyDNS <li>ldapdns <li>GnuDIP <li>NSD <li>PowerDNS <li>CustomDNS <li>lbnamed <li>Posadis <li>dents (probably dead, as Sam says) <li>Pliant DNS Server <li>Yaku-NS <li>Twisted Names <li>Oak DNS Server </ul> <p>Proprietary: <ul> <li>UltraDNS (UltraDNS Corporation) <li>djbdns/tinydns <li>ATLAS (Verisign) <li>BINDPlus (Information Network Eng. Group, Inc.) <li>Global Name Service (Nominum, Inc.) <li>NeDNS (Neteka, Inc.) </ul> <p>P.S.: It might be true, for all I know, that (as Sam says in one of his comments) that "writing a working recursive DNS server is like watching Highlander II", except that I'm sure you're not similarly driven to say "There should have been only one." *grin* <p>Rick Moen<br> rick@linuxmafia.com Mon, 27 Jan 2003 16:03:32 +0000 Re: Writing a DNS server is easy https://lwn.net/Articles/21053/ https://lwn.net/Articles/21053/ sam Well, depends on what sort of infastructure you already have in place. My recursive server is over 4000 lines long (!!!), but that includes the entire caching infastructure. <p>Does your caching infastructure have a method of removing elements from the cache so they no longer take up memory? <p>It took us months to get rid of all of the memory leaks in MaraDNS' cache.<p>BTW, Bert, I would like to applaud you for making Power DNS open source. It is good to see being realistic enough to realize that you are better off GPLing this package. You will still earn money by putting it on your résumé to impress people when the tech economy picks up again. <p>It is good to have competition among different open source DNS products; I am glad the &quot;call to arms&quot; for a non-BIND DNS server which has resulted in a number of implementations. Just two weeks ago, there were all of three non-BIND freely downloadable recursive DNS servers (my MaraDNS, pdnsd, and DjbDNS). All of a sudden, there are two more--five in total.<p>- Sam<br> Sat, 25 Jan 2003 10:41:49 +0000 Writing a DNS server is easy https://lwn.net/Articles/21051/ https://lwn.net/Articles/21051/ sam Hmmm, well get back to us after you get compression working and after you have a working recursive DNS server. These are the two things which cause most would-be DNS implementers to give up on writing a DNS server. For example, moodns died when the author looked at what it took to get compression going. Dents died before the recursive part was finished. And so on. <p> I think it is apporoporate to quote a Slashdot posting I did recently: <blockquote> <p> Let me put it this way. Writing a DNS client (or a non-recursive DNS server) is sort of like <a HREF="http://us.imdb.com/Title?0091203">Highlander I</a>. Entertaining, really. You think to youself "Hey! That was easy! A recursive server can't be too bad!" <p> Well, writing a working recursive DNS server is like watching <a HREF="http://us.imdb.com/Title?0102034">Highlander II</a>. Suddenly, just as Highlander II changes your outlook on the entire Highlander franchise, writing a recursive DNS server changes your outlook on the entire DNS protocol. </blockquote> - Sam Sat, 25 Jan 2003 10:14:17 +0000 djbdns https://lwn.net/Articles/20997/ https://lwn.net/Articles/20997/ anr I don't think this is a good example, because the vast majority of users wouldn't benefit from this patch (there's a reason it isn't implemented upstream).<p>It's better to configure your desktop's dnscache in forward only mode.<p>But if you installed from source &amp; want the patch anyway, applying it isn't rocket science ;-)<br> Fri, 24 Jan 2003 12:49:58 +0000 CNAMEs and djbdns https://lwn.net/Articles/20987/ https://lwn.net/Articles/20987/ anr What's wrong with CNAMEs:<p>http://cr.yp.to/djbdns/notes.html#aliases<br>http://www.faqts.com/knowledge_base/view.phtml/aid/8815/fid/699<p>What you should do instead: use A records.<p>Quoting the manual:<br>http://cr.yp.to/djbdns/tinydns-data.html<p>&quot; Don't use Cfqdn if there are any other records for fqdn. Don't use Cfqdn for common aliases; use +fqdn instead. Remember the wise words of Inigo Montoya: ``You keep using CNAME records. I do not think they mean what you think they mean.'' &quot;<br> Fri, 24 Jan 2003 12:37:09 +0000 Writing a DNS server is easy https://lwn.net/Articles/20955/ https://lwn.net/Articles/20955/ ahu I'll speak to you a year from now :-) Anyhow, the recursive part is not that hard, the <a href=http://ds9a.nl/cgi-bin/viewcvs.cgi/pdns/pdns/syncres.cc?rev=1.15&content-type=text/vnd.viewcvs-markup>PowerDNS one</a> is just 448 lines. Thu, 23 Jan 2003 20:18:05 +0000 Writing a DNS server is easy https://lwn.net/Articles/20881/ https://lwn.net/Articles/20881/ paulsheer I actually find the whole DNS concept quite laughable. Admittedly, a recursive nameserver is a largish software project, but a master server is actually very simple to write. I wrote one in a weekend and its soon going to be the primary server for the .nis.za domain. It handles all common record types, and TCP and UDP queries, and its lightning fast. <P> I'll release the code after I add recursive queries. <P> I believe it has no exploits. Thu, 23 Jan 2003 12:42:20 +0000 CNAMEs and djbdns https://lwn.net/Articles/20855/ https://lwn.net/Articles/20855/ ncm The older report, on djbdns, mentioned that DJB doesn't approve of CNAME records. What is supposed to be wrong with CNAME records, and what are we expected to do instead? Thu, 23 Jan 2003 05:34:01 +0000 DDNS and IXFR? https://lwn.net/Articles/20450/ https://lwn.net/Articles/20450/ edstoner Oak supports Dynamic updates. It doesn't support incremental zone transfers yet, but should in a week or two.<p>Oak supports AAAA records but doesn't support A6 or DNAME because the IETF has downgraded them to experimental and recommended that people don't use them (that's my understanding anyway).<p>Oak runs as an unpriviliged user by default and it should be fairly easy to run it in a chroot jail. These things are good at protecting the system the server is running on, but don't help at all in protecting the data in the running DNS server. Not having the cache poisoned and not having someone rewrite the zone data so that all of your server's names point to their machines can be just as important as not letting them be root on the host machine. In other words, the code in the DNS Server still needs to secure, no matter how secure the system it's running on is. Mon, 20 Jan 2003 17:21:59 +0000 DDNS and IXFR? https://lwn.net/Articles/20410/ https://lwn.net/Articles/20410/ hensema Do these servers support Dynamic updates and incremental zone transfers? It's a feature of bind I can't live without because I'm using ISC DHCPD 3.0 which supports dynamic DNS updates.<p>I also use IPv6 and DNAME records (to simplify the administration of my reverses).<p>AFAIK bind is still the only DNS to support this. And since it's running safely in a chroot jail as an unpriviliged user, I don't worry about security ;-) Mon, 20 Jan 2003 09:11:36 +0000 djbdns https://lwn.net/Articles/20409/ https://lwn.net/Articles/20409/ iabervon The license is somewhat inconvenient for users who want, for example, a local-only DNS server <br>which keeps its cache across reboots, like you might want for a desktop machine. A patch exists <br>to make dnscache do this, but it has to be applied by hand by the end user due to the license. Mon, 20 Jan 2003 00:03:07 +0000 A couple of alternative DNS servers https://lwn.net/Articles/20406/ https://lwn.net/Articles/20406/ edstoner The latest version of Oak has distutils installation support. Sun, 19 Jan 2003 20:11:55 +0000 Twisted Names -- another option https://lwn.net/Articles/20390/ https://lwn.net/Articles/20390/ spiv Another Python DNS server worth considering is Twisted Names, part of the Twisted library -- http://twistedmatrix.com/. Be sure to look at the 1.0.2 alpha, rather than 1.0.1, as Twisted Names is also being actively developed.<p>It's still a work in progress, but since Jp Calderone started maintaining it, it has been improving rapidly. I believe it currently has support for:<br> - recursive lookups<br> - authoritative answers<br> - caching<br> - TCP and UDP<br> - IPv6<br> - BIND9 zone files<br> - and probably other things I haven't noticed :)<p>The code should be flexible enough that you could write an SQL backend or whatever you need, if necessary. There's plenty left to be done (like optimisation), but I reckon its worth a look -- as is the rest of Twisted ;)<br> Sun, 19 Jan 2003 02:28:05 +0000 A couple of alternative DNS servers https://lwn.net/Articles/20382/ https://lwn.net/Articles/20382/ stuart What's more all of these DNS servers are available from Debian in official packages.<br>apt-get install &lt;package name&gt;<br>You gotta love it. Sat, 18 Jan 2003 18:05:50 +0000 djbdns https://lwn.net/Articles/20373/ https://lwn.net/Articles/20373/ anr Don't let the &quot;not-quite-free&quot; argument put you down. The license isn't a problem for DIY end users.<p>Also, it's very hard to match DJB's code quality. Just take a look at the changelogs involved...<p>Togheter with daemontools &amp; ucspi-tcp, the package can be very nice to use and administer.<p>Finally, tinydns' data format is very well thought out. The departure from using the problematic bind zone file format is refreshing.<br> Sat, 18 Jan 2003 16:06:45 +0000 pdnsd https://lwn.net/Articles/20360/ https://lwn.net/Articles/20360/ dkeller There's also pdnsd (http://home.t-online.de/home/Moestl/), may not <br>be a full DNS server but it works great when you have a VPN and need <br>services internet names and intranet names (behind the VPN). Sat, 18 Jan 2003 05:23:24 +0000 dnsmasq https://lwn.net/Articles/20354/ https://lwn.net/Articles/20354/ rfunk There's also <a href="http://thekelleys.org.uk/dnsmasq/doc.html">dnsmasq</a>, which is a forwarding nonrecursive server that can serve up answers from /etc/hosts and the dhcp lease file. Sat, 18 Jan 2003 01:15:40 +0000