13.1 About DNS and BIND

The Domain Name System (DNS) is a network-based service that maps (resolves) domain names to IP addresses. For a small, isolated network, you could use entries in the /etc/hosts file to provide the mapping, but most networks that are connected to the Internet use DNS.

DNS is a hierarchical and distributed database, where each level of the hierarchy is delimited by a period (.). Consider the following fully qualified domain name (FQDN):

wiki.us.mydom.com.

The root domain, represented by the final period in the FQDN, is usually omitted, except in DNS configuration files:

wiki.us.mydom.com

In this example, the top-level domain is com, mydom is a subdomain of com, us is a subdomain of mydom, and wiki is the host name. Each of these domains are grouped into zones for administrative purposes. A DNS server, or name server, stores the information that is needed to resolve the component domains inside a zone. In addition, a zone's DNS server stores pointers to the DNS servers that are responsible for resolving each subdomain.

If a client outside the us.mydom.com domain requests that its local name server resolve a FQDN such as wiki.us.mydom.com into an IP address for which the name server is not authoritative, the name server queries a root name server for the address of a name server that is authoritative for the com domain. Querying this name server returns the IP address of a name server for mydom.com. In turn, querying this name server returns the IP address of the name server for us.oracle.com, and querying this final name server returns the IP address for the FQDN. This process is known as a recursive query, where the local name server handles each referral from an external name server to another name server on behalf of the resolver.

Iterative queries rely on the resolver being able to handle the referral from each external name server to trace the name server that is authoritative for the FQDN. Most resolvers use recursive queries and so cannot use name servers that support only iterative queries. Fortunately, most

Oracle Linux provides the Berkeley Internet Name Domain (BIND) implementation of DNS. The bind package includes the DNS server daemon (named), tools for working with DNS such as rndc, and a number of configuration files, including:

/etc/named.conf

Contains settings for named and lists the location and characteristics of the zone files for your domain. Zone files are usually stored in /var/named.

/etc/named.rfc1912.zones

Contains several zone sections for resolving local loopback names and addresses.

/var/named/named.ca

Contains a list of the root authoritative DNS servers.