FREQUENTLY ASKED QUESTIONS
This FAQ is for version 1.0 of MaraDNS. An updated FAQ for version
1.2 of MaraDNS is available here
INDEX
1. How to I try out MaraDNS?
2. What license is MaraDNS released under?
3. How do I get MaraDNS to bind to multiple IP addresses?
4. How come BIND 9 can not process MaraDNS queries when
MaraDNS is bound to multiple IP addresses?
5. How do I report bugs in MaraDNS?
6. Some of the postings to the mailing list do not talk
about MaraDNS!
7. How to I get off the mailing list?
8. How do I set up reverse DNS on MaraDNS?
9. I am on a slow network, and MaraDNS can not process
recursive queries
10. When I try to run MaraDNS, I get a
Fatal error: Error running populate_main program
or a Fatal error: init_cache() failed
error message.
11. I am trying to register a domain under the .au or
the .de name space,and my registrar is not taking my domain name
12. After I start MaraDNS, I can not see the process
when I run netstat -na
13. What string library does MaraDNS use?
14. Why is MaraDNS public domain instead of BSD or GPL
licensed?
15. Why does MaraDNS use a multi-threaded model?
16. I feel that XXX feature should be added to MaraDNS
17. I feel that MaraDNS should use another documentation
format
18. Is there any process I need to follow to add a patch
to MaraDNS?
19. Can MaraDNS act as a primary nameserver?
20. Can MaraDNS act as a secondary nameserver?
21. What is the difference between an authoritative and
a recursive DNS server?
22. The getzone client isn't allowing me to add certain
hostnames to my zone
23. I have having problems transferring zones from
MaraDNS' zone server to a BIND zone transfer client
24. Is MaraDNS portable?
25. How do I compile MaraDNS on OpenBSD?
26. Can I use MaraDNS in Windows?
27. MaraDNS freezes up after being used for a while
28. What kind of Python integration does MaraDNS have
29. Doesn't "kvar" mean "four" in Esperanto?
30. How do I make MaraDNS' time stamps
human-readable?
31. How scalable is MaraDNS?
32. I'm getting a warning about dangling CNAME entries
ANSWERS
1. How to I try out MaraDNS?
Read the quick start guide, which
is the file named 0QuickStart in the MaraDNS distribution.
2. What license is MaraDNS released under?
None, actually. MaraDNS is released to the public domain.
3. How do I get MaraDNS to bind to multiple IP addresses?
The current method is to run multiple copies of MaraDNS, each using its
own mararc file.
E.g:
maradns -f /etc/mararc.1
maradns -f /etc/mararc.2
etc.
If you just want to bind to all IP addresses your computer has, bind to
the IP "0.0.0.0"; however this can cause problems. See the next
question.
I don't think this will be too hard to correctly implement, since I
already have code for specifying multiple IP addresses with the IP ACL
code used by the zone server. Until then, I will add this workaround to
the FAQ.
4. How come BIND 9 can not process MaraDNS queries when MaraDNS is bound
to multiple IP addresses?
In certain cricumstances, when MaraDNS is bound to more than one IP
address, the underlying OS will send the UDP reply with a different IP
than the IP the UDP query was sent to. This will confuse BIND 9, since
BIND 9's method for listening for requests that BIND has sent out expects
the reply to come from the same IP that the request was sent to.
5. How do I report bugs in MaraDNS?
Before reporting a bug that MaraDNS has, please read the relevant man
pages. The man pages should be installed when one installs MaraDNS, and,
in addition, are available in the doc/man directory of the
MaraDNS source tarball. (It is also possible that you are reading the man
page right now)
Some MaraDNS man pages (namely, the man pages for maradns,
askmara, zoneserver, and mararc) have a section,
titled "BUGS", which list already known bugs which I feel are not
important enough to fix before the 1.0 release of MaraDNS. Bug reports
which mention one of these bugs will be cheerfully ignored (or given a
polite "thanks for the report, in this man page the bug is already
mentioned" message if I am in a particularly good mood).
Subscribe to the mailing list by sending mail to
list-subscribe@maradns.org
with "subscribe" as the subject line,
and describe the bug by sending email to
list@maradns.org.
6. Some of the postings to the mailing list do not talk about MaraDNS!
In cases where I post something to the mailing list which does not directly
talk about MaraDNS, the subject line will not have [MARA] in it, but will
have some form of the word CHATTER in it.
This way, people who do not like this can set up mail filters to filter out
anything that comes from this list and doesn't have [MARA] in the subject
line, or simply unsubscribe from the list and read the list from the
archives; if one needs to report a bug, they can subscribe to the list
again, post their bug, then unsubscribe after a week.
Another option is to set up one's Freshmeat preferences to be notified
in email every time I update MaraDNS at Freshmeat. This will give one
email notice of any critical bug fixes without needing to be
subscribed to the mailing list.
The web page http://www.maradns.org/
has a link to the mailing list archives.
7. How to I get off the mailing list?
Send an email to list-request@maradns.org with "unsubscribe" as the
subject line.
8. How do I set up reverse DNS on MaraDNS?
By using PTR (pointer) records. For example, the PTR record which performs
the reverse DNS lookup for the ip 1.2.3.4 looks like this in a CSV1 zone
file:
P4.3.2.1.in-addr.arpa.|86400|www.example.com.
If you wish to have a PTR (reverse DNS lookup; getting a DNS name from a
numeric IP) record work on the internet at large, it is not a simple
matter of just adding a record like this to a MaraDNS zonefile. One also
needs control of the appropriate in-addr.arpa. domain.
While it can make logical sense to contact the IP 10.11.12.13 when trying
to get the reverse DNS lookup (fully qualified domain name) for a given
IP, DNS servers don't do this. DNS server, instead, contact the root
DNS servers for a given in-addr.arpa name to get the reverse DNS lookup,
just like they do with any other record type.
When an internet service provider is given a block of IPs, they are also
given control of the DNS zones which allow them to control reverse DNS
lookups for those IPs. While it is possible to obtain a domain and run
a DNS server without the knowledge or intervention of an ISP, being
able to control reverse DNS loookups for those IPs requires ISP
intervention.
9. I am on a slow network, and MaraDNS can not process recursive
queries
MaraDNS, by default, only waits two seconds for a reply from a remote
DNS server. This default can be increased by adding a line like this
in the mararc file:
timeout_seconds = 5
Note that making this too high will slow MaraDNS down when DNS servers
are down, which is, alas, all too common on today's internet.
10. When I try to run MaraDNS, I get a
Fatal error: Error running populate_main program
or a Fatal error: init_cache() failed error message.
If a line in a mararc file is too long, you will see, before the
"Fatal error: Error running populate_main program" message, a message
showing you the line number which is too long and the filename with
the offending line. While it is possible to increase this limit
by changing the appropriate variable in the MaraDns.h file, the
current limit is in line with the 512-byte limit that UDP DNS
packets have; MaraDNS does not currently support DNS over TCP.
Otherwise, this error message should not be visible. If it appears,
subscribe to
the mailing list (see above), and describe your problem by sending email to
list@maradns.org. Be sure to include
the following information:
- The contents of your /etc/mararc file
- The contents of any files in /etc/maradns
- The full output MaraDNS generates
11. I am trying to register a domain under the .au or the .de name space,
and my registrar is not taking my domain name
Both the German registrar and the Australian registrars require a RR_ANY
request to return NS and SOA records. MaraDNS can do this if you add the
following line to your mararc file:
default_rrany_set = 15
12. After I start MaraDNS, I can not see the process when I run netstat -na
Udp services do not have a prominent "LISTEN" when netstat is run.
When MaraDNS is up, the relevant line in the netstat output looks
like this:
udp 0 0 127.0.0.4:53 0.0.0.0:*
While on the topic of netstat, if you run netstat -nap as root,
you can see the names of the processes which are providing internet
services.
13. What string library does MaraDNS use?
MaraDNS uses her own string library, which is called the "js_string"
library. Man pages for most of the functions in the js_string library
are in the folder doc/man of the MaraDNS
distribution
14. Why is MaraDNS public domain instead of BSD or GPL licensed?
The post-1.0.xx releases of MaraDNS are, in fact, under a simple
BSD license (without any "obnoxious" advertising clause).
I used a public domain (non-)license so that MaraDNS could be integrated
with Python without trouble. While
Python is, I believe, currently GPL compatible, Python was not
GPL-compatible at the time I decided on a license for MaraDNS.
15. Why does MaraDNS use a multi-threaded model?
The multi-threaded model is, plain and simple, the simplest way to write
a functioning recursive DNS server. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list with a feature request, please read
the UNIMP. There is a reason why MaraDNS, pdnsd, and
BIND 9 all use the multi-threaded model.
16. I feel that XXX feature should be added to MaraDNS
Before sending mail to the list wit