28
27
MaraDNS has the following advantages:
31
<li><b>Secure</b>. MaraDNS has a strong <A
32
href="security.html">security history</A>.
33
For example, MaraDNS has <i>always</i> randomized, using
34
a secure random number generator, the Query ID and source port of DNS queries;
36
href="http://maradns.blogspot.com/2008/07/maradns-is-immune-to-new-cache.html">
37
was never vulnerable to the "new" cache poisoning attack</A>.
30
<li><b>Secure</b>. MaraDNS has a <A
31
href="security.html">security history</A> as good as or better than any
38
33
<li><b>Supported</b>.
39
MaraDNS has a long history of being maintained and updated.
40
Actively developed since 2001,
41
MaraDNS continues to be supported: The most recent
42
release was done on February 5, 2011. Deadwood, the recursive code that is
43
part of MaraDNS 2.0, is <A href=deadwood/>stable code</A>.
44
<li><b>Easy to use</b>. A basic recursive configuration needs only a
34
MaraDNS has a long history of being maintained and updated. MaraDNS was
35
originally created in 2001. MaraDNS 1.0 was released in 2002
36
and MaraDNS 1.2 was released in December of 2005. MaraDNS has been
37
extensively tested, both with a SQA process and with over four years of
38
real-world use. MaraDNS continues to be fully supported: The most recent
39
release was done on July 31, 2010.
40
<li><b>Easy to use</b>. A basic recursive configuration needs only a
45
41
single three-line configuration file. A basic authoritative configuration
46
42
needs only a four-line configuration file and a one-line zone file.
47
MaraDNS is fully documented, with both easy-to-follow tutorials and a
43
MaraDNS is fully documented, with both easy-to-follow tutorials and a
48
44
complete and up-to-date reference manual.
49
<li><b>Small</b>. MaraDNS is well suited for embedded applications
50
and other environments where the server must use the absolute minimum
45
<li><b>Small</b>. MaraDNS is well suited for embedded applications
46
and other environments where the server must use the absolute minimum
51
47
number of resources possible.
48
MaraDNS' binary is smaller than
49
that of any other currently maintained recursive DNS server.
52
50
<li><b>Open Source</b>. MaraDNS is fully open-source, The license is a
53
51
<A href=license.html>two-clause BSD license</A> that is almost
55
53
<A href="http://www.freebsd.org/copyright/freebsd-license.html">FreeBSD
62
60
be for you. MaraDNS has the following, ummm, features:
63
<li>MaraDNS currently spawns a thread for every recursive request that
64
is not in the cache. In other words, MaraDNS needs a good thread
65
implementation in order to process a large number of recursive
66
requests. Make sure your operating system has a robust threading
67
library before using MaraDNS to process a large number of recursive
70
I do plan on fixing this, but it requires a complete rewrite of
71
the recursive code, which will take six months to a year to
66
74
<li>In order to change any DNS records, MaraDNS needs to be restarted.
67
75
This is because MaraDNS uses a model that pulls DNS records from memory
76
very quickly. This will not be addressed until I adress the issue
77
with recursive threads.
70
<li>MaraDNS support for BIND zone files uses a Python script to convert
71
zone files from BIND's format to MaraDNS' BIND-like format.
79
<li>MaraDNS has support for BIND zone files only in the beta-test
80
branch, using a Python script to convert zone files from BIND's format
81
to MaraDNS' BIND-like format.
74
84
Many, many DNS server projects have come and gone over the years; to