Bv9ARM.ch01.html 25.9 KB
Newer Older
Tinderbox User's avatar
Tinderbox User committed
1 2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Tinderbox User's avatar
Tinderbox User committed
3
 - Copyright (C) 2000-2019 Internet Systems Consortium, Inc. ("ISC")
Tinderbox User's avatar
Tinderbox User committed
4 5 6 7 8 9 10 11 12
 - 
 - This Source Code Form is subject to the terms of the Mozilla Public
 - License, v. 2.0. If a copy of the MPL was not distributed with this
 - file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 1. Introduction</title>
Tinderbox User's avatar
Tinderbox User committed
13
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
Tinderbox User's avatar
Tinderbox User committed
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="next" href="Bv9ARM.ch02.html" title="Chapter 2. BIND Resource Requirements">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="Bv9ARM.html">Prev</a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="Bv9ARM.ch02.html">Next</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
<a name="Bv9ARM.ch01"></a>Chapter 1. Introduction</h1></div></div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dt><span class="section"><a href="Bv9ARM.ch01.html#doc_scope">Scope of Document</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#organization">Organization of This Document</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#conventions">Conventions Used in This Document</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#dns_overview">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch01.html#dns_fundamentals">DNS Fundamentals</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#domain_names">Domains and Domain Names</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#zones">Zones</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#auth_servers">Authoritative Name Servers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#cache_servers">Caching Name Servers</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch01.html#multi_role">Name Servers in Multiple Roles</a></span></dt>
</dl></dd>
</dl>
</div>
Tinderbox User's avatar
Tinderbox User committed
53 54

    <p>
Tinderbox User's avatar
Tinderbox User committed
55 56 57 58 59 60 61 62 63
      The Internet Domain Name System (<acronym class="acronym">DNS</acronym>)
      consists of the syntax
      to specify the names of entities in the Internet in a hierarchical
      manner, the rules used for delegating authority over names, and the
      system implementation that actually maps names to Internet
      addresses.  <acronym class="acronym">DNS</acronym> data is maintained in a
      group of distributed
      hierarchical databases.
    </p>
Tinderbox User's avatar
Tinderbox User committed
64 65

    <div class="section">
Tinderbox User's avatar
Tinderbox User committed
66 67
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="doc_scope"></a>Scope of Document</h2></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
68 69

      <p>
Tinderbox User's avatar
Tinderbox User committed
70 71 72 73 74 75 76 77
        The Berkeley Internet Name Domain
        (<acronym class="acronym">BIND</acronym>) implements a
        domain name server for a number of operating systems. This
        document provides basic information about the installation and
        care of the Internet Systems Consortium (<acronym class="acronym">ISC</acronym>)
        <acronym class="acronym">BIND</acronym> version 9 software package for
        system administrators.
      </p>
Tinderbox User's avatar
Tinderbox User committed
78
      <p>This version of the manual corresponds to BIND version 9.14.</p>
Tinderbox User's avatar
Tinderbox User committed
79 80 81
    </div>

    <div class="section">
Tinderbox User's avatar
Tinderbox User committed
82 83
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="organization"></a>Organization of This Document</h2></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
84 85

      <p>
Tinderbox User's avatar
Tinderbox User committed
86 87 88 89 90 91 92 93 94 95
        In this document, <span class="emphasis"><em>Chapter 1</em></span> introduces
        the basic <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym> concepts. <span class="emphasis"><em>Chapter 2</em></span>
        describes resource requirements for running <acronym class="acronym">BIND</acronym> in various
        environments. Information in <span class="emphasis"><em>Chapter 3</em></span> is
        <span class="emphasis"><em>task-oriented</em></span> in its presentation and is
        organized functionally, to aid in the process of installing the
        <acronym class="acronym">BIND</acronym> 9 software. The task-oriented
        section is followed by
        <span class="emphasis"><em>Chapter 4</em></span>, which contains more advanced
        concepts that the system administrator may need for implementing
