d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
71cef386fae61275b03e203825680b39fedaa8c6Tinderbox User - Copyright (C) 2000-2018 Internet Systems Consortium, Inc. ("ISC")
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - This Source Code Form is subject to the terms of the Mozilla Public
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - License, v. 2.0. If a copy of the MPL was not distributed with this
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - file, You can obtain one at http://mozilla.org/MPL/2.0/.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="prev" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="next" href="Bv9ARM.ch02.html" title="Chapter�2.�BIND Resource Requirements">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<tr><th colspan="3" align="center">Chapter�1.�Introduction</th></tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a accesskey="p" href="Bv9ARM.html">Prev</a>�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch02.html">Next</a>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h1 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="Bv9ARM.ch01"></a>Chapter�1.�Introduction</h1></div></div></div>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#doc_scope">Scope of Document</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#organization">Organization of This Document</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#conventions">Conventions Used in This Document</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#dns_overview">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#dns_fundamentals">DNS Fundamentals</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#domain_names">Domains and Domain Names</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#zones">Zones</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#auth_servers">Authoritative Name Servers</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#cache_servers">Caching Name Servers</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch01.html#multi_role">Name Servers in Multiple Roles</a></span></dt>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews The Internet Domain Name System (<acronym class="acronym">DNS</acronym>)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein consists of the syntax
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to specify the names of entities in the Internet in a hierarchical
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein manner, the rules used for delegating authority over names, and the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein system implementation that actually maps names to Internet
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews addresses. <acronym class="acronym">DNS</acronym> data is maintained in a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein group of distributed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein hierarchical databases.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="doc_scope"></a>Scope of Document</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The Berkeley Internet Name Domain
c48c7872a0e020a63a96faed166c6ae960e4c1e9Mark Andrews (<acronym class="acronym">BIND</acronym>) implements a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein domain name server for a number of operating systems. This
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein document provides basic information about the installation and
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews care of the Internet Systems Consortium (<acronym class="acronym">ISC</acronym>)
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <acronym class="acronym">BIND</acronym> version 9 software package for
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews system administrators.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>This version of the manual corresponds to BIND version 9.11.</p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="organization"></a>Organization of This Document</h2></div></div></div>
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater In this document, <span class="emphasis"><em>Chapter 1</em></span> introduces
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater the basic <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym> concepts. <span class="emphasis"><em>Chapter 2</em></span>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews describes resource requirements for running <acronym class="acronym">BIND</acronym> in various
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater environments. Information in <span class="emphasis"><em>Chapter 3</em></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>task-oriented</em></span> in its presentation and is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein organized functionally, to aid in the process of installing the
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <acronym class="acronym">BIND</acronym> 9 software. The task-oriented
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein section is followed by
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater <span class="emphasis"><em>Chapter 4</em></span>, which contains more advanced
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein concepts that the system administrator may need for implementing
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater certain options. <span class="emphasis"><em>Chapter 5</em></span>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews describes the <acronym class="acronym">BIND</acronym> 9 lightweight
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater resolver. The contents of <span class="emphasis"><em>Chapter 6</em></span> are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein organized as in a reference manual to aid in the ongoing
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater maintenance of the software. <span class="emphasis"><em>Chapter 7</em></span> addresses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein security considerations, and
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater <span class="emphasis"><em>Chapter 8</em></span> contains troubleshooting help. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein main body of the document is followed by several
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews <span class="emphasis"><em>appendices</em></span> which contain useful reference
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews information, such as a <span class="emphasis"><em>bibliography</em></span> and
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews historic information related to <acronym class="acronym">BIND</acronym>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and the Domain Name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="conventions"></a>Conventions Used in This Document</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In this document, we use the following general typographic
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein conventions:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>To describe:</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>We use the style:</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a pathname, filename, URL, hostname,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein mailing list name, or new term or concept
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein literal user
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>Fixed Width Bold</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein program output
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following conventions are used in descriptions of the
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <acronym class="acronym">BIND</acronym> configuration file:</p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>To describe:</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>We use the style:</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Optional input
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional">Text is enclosed in square brackets</span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="dns_overview"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The purpose of this document is to explain the installation
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews and upkeep of the <acronym class="acronym">BIND</acronym> (Berkeley Internet
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews Name Domain) software package, and we
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein begin by reviewing the fundamentals of the Domain Name System
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews (<acronym class="acronym">DNS</acronym>) as they relate to <acronym class="acronym">BIND</acronym>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="dns_fundamentals"></a>DNS Fundamentals</h3></div></div></div>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The Domain Name System (DNS) is a hierarchical, distributed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein database. It stores information for mapping Internet host names to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein addresses and vice versa, mail routing information, and other data
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used by Internet applications.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Clients look up information in the DNS by calling a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>resolver</em></span> library, which sends queries to one or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein more <span class="emphasis"><em>name servers</em></span> and interprets the responses.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews The <acronym class="acronym">BIND</acronym> 9 software distribution
f00c53aafe031bb7ef2e3b03934701ac44dfe258Tinderbox User contains a name server, <span class="command"><strong>named</strong></span>, and a
f00c53aafe031bb7ef2e3b03934701ac44dfe258Tinderbox User resolver library, <span class="command"><strong>liblwres</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="domain_names"></a>Domains and Domain Names</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The data stored in the DNS is identified by <span class="emphasis"><em>domain names</em></span> that are organized as a tree according to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein organizational or administrative boundaries. Each node of the tree,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein called a <span class="emphasis"><em>domain</em></span>, is given a label. The domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node is the concatenation of all the labels on the path from the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node to the <span class="emphasis"><em>root</em></span> node. This is represented
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in written form as a string of labels listed from right to left and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein separated by dots. A label need only be unique within its parent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, a domain name for a host at the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein company <span class="emphasis"><em>Example, Inc.</em></span> could be
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <code class="literal">ourhost.example.com</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein top level domain to which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">ourhost.example.com</code> belongs,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a subdomain of <code class="literal">com</code>, and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name of the host.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For administrative purposes, the name space is partitioned into
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein areas called <span class="emphasis"><em>zones</em></span>, each starting at a node and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein extending down to the leaf nodes or to nodes where other zones
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The data for each zone is stored in a <span class="emphasis"><em>name server</em></span>, which answers queries about the zone using the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>DNS protocol</em></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The data associated with each domain name is stored in the
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews form of <span class="emphasis"><em>resource records</em></span> (<acronym class="acronym">RR</acronym>s).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Some of the supported resource record types are described in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <a class="xref" href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them" title="Types of Resource Records and When to Use Them">the section called “Types of Resource Records and When to Use Them”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For more detailed information about the design of the DNS and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the DNS protocol, please refer to the standards documents listed in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <a class="xref" href="Bv9ARM.ch11.html#rfcs" title="Request for Comments (RFCs)">the section called “Request for Comments (RFCs)”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="zones"></a>Zones</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To properly operate a name server, it is important to understand
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the difference between a <span class="emphasis"><em>zone</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and a <span class="emphasis"><em>domain</em></span>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews As stated previously, a zone is a point of delegation in
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews the <acronym class="acronym">DNS</acronym> tree. A zone consists of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein those contiguous parts of the domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein tree for which a name server has complete information and over which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it has authority. It contains all domain names from a certain point
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein downward in the domain tree except those which are delegated to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein other zones. A delegation point is marked by one or more
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>NS records</em></span> in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein parent zone, which should be matched by equivalent NS records at
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the root of the delegated zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For instance, consider the <code class="literal">example.com</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein domain which includes names
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein such as <code class="literal">host.aaa.example.com</code> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">host.bbb.example.com</code> even though
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <code class="literal">example.com</code> zone includes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only delegations for the <code class="literal">aaa.example.com</code> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">bbb.example.com</code> zones. A zone can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein exactly to a single domain, but could also include only part of a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein domain, the rest of which could be delegated to other
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews name servers. Every name in the <acronym class="acronym">DNS</acronym>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>domain</em></span>, even if it is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>terminal</em></span>, that is, has no
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>subdomains</em></span>. Every subdomain is a domain and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein every domain except the root is also a subdomain. The terminology is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein not intuitive and we suggest that you read RFCs 1033, 1034 and 1035
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein gain a complete understanding of this difficult and subtle
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Though <acronym class="acronym">BIND</acronym> is called a "domain name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it deals primarily in terms of zones. The master and slave
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein declarations in the <code class="filename">named.conf</code> file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zones, not domains. When you ask some other site if it is willing to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be a slave server for your <span class="emphasis"><em>domain</em></span>, you are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein actually asking for slave service for some collection of zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="auth_servers"></a>Authoritative Name Servers</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each zone is served by at least
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein one <span class="emphasis"><em>authoritative name server</em></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein which contains the complete data for the zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To make the DNS tolerant of server and network failures,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews most zones have two or more authoritative servers, on
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews different networks.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses from authoritative servers have the "authoritative
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein answer" (AA) bit set in the response packets. This makes them
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein easy to identify when debugging DNS configurations using tools like
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span class="command"><strong>dig</strong></span> (<a class="xref" href="Bv9ARM.ch03.html#diagnostic_tools" title="Diagnostic Tools">the section called “Diagnostic Tools”</a>).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="primary_master"></a>The Primary Master</h4></div></div></div>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The authoritative server where the master copy of the zone
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews data is maintained is called the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span class="emphasis"><em>primary master</em></span> server, or simply the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span class="emphasis"><em>primary</em></span>. Typically it loads the zone
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews contents from some local file edited by humans or perhaps
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews generated mechanically from some other local file which is
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews edited by humans. This file is called the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span class="emphasis"><em>zone file</em></span> or
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span class="emphasis"><em>master file</em></span>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews In some cases, however, the master file may not be edited
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews by humans at all, but may instead be the result of
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span class="emphasis"><em>dynamic update</em></span> operations.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="slave_server"></a>Slave Servers</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The other authoritative servers, the <span class="emphasis"><em>slave</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers (also known as <span class="emphasis"><em>secondary</em></span> servers)
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User load the zone contents from another server using a replication
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User process known as a <span class="emphasis"><em>zone transfer</em></span>.
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User Typically the data are transferred directly from the primary
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User master, but it is also possible to transfer it from another
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User slave. In other words, a slave server may itself act as a
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User master to a subordinate slave server.
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User Periodically, the slave server must send a refresh query to
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User determine whether the zone contents have been updated. This
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User is done by sending a query for the zone's SOA record and
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User checking whether the SERIAL field has been updated; if so,
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User a new transfer request is initiated. The timing of these
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User refresh queries is controlled by the SOA REFRESH and RETRY
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User fields, but can be overrridden with the
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User <span class="command"><strong>max-refresh-time</strong></span>,
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User <span class="command"><strong>min-refresh-time</strong></span>,
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User <span class="command"><strong>max-retry-time</strong></span>, and
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User <span class="command"><strong>min-retry-time</strong></span> options.
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User If the zone data cannot be updated within the time specified
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User by the SOA EXPIRE option (up to a hard-coded maximum of
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User 24 weeks) then the slave zone expires and will no longer
17fdbf542a0db30107b200403c51a72fe62c218dTinderbox User respond to queries.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="stealth_server"></a>Stealth Servers</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usually all of the zone's authoritative servers are listed in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein NS records in the parent zone. These NS records constitute
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a <span class="emphasis"><em>delegation</em></span> of the zone from the parent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The authoritative servers are also listed in the zone file itself,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein at the <span class="emphasis"><em>top level</em></span> or <span class="emphasis"><em>apex</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the zone. You can list servers in the zone's top-level NS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein records that are not in the parent's NS delegation, but you cannot
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list servers in the parent's delegation that are not present at
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the zone's top level.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A <span class="emphasis"><em>stealth server</em></span> is a server that is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authoritative for a zone but is not listed in that zone's NS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein records. Stealth servers can be used for keeping a local copy of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone to speed up access to the zone's records or to make sure that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone is available even if all the "official" servers for the zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein inaccessible.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A configuration where the primary master server itself is a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stealth server is often referred to as a "hidden primary"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuration. One use for this configuration is when the primary
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is behind a firewall and therefore unable to communicate directly
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with the outside world.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="cache_servers"></a>Caching Name Servers</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The resolver libraries provided by most operating systems are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>stub resolvers</em></span>, meaning that they are not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein performing the full DNS resolution process by themselves by talking
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein directly to the authoritative servers. Instead, they rely on a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name server to perform the resolution on their behalf. Such a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is called a <span class="emphasis"><em>recursive</em></span> name server; it performs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>recursive lookups</em></span> for local clients.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To improve performance, recursive servers cache the results of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the lookups they perform. Since the processes of recursion and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein caching are intimately connected, the terms
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>recursive server</em></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>caching server</em></span> are often used synonymously.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The length of time for which a record may be retained in
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews the cache of a caching name server is controlled by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Time To Live (TTL) field associated with each resource record.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="forwarder"></a>Forwarding</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Even a caching name server does not necessarily perform
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the complete recursive lookup itself. Instead, it can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>forward</em></span> some or all of the queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that it cannot satisfy from its cache to another caching name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein commonly referred to as a <span class="emphasis"><em>forwarder</em></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein There may be one or more forwarders,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and they are queried in turn until the list is exhausted or an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is found. Forwarders are typically used when you do not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein wish all the servers at a given site to interact directly with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the Internet servers. A typical scenario would involve a number
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews of internal <acronym class="acronym">DNS</acronym> servers and an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Internet firewall. Servers unable
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to pass packets through the firewall would forward to the server
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews that can do it, and that server would query the Internet <acronym class="acronym">DNS</acronym> servers
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews on the internal server's behalf.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<a name="multi_role"></a>Name Servers in Multiple Roles</h3></div></div></div>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews The <acronym class="acronym">BIND</acronym> name server can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein simultaneously act as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a master for some zones, a slave for other zones, and as a caching
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (recursive) server for a set of local clients.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein However, since the functions of authoritative name service
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and caching/recursive name service are logically separate, it is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein often advantageous to run them on separate server machines.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A server that only provides authoritative name service
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (an <span class="emphasis"><em>authoritative-only</em></span> server) can run with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein recursion disabled, improving reliability and security.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A server that is not authoritative for any zones and only provides
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein recursive service to local
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein clients (a <span class="emphasis"><em>caching-only</em></span> server)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein does not need to be reachable from the Internet at large and can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be placed inside a firewall.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a accesskey="p" href="Bv9ARM.html">Prev</a>�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="right">�<a accesskey="n" href="Bv9ARM.ch02.html">Next</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="left" valign="top">BIND 9 Administrator Reference Manual�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<td width="40%" align="right" valign="top">�Chapter�2.�<acronym class="acronym">BIND</acronym> Resource Requirements</td>
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox User<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.3 (Extended Support Version)</p>