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.