Tinderbox User's avatar
Tinderbox User committed
96
        certain options. The contents of <span class="emphasis"><em>Chapter 5</em></span> are
Tinderbox User's avatar
Tinderbox User committed
97
        organized as in a reference manual to aid in the ongoing
Tinderbox User's avatar
Tinderbox User committed
98
        maintenance of the software. <span class="emphasis"><em>Chapter 6</em></span> addresses
Tinderbox User's avatar
Tinderbox User committed
99
        security considerations, and
Tinderbox User's avatar
Tinderbox User committed
100
        <span class="emphasis"><em>Chapter 7</em></span> contains troubleshooting help. The
Tinderbox User's avatar
Tinderbox User committed
101 102 103 104 105 106 107
        main body of the document is followed by several
        <span class="emphasis"><em>appendices</em></span> which contain useful reference
        information, such as a <span class="emphasis"><em>bibliography</em></span> and
        historic information related to <acronym class="acronym">BIND</acronym>
        and the Domain Name
        System.
      </p>
Tinderbox User's avatar
Tinderbox User committed
108 109
    </div>
    <div class="section">
Tinderbox User's avatar
Tinderbox User committed
110 111
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="conventions"></a>Conventions Used in This Document</h2></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
112 113

      <p>
Tinderbox User's avatar
Tinderbox User committed
114 115 116
        In this document, we use the following general typographic
        conventions:
      </p>
Tinderbox User's avatar
Tinderbox User committed
117 118 119

      <div class="informaltable">
        <table border="1">
Tinderbox User's avatar
Tinderbox User committed
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
<colgroup>
<col width="3.000in" class="1">
<col width="2.625in" class="2">
</colgroup>
<tbody>
<tr>
<td>
                <p>
                  <span class="emphasis"><em>To describe:</em></span>
                </p>
              </td>
<td>
                <p>
                  <span class="emphasis"><em>We use the style:</em></span>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  a pathname, filename, URL, hostname,
                  mailing list name, or new term or concept
                </p>
              </td>
<td>
                <p>
                  <code class="filename">Fixed width</code>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  literal user
                  input
                </p>
              </td>
<td>
                <p>
                  <strong class="userinput"><code>Fixed Width Bold</code></strong>
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  program output
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput">Fixed Width</code>
                </p>
              </td>
</tr>
</tbody>
Tinderbox User's avatar
Tinderbox User committed
176 177 178 179
</table>
      </div>

      <p>
Tinderbox User's avatar
Tinderbox User committed
180 181
        The following conventions are used in descriptions of the
        <acronym class="acronym">BIND</acronym> configuration file:</p>
Tinderbox User's avatar
Tinderbox User committed
182 183
<div class="informaltable">
                  <table border="1">
Tinderbox User's avatar
Tinderbox User committed
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
<colgroup>
<col width="3.000in" class="1">
<col width="2.625in" class="2">
</colgroup>
<tbody>
<tr>
<td>
                  <p>
                    <span class="emphasis"><em>To describe:</em></span>
                  </p>
                </td>
<td>
                  <p>
                    <span class="emphasis"><em>We use the style:</em></span>
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    keywords
                  </p>
                </td>
<td>
                  <p>
                    <code class="literal">Fixed Width</code>
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    variables
                  </p>
                </td>
<td>
                  <p>
                    <code class="varname">Fixed Width</code>
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Optional input
                  </p>
                </td>
<td>
                  <p>
                    [<span class="optional">Text is enclosed in square brackets</span>]
                  </p>
                </td>
</tr>
</tbody>
Tinderbox User's avatar
Tinderbox User committed
238 239
</table>
        </div>
Tinderbox User's avatar
Tinderbox User committed
240 241
<p>
      </p>
Tinderbox User's avatar
Tinderbox User committed
242 243
    </div>
    <div class="section">
