BIND: a DNS server: Difference between revisions

From Elvanör's Technical Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 19: Line 19:


* There is a separate file for each such zone, that actually contains the record entries.
* There is a separate file for each such zone, that actually contains the record entries.
* named-checkzone is a very useful program that will check the syntax of a zone file and detect many errors.
== Setup ==
* On a DNS server that should be accessible from the public Internet, port 53 must be open, '''both TCP and UDP.'''
= Configuration =
* Using a * wildcard is possible, although not recommended.
* NS records establish which servers are authoritative. SOA records define the "start" of authority, eg which servers among all authoritative ones is the master / canonical source of data. This is used mainly for zone transfers, slave servers etc.


= DNS Round Robin =
= DNS Round Robin =


* DNS round robin is pretty easy to setup on BIND. Note that the DNS server returns the full array of IPs for a given host; after it is up to the client to make a choice. Consider client behavior '''undefined.''' Some programs such as wget will try a different IP than the first on failure, but this behavior is really client dependent.
* DNS round robin is pretty easy to setup on BIND. Note that the DNS server returns the full array of IPs for a given host; after it is up to the client to make a choice. Consider client behavior '''undefined.''' Some programs such as wget will try a different IP than the first on failure, but this behavior is really client dependent.
* It does not seem possible to setup DNS round robin with CNAMEs.

Revision as of 10:34, 1 September 2009

BIND is an excellent, high quality DNS server. Its configuration is complex though.

Documentation Resources

I've found the official documentation not very useful or clear. The following links are better:

There is also a book by Apress, Pro DNS and BIND, that can be useful.

General DNS facts

  • There is no DNS cache on Linux at the OS level (libc *might* cache stuff).

Basics

  • There is a main configuration file (/etc/bind/named.conf) that references zones for which the DNS daemon assumes responsibility. I think it is important to first understand what types of services a DNS server can perform: primary, secondary, cache, forward.
  • There is a separate file for each such zone, that actually contains the record entries.
  • named-checkzone is a very useful program that will check the syntax of a zone file and detect many errors.

Setup

  • On a DNS server that should be accessible from the public Internet, port 53 must be open, both TCP and UDP.

Configuration

  • Using a * wildcard is possible, although not recommended.
  • NS records establish which servers are authoritative. SOA records define the "start" of authority, eg which servers among all authoritative ones is the master / canonical source of data. This is used mainly for zone transfers, slave servers etc.

DNS Round Robin

  • DNS round robin is pretty easy to setup on BIND. Note that the DNS server returns the full array of IPs for a given host; after it is up to the client to make a choice. Consider client behavior undefined. Some programs such as wget will try a different IP than the first on failure, but this behavior is really client dependent.
  • It does not seem possible to setup DNS round robin with CNAMEs.