Tinderbox User's avatar
Tinderbox User committed
244 245
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dns_overview"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
246 247

      <p>
Tinderbox User's avatar
Tinderbox User committed
248 249 250 251 252 253
        The purpose of this document is to explain the installation
        and upkeep of the <acronym class="acronym">BIND</acronym> (Berkeley Internet
        Name Domain) software package, and we
        begin by reviewing the fundamentals of the Domain Name System
        (<acronym class="acronym">DNS</acronym>) as they relate to <acronym class="acronym">BIND</acronym>.
      </p>
Tinderbox User's avatar
Tinderbox User committed
254 255

      <div class="section">
Tinderbox User's avatar
Tinderbox User committed
256 257
<div class="titlepage"><div><div><h3 class="title">
<a name="dns_fundamentals"></a>DNS Fundamentals</h3></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
258 259

        <p>
Tinderbox User's avatar
Tinderbox User committed
260 261 262 263 264 265
          The Domain Name System (DNS) is a hierarchical, distributed
          database.  It stores information for mapping Internet host names to
          IP
          addresses and vice versa, mail routing information, and other data
          used by Internet applications.
        </p>
Tinderbox User's avatar
Tinderbox User committed
266 267

        <p>
Tinderbox User's avatar
Tinderbox User committed
268 269 270 271 272 273 274
          Clients look up information in the DNS by calling a
          <span class="emphasis"><em>resolver</em></span> library, which sends queries to one or
          more <span class="emphasis"><em>name servers</em></span> and interprets the responses.
          The <acronym class="acronym">BIND</acronym> 9 software distribution
          contains a name server, <span class="command"><strong>named</strong></span>, and a set
          of associated tools.
        </p>
Tinderbox User's avatar
Tinderbox User committed
275 276 277

        </div>
        <div class="section">
Tinderbox User's avatar
Tinderbox User committed
278 279
<div class="titlepage"><div><div><h3 class="title">
<a name="domain_names"></a>Domains and Domain Names</h3></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
280 281

        <p>
Tinderbox User's avatar
Tinderbox User committed
282 283 284 285 286 287 288 289 290 291
          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
          organizational or administrative boundaries. Each node of the tree,
          called a <span class="emphasis"><em>domain</em></span>, is given a label. The domain
          name of the
          node is the concatenation of all the labels on the path from the
          node to the <span class="emphasis"><em>root</em></span> node.  This is represented
          in written form as a string of labels listed from right to left and
          separated by dots. A label need only be unique within its parent
          domain.
        </p>
Tinderbox User's avatar
Tinderbox User committed
292 293

        <p>
Tinderbox User's avatar
Tinderbox User committed
294 295 296 297 298 299 300 301 302 303 304
          For example, a domain name for a host at the
          company <span class="emphasis"><em>Example, Inc.</em></span> could be
          <code class="literal">ourhost.example.com</code>,
          where <code class="literal">com</code> is the
          top level domain to which
          <code class="literal">ourhost.example.com</code> belongs,
          <code class="literal">example</code> is
          a subdomain of <code class="literal">com</code>, and
          <code class="literal">ourhost</code> is the
          name of the host.
        </p>
Tinderbox User's avatar
Tinderbox User committed
305 306

        <p>
Tinderbox User's avatar
Tinderbox User committed
307 308 309 310 311 312 313
          For administrative purposes, the name space is partitioned into
          areas called <span class="emphasis"><em>zones</em></span>, each starting at a node and
          extending down to the leaf nodes or to nodes where other zones
          start.
          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
          <span class="emphasis"><em>DNS protocol</em></span>.
        </p>
Tinderbox User's avatar
Tinderbox User committed
314 315

        <p>
Tinderbox User's avatar
Tinderbox User committed
316 317 318
          The data associated with each domain name is stored in the
          form of <span class="emphasis"><em>resource records</em></span> (<acronym class="acronym">RR</acronym>s).
          Some of the supported resource record types are described in
319
          <a class="xref" href="Bv9ARM.ch05.html#types_of_resource_records_and_when_to_use_them" title="Types of Resource Records and When to Use Them">the section called &#8220;Types of Resource Records and When to Use Them&#8221;</a>.
Tinderbox User's avatar
Tinderbox User committed
320
        </p>
Tinderbox User's avatar
Tinderbox User committed
321 322

        <p>
Tinderbox User's avatar
Tinderbox User committed
323 324
          For more detailed information about the design of the DNS and
          the DNS protocol, please refer to the standards documents listed in
325
          <a class="xref" href="Bv9ARM.ch10.html#rfcs" title="Request for Comments (RFCs)">the section called &#8220;Request for Comments (RFCs)&#8221;</a>.
Tinderbox User's avatar
Tinderbox User committed
326
        </p>
Tinderbox User's avatar
Tinderbox User committed
327 328 329
      </div>

      <div class="section">
Tinderbox User's avatar
Tinderbox User committed
330 331
<div class="titlepage"><div><div><h3 class="title">
<a name="zones"></a>Zones</h3></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
332 333

        <p>
Tinderbox User's avatar
Tinderbox User committed
334 335 336 337
          To properly operate a name server, it is important to understand
          the difference between a <span class="emphasis"><em>zone</em></span>
          and a <span class="emphasis"><em>domain</em></span>.
        </p>
Tinderbox User's avatar
Tinderbox User committed
338 339

        <p>
Tinderbox User's avatar
Tinderbox User committed
340 341 342 343 344 345 346 347 348 349 350
          As stated previously, a zone is a point of delegation in
          the <acronym class="acronym">DNS</acronym> tree. A zone consists of
          those contiguous parts of the domain
          tree for which a name server has complete information and over which
          it has authority. It contains all domain names from a certain point
          downward in the domain tree except those which are delegated to
          other zones. A delegation point is marked by one or more
          <span class="emphasis"><em>NS records</em></span> in the
          parent zone, which should be matched by equivalent NS records at
          the root of the delegated zone.
        </p>
Tinderbox User's avatar
Tinderbox User committed
351 352

        <p>
Tinderbox User's avatar
Tinderbox User committed
353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373
          For instance, consider the <code class="literal">example.com</code>
          domain which includes names
          such as <code class="literal">host.aaa.example.com</code> and
          <code class="literal">host.bbb.example.com</code> even though
          the <code class="literal">example.com</code> zone includes
          only delegations for the <code class="literal">aaa.example.com</code> and
          <code class="literal">bbb.example.com</code> zones.  A zone can
          map
          exactly to a single domain, but could also include only part of a
          domain, the rest of which could be delegated to other
          name servers. Every name in the <acronym class="acronym">DNS</acronym>
          tree is a
          <span class="emphasis"><em>domain</em></span>, even if it is
          <span class="emphasis"><em>terminal</em></span>, that is, has no
          <span class="emphasis"><em>subdomains</em></span>.  Every subdomain is a domain and
          every domain except the root is also a subdomain. The terminology is
          not intuitive and we suggest that you read RFCs 1033, 1034 and 1035
          to
          gain a complete understanding of this difficult and subtle
          topic.
        </p>
Tinderbox User's avatar
Tinderbox User committed
374 375

        <p>
Tinderbox User's avatar
Tinderbox User committed
376 377 378 379 380 381 382 383 384
          Though <acronym class="acronym">BIND</acronym> is called a "domain name
          server",
          it deals primarily in terms of zones. The master and slave
          declarations in the <code class="filename">named.conf</code> file
          specify
          zones, not domains. When you ask some other site if it is willing to
          be a slave server for your <span class="emphasis"><em>domain</em></span>, you are
          actually asking for slave service for some collection of zones.
        </p>
Tinderbox User's avatar
Tinderbox User committed
385 386 387
      </div>

      <div class="section">
Tinderbox User's avatar
Tinderbox User committed
388 389
<div class="titlepage"><div><div><h3 class="title">
<a name="auth_servers"></a>Authoritative Name Servers</h3></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
390 391

        <p>
Tinderbox User's avatar
Tinderbox User committed
392 393 394 395 396 397 398
          Each zone is served by at least
          one <span class="emphasis"><em>authoritative name server</em></span>,
          which contains the complete data for the zone.
          To make the DNS tolerant of server and network failures,
          most zones have two or more authoritative servers, on
          different networks.
        </p>
Tinderbox User's avatar
Tinderbox User committed
399 400

        <p>
Tinderbox User's avatar
Tinderbox User committed
401 402 403 404 405
          Responses from authoritative servers have the "authoritative
          answer" (AA) bit set in the response packets.  This makes them
          easy to identify when debugging DNS configurations using tools like
          <span class="command"><strong>dig</strong></span> (<a class="xref" href="Bv9ARM.ch03.html#diagnostic_tools" title="Diagnostic Tools">the section called &#8220;Diagnostic Tools&#8221;</a>).
        </p>
Tinderbox User's avatar
Tinderbox User committed
406 407

        <div class="section">
Tinderbox User's avatar
Tinderbox User committed
408 409
<div class="titlepage"><div><div><h4 class="title">
<a name="primary_master"></a>The Primary Master</h4></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
410 411

          <p>
Tinderbox User's avatar
Tinderbox User committed
412 413 414 415 416 417 418 419 420 421
            The authoritative server where the master copy of the zone
            data is maintained is called the
            <span class="emphasis"><em>primary master</em></span> server, or simply the
            <span class="emphasis"><em>primary</em></span>.  Typically it loads the zone
            contents from some local file edited by humans or perhaps
            generated mechanically from some other local file which is
            edited by humans.  This file is called the
            <span class="emphasis"><em>zone file</em></span> or
            <span class="emphasis"><em>master file</em></span>.
          </p>
Tinderbox User's avatar
Tinderbox User committed
422 423

          <p>
Tinderbox User's avatar
Tinderbox User committed
424 425 426 427
            In some cases, however, the master file may not be edited
            by humans at all, but may instead be the result of
            <span class="emphasis"><em>dynamic update</em></span> operations.
          </p>
Tinderbox User's avatar
Tinderbox User committed
428 429 430
        </div>

        <div class="section">
Tinderbox User's avatar
Tinderbox User committed
431 432
<div class="titlepage"><div><div><h4 class="title">
<a name="slave_server"></a>Slave Servers</h4></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
433 434

          <p>
Tinderbox User's avatar
Tinderbox User committed
435 436
            The other authoritative servers, the <span class="emphasis"><em>slave</em></span>
            servers (also known as <span class="emphasis"><em>secondary</em></span> servers)
Tinderbox User's avatar
Tinderbox User committed
437 438 439 440 441 442 443
            load the zone contents from another server using a replication
            process known as a <span class="emphasis"><em>zone transfer</em></span>.
            Typically the data are transferred directly from the primary
            master, but it is also possible to transfer it from another
            slave.  In other words, a slave server may itself act as a
            master to a subordinate slave server.
          </p>
Tinderbox User's avatar
Tinderbox User committed
444
          <p>
Tinderbox User's avatar
Tinderbox User committed
445 446 447 448 449 450 451 452 453 454 455 456
            Periodically, the slave server must send a refresh query to
            determine whether the zone contents have been updated. This
            is done by sending a query for the zone's SOA record and
            checking whether the SERIAL field has been updated; if so,
            a new transfer request is initiated. The timing of these
            refresh queries is controlled by the SOA REFRESH and RETRY
            fields, but can be overrridden with the
            <span class="command"><strong>max-refresh-time</strong></span>,
            <span class="command"><strong>min-refresh-time</strong></span>,
            <span class="command"><strong>max-retry-time</strong></span>, and
            <span class="command"><strong>min-retry-time</strong></span> options.
          </p>
Tinderbox User's avatar
Tinderbox User committed
457
          <p>
Tinderbox User's avatar
Tinderbox User committed
458 459 460 461
            If the zone data cannot be updated within the time specified
            by the SOA EXPIRE option (up to a hard-coded maximum of
            24 weeks) then the slave zone expires and will no longer
            respond to queries.
Tinderbox User's avatar
Tinderbox User committed
462
          </p>
Tinderbox User's avatar
Tinderbox User committed
463 464 465
        </div>

        <div class="section">
Tinderbox User's avatar
Tinderbox User committed
466 467
<div class="titlepage"><div><div><h4 class="title">
<a name="stealth_server"></a>Stealth Servers</h4></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
468 469

          <p>
Tinderbox User's avatar
Tinderbox User committed
470 471 472 473 474 475 476 477 478 479
            Usually all of the zone's authoritative servers are listed in
            NS records in the parent zone.  These NS records constitute
            a <span class="emphasis"><em>delegation</em></span> of the zone from the parent.
            The authoritative servers are also listed in the zone file itself,
            at the <span class="emphasis"><em>top level</em></span> or <span class="emphasis"><em>apex</em></span>
            of the zone.  You can list servers in the zone's top-level NS
            records that are not in the parent's NS delegation, but you cannot
            list servers in the parent's delegation that are not present at
            the zone's top level.
          </p>
Tinderbox User's avatar
Tinderbox User committed
480 481

          <p>
Tinderbox User's avatar
Tinderbox User committed
482 483 484 485 486 487 488 489 490 491
            A <span class="emphasis"><em>stealth server</em></span> is a server that is
            authoritative for a zone but is not listed in that zone's NS
            records.  Stealth servers can be used for keeping a local copy of
            a
            zone to speed up access to the zone's records or to make sure that
            the
            zone is available even if all the "official" servers for the zone
            are
            inaccessible.
          </p>
Tinderbox User's avatar
Tinderbox User committed
492 493

          <p>
Tinderbox User's avatar
Tinderbox User committed
494 495 496 497 498 499 500
            A configuration where the primary master server itself is a
            stealth server is often referred to as a "hidden primary"
            configuration.  One use for this configuration is when the primary
            master
            is behind a firewall and therefore unable to communicate directly
            with the outside world.
          </p>
Tinderbox User's avatar
Tinderbox User committed
501 502 503 504 505

        </div>

      </div>
      <div class="section">
Tinderbox User's avatar
Tinderbox User committed
506 507
<div class="titlepage"><div><div><h3 class="title">
<a name="cache_servers"></a>Caching Name Servers</h3></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
508 509 510 511

        

        <p>
Tinderbox User's avatar
Tinderbox User committed
512 513 514 515 516 517 518 519 520 521 522
          The resolver libraries provided by most operating systems are
          <span class="emphasis"><em>stub resolvers</em></span>, meaning that they are not
          capable of
          performing the full DNS resolution process by themselves by talking
          directly to the authoritative servers.  Instead, they rely on a
          local
          name server to perform the resolution on their behalf.  Such a
          server
          is called a <span class="emphasis"><em>recursive</em></span> name server; it performs
          <span class="emphasis"><em>recursive lookups</em></span> for local clients.
        </p>
Tinderbox User's avatar
Tinderbox User committed
523 524

        <p>
Tinderbox User's avatar
Tinderbox User committed
525 526 527 528 529 530
          To improve performance, recursive servers cache the results of
          the lookups they perform.  Since the processes of recursion and
          caching are intimately connected, the terms
          <span class="emphasis"><em>recursive server</em></span> and
          <span class="emphasis"><em>caching server</em></span> are often used synonymously.
        </p>
Tinderbox User's avatar
Tinderbox User committed
531 532

        <p>
Tinderbox User's avatar
Tinderbox User committed
533 534 535 536
          The length of time for which a record may be retained in
          the cache of a caching name server is controlled by the
          Time To Live (TTL) field associated with each resource record.
        </p>
Tinderbox User's avatar
Tinderbox User committed
537 538

        <div class="section">
Tinderbox User's avatar
Tinderbox User committed
539 540
<div class="titlepage"><div><div><h4 class="title">
<a name="forwarder"></a>Forwarding</h4></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
541 542

          <p>
Tinderbox User's avatar
Tinderbox User committed
543 544 545 546 547 548 549
            Even a caching name server does not necessarily perform
            the complete recursive lookup itself.  Instead, it can
            <span class="emphasis"><em>forward</em></span> some or all of the queries
            that it cannot satisfy from its cache to another caching name
            server,
            commonly referred to as a <span class="emphasis"><em>forwarder</em></span>.
          </p>
Tinderbox User's avatar
Tinderbox User committed
550 551

          <p>
Tinderbox User's avatar
Tinderbox User committed
552 553 554 555 556 557 558 559 560 561 562 563 564
            There may be one or more forwarders,
            and they are queried in turn until the list is exhausted or an
            answer
            is found. Forwarders are typically used when you do not
            wish all the servers at a given site to interact directly with the
            rest of
            the Internet servers. A typical scenario would involve a number
            of internal <acronym class="acronym">DNS</acronym> servers and an
            Internet firewall. Servers unable
            to pass packets through the firewall would forward to the server
            that can do it, and that server would query the Internet <acronym class="acronym">DNS</acronym> servers
            on the internal server's behalf.
          </p>
Tinderbox User's avatar
Tinderbox User committed
565 566 567 568 569
        </div>

      </div>

      <div class="section">
Tinderbox User's avatar
Tinderbox User committed
570 571
<div class="titlepage"><div><div><h3 class="title">
<a name="multi_role"></a>Name Servers in Multiple Roles</h3></div></div></div>
Tinderbox User's avatar
Tinderbox User committed
572 573

        <p>
Tinderbox User's avatar
Tinderbox User committed
574 575 576 577 578
          The <acronym class="acronym">BIND</acronym> name server can
          simultaneously act as
          a master for some zones, a slave for other zones, and as a caching
          (recursive) server for a set of local clients.
        </p>
Tinderbox User's avatar
Tinderbox User committed
579 580

        <p>
Tinderbox User's avatar
Tinderbox User committed
581 582 583 584 585 586 587 588 589 590 591 592 593 594
          However, since the functions of authoritative name service
          and caching/recursive name service are logically separate, it is
          often advantageous to run them on separate server machines.

          A server that only provides authoritative name service
          (an <span class="emphasis"><em>authoritative-only</em></span> server) can run with
          recursion disabled, improving reliability and security.

          A server that is not authoritative for any zones and only provides
          recursive service to local
          clients (a <span class="emphasis"><em>caching-only</em></span> server)
          does not need to be reachable from the Internet at large and can
          be placed inside a firewall.
        </p>
Tinderbox User's avatar
Tinderbox User committed
595 596 597 598 599

      </div>
    </div>

  </div>
Tinderbox User's avatar
Tinderbox User committed
600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="Bv9ARM.html">Prev</a> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right"> <a accesskey="n" href="Bv9ARM.ch02.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">BIND 9 Administrator Reference Manual </td>
<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
<td width="40%" align="right" valign="top"> Chapter 2. <acronym class="acronym">BIND</acronym> Resource Requirements</td>
</tr>
</table>
</div>
Tinderbox User's avatar
Tinderbox User committed
617
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.14.0 (Stable Release)</p>
Tinderbox User's avatar
Tinderbox User committed
618 619
</body>
</html>