Bv9ARM.ch06.html revision 7326ba2f542b89196323867a1457f596f99e315d
dcfda24abf565c442d058cbf81b2180d847a1b3eAutomatic Updater - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater - Permission to use, copy, modify, and distribute this software for any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - purpose with or without fee is hereby granted, provided that the above
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - copyright notice and this permission notice appear in all copies.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - PERFORMANCE OF THIS SOFTWARE.
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<!-- $Id: Bv9ARM.ch06.html,v 1.119 2005/10/10 03:12:12 marka Exp $ -->
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<title>Chapter�6.�BIND 9 Configuration Reference</title>
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="start" 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.ch05.html" title="Chapter�5.�The BIND 9 Lightweight Resolver">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<link rel="next" href="Bv9ARM.ch07.html" title="Chapter�7.�BIND 9 Security Considerations">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<tr><th colspan="3" align="center">Chapter�6.�<span class="acronym">BIND</span> 9 Configuration Reference</th></tr>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a accesskey="p" href="Bv9ARM.ch05.html">Prev</a>�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch07.html">Next</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title">
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<a name="Bv9ARM.ch06"></a>Chapter�6.�<span class="acronym">BIND</span> 9 Configuration Reference</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2543511">Comment Syntax</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544123"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544381"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544674"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544689"><span><strong class="command">include</strong></span> Statement Definition and
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544712"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544733"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544805"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2544931"><span><strong class="command">logging</strong></span> Statement Definition and
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2546486"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2546560"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2546624"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2546667"><span><strong class="command">masters</strong></span> Statement Definition and
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2546682"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2554410"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2554459"><span><strong class="command">trusted-keys</strong></span> Statement Definition
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2554530"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2555388"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2557531">Zone File</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2559484">Discussion of MX Records</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2560036">Inverse Mapping in IPv4</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2560231">Other Zone File Directives</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2560420"><span class="acronym">BIND</span> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater <span class="acronym">BIND</span> 9 configuration is broadly similar
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews to <span class="acronym">BIND</span> 8; however, there are a few new
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic Updater of configuration, such as views. <span class="acronym">BIND</span>
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic Updater 8 configuration files should work with few alterations in <span class="acronym">BIND</span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 9, although more complex configurations should be reviewed to check
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if they can be more efficiently implemented using the new features
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="acronym">BIND</span> 4 configuration files can be
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews converted to the new format
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews using the shell script
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">contrib/named-bootconf/named-bootconf.sh</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="configuration_file_elements"></a>Configuration File Elements</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Following is a list of elements used throughout the <span class="acronym">BIND</span> configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file documentation:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The name of an <code class="varname">address_match_list</code> as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein defined by the <span><strong class="command">acl</strong></span> statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A list of one or more
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">ip_prefix</code>, <code class="varname">key_id</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or <code class="varname">acl_name</code> elements, see
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch06.html#address_match_lists" title="Address Match Lists">the section called “Address Match Lists”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A named list of one or more <code class="varname">ip_addr</code>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews with optional <code class="varname">key_id</code> and / or
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews A <code class="varname">masters_list</code> may include other
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews A quoted string which will be used as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a DNS name, for example "<code class="literal">my.test.domain</code>".
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein One to four integers valued 0 through
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater 255 separated by dots (`.'), such as <span><strong class="command">123</strong></span>,
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">45.67</strong></span> or <span><strong class="command">89.123.45.67</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An IPv4 address with exactly four elements
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in <code class="varname">dotted_decimal</code> notation.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An IPv6 address, such as <span><strong class="command">2001:db8::1234</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 scoped addresses that have ambiguity on their scope
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zones must be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disambiguated by an appropriate zone ID with the percent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (`%') as delimiter.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It is strongly recommended to use string zone names rather
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein numeric identifiers, in order to be robust against system
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuration changes.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein However, since there is no standard mapping for such names
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein identifier values, currently only interface names as link
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are supported, assuming one-to-one mapping between
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interfaces and links.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, a link-local address <span><strong class="command">fe80::1</strong></span> on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein link attached to the interface <span><strong class="command">ne0</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein can be specified as <span><strong class="command">fe80::1%ne0</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that on most systems link-local addresses always have
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ambiguity, and need to be disambiguated.
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews An <code class="varname">ip4_addr</code> or <code class="varname">ip6_addr</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">number</code> is limited to 0
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein through 65535, with values
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein below 1024 typically restricted to use by processes running
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In some cases an asterisk (`*') character can be used as a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein placeholder to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein select a random high-numbered port.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An IP network specified as an <code class="varname">ip_addr</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein followed by a slash (`/') and then the number of bits in the
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews Trailing zeros in a <code class="varname">ip_addr</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may omitted.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, <span><strong class="command">127/8</strong></span> is the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein network <span><strong class="command">127.0.0.0</strong></span> with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein netmask <span><strong class="command">255.0.0.0</strong></span> and <span><strong class="command">1.2.3.0/28</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein network <span><strong class="command">1.2.3.0</strong></span> with netmask <span><strong class="command">255.255.255.240</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A <code class="varname">domain_name</code> representing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the name of a shared key, to be used for transaction
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A list of one or more
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein separated by semicolons and ending with a semicolon.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A non-negative 32 bit integer
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (i.e., a number between 0 and 4294967295, inclusive).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Its acceptable value might further
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be limited by the context in which it is used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A quoted string which will be used as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a pathname, such as <code class="filename">zones/master/my.test.domain</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A number, the word <strong class="userinput"><code>unlimited</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or the word <strong class="userinput"><code>default</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An <code class="varname">unlimited</code> <code class="varname">size_spec</code> requests unlimited
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use, or the maximum available amount. A <code class="varname">default size_spec</code> uses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the limit that was in force when the server was started.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A <code class="varname">number</code> can optionally be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein followed by a scaling factor:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>K</code></strong> or <strong class="userinput"><code>k</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for kilobytes,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>M</code></strong> or <strong class="userinput"><code>m</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for megabytes, and
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <strong class="userinput"><code>G</code></strong> or <strong class="userinput"><code>g</code></strong> for gigabytes,
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater which scale by 1024, 1024*1024, and 1024*1024*1024
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The value must be representable as a 64-bit unsigned integer
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater (0 to 18446744073709551615, inclusive).
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Using <code class="varname">unlimited</code> is the best
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater to safely set a really large number.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Either <strong class="userinput"><code>yes</code></strong> or <strong class="userinput"><code>no</code></strong>.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The words <strong class="userinput"><code>true</code></strong> and <strong class="userinput"><code>false</code></strong> are
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater also accepted, as are the numbers <strong class="userinput"><code>1</code></strong>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater and <strong class="userinput"><code>0</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein One of <strong class="userinput"><code>yes</code></strong>,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <strong class="userinput"><code>no</code></strong>, <strong class="userinput"><code>notify</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>notify-passive</code></strong>, <strong class="userinput"><code>refresh</code></strong> or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>passive</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When used in a zone, <strong class="userinput"><code>notify-passive</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>refresh</code></strong>, and <strong class="userinput"><code>passive</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are restricted to slave and stub zones.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="address_match_lists"></a>Address Match Lists</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2543308"></a>Syntax</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting"><code class="varname">address_match_list</code> = address_match_list_element ;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> address_match_list_element; ... </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<code class="varname">address_match_list_element</code> = [<span class="optional"> ! </span>] (ip_address [<span class="optional">/length</span>] |
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein key key_id | acl_name | { address_match_list } )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2543336"></a>Definition and Usage</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Address match lists are primarily used to determine access
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein control for various server operations. They are also used in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">listen-on</strong></span> and <span><strong class="command">sortlist</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statements. The elements
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein which constitute an address match list can be any of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a key ID, as defined by the <span><strong class="command">key</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<li>the name of an address match list defined with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">acl</strong></span> statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<li>a nested address match list enclosed in braces</li>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Elements can be negated with a leading exclamation mark (`!'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and the match list names "any", "none", "localhost", and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are predefined. More information on those names can be found in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the description of the acl statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The addition of the key clause made the name of this syntactic
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein element something of a misnomer, since security keys can be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to validate access without regard to a host or network address.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Nonetheless,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the term "address match list" is still used throughout the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein documentation.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When a given IP address or prefix is compared to an address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein match list, the list is traversed in order until an element
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater The interpretation of a match depends on whether the list is being
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for access control, defining listen-on ports, or in a sortlist,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and whether the element was negated.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When used as an access control list, a non-negated match allows
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein access and a negated match denies access. If there is no match,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein access is denied. The clauses <span><strong class="command">allow-notify</strong></span>,
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater <span><strong class="command">allow-query</strong></span>, <span><strong class="command">allow-query-cache</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-transfer</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-update</strong></span>, <span><strong class="command">allow-update-forwarding</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and <span><strong class="command">blackhole</strong></span> all use address match
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews Similarly, the listen-on option will cause the server to not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein queries on any of the machine's addresses which do not match the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Because of the first-match aspect of the algorithm, an element
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that defines a subset of another element in the list should come
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein before the broader element, regardless of whether either is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein negated. For
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">1.2.3/24; ! 1.2.3.13;</strong></span> the 1.2.3.13
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein completely useless because the algorithm will match any lookup for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Using <span><strong class="command">! 1.2.3.13; 1.2.3/24</strong></span> fixes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that problem by having 1.2.3.13 blocked by the negation but all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein other 1.2.3.* hosts fall through.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2543511"></a>Comment Syntax</h3></div></div></div>
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews The <span class="acronym">BIND</span> 9 comment syntax allows for
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews comments to appear
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein anywhere that white space may appear in a <span class="acronym">BIND</span> configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file. To appeal to programmers of all kinds, they can be written
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews<div class="titlepage"><div><div><h4 class="title">
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews<a name="id2543526"></a>Syntax</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">/* This is a <span class="acronym">BIND</span> comment as in C */</pre>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">// This is a <span class="acronym">BIND</span> comment as in C++</pre>
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews<pre class="programlisting"># This is a <span class="acronym">BIND</span> comment as in common UNIX shells and perl</pre>
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews<div class="titlepage"><div><div><h4 class="title">
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<a name="id2543556"></a>Definition and Usage</h4></div></div></div>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews Comments may appear anywhere that whitespace may appear in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a <span class="acronym">BIND</span> configuration file.
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews C-style comments start with the two characters /* (slash,
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater star) and end with */ (star, slash). Because they are completely
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews delimited with these characters, they can be used to comment only
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews a portion of a line or to span multiple lines.
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater C-style comments cannot be nested. For example, the following
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews is not valid because the entire comment ends with the first */:
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews<pre class="programlisting">/* This is the start of a comment.
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews This is still part of the comment.
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews/* This is an incorrect attempt at nesting a comment. */
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews This is no longer in any comment. */
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein C++-style comments start with the two characters // (slash,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein slash) and continue to the end of the physical line. They cannot
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be continued across multiple physical lines; to have one logical
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein comment span multiple lines, each line must use the // pair.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews For example:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">// This is the start of a comment. The next line
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein// is a new comment, even though it is logically
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein// part of the previous comment.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Shell-style (or perl-style, if you prefer) comments start
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews with the character <code class="literal">#</code> (number sign)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and continue to the end of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein physical line, as in C++ comments.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example:
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater<pre class="programlisting"># This is the start of a comment. The next line
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# is a new comment, even though it is logically
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews# part of the previous comment.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein You cannot use the semicolon (`;') character
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to start a comment such as you would in a zone file. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein semicolon indicates the end of a configuration
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<div class="titlepage"><div><div><h2 class="title" style="clear: both">
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<a name="Configuration_File_Grammar"></a>Configuration File Grammar</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A <span class="acronym">BIND</span> 9 configuration consists of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statements and comments.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Statements end with a semicolon. Statements and comments are the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only elements that can appear without enclosing braces. Many
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statements contain a block of sub-statements, which are also
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein terminated with a semicolon.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following statements are supported:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">acl</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein defines a named IP address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein matching list, for access control and other uses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">controls</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein declares control channels to be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein by the <span><strong class="command">rndc</strong></span> utility.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">include</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein includes a file.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">key</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specifies key information for use in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authentication and authorization using TSIG.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">logging</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specifies what the server logs, and where
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the log messages are sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">lwres</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configures <span><strong class="command">named</strong></span> to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein also act as a light weight resolver daemon (<span><strong class="command">lwresd</strong></span>).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">masters</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein defines a named masters list for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein inclusion in stub and slave zone masters clauses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">options</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein controls global server configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein options and sets defaults for other statements.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">server</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sets certain configuration options on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a per-server basis.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">trusted-keys</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein defines trusted DNSSEC keys.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">view</strong></span></p>
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews defines a view.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">zone</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein defines a zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">logging</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">options</strong></span> statements may only occur once
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuration.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2544123"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting"><span><strong class="command">acl</strong></span> acl-name {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address_match_list
c6d486af36165da7eb970354981d145249e342e4Mark Andrews<div class="titlepage"><div><div><h3 class="title">
c6d486af36165da7eb970354981d145249e342e4Mark Andrews<a name="acl"></a><span><strong class="command">acl</strong></span> Statement Definition and
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater The <span><strong class="command">acl</strong></span> statement assigns a symbolic
c6d486af36165da7eb970354981d145249e342e4Mark Andrews name to an address match list. It gets its name from a primary
c6d486af36165da7eb970354981d145249e342e4Mark Andrews use of address match lists: Access Control Lists (ACLs).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that an address match list's name must be defined
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater with <span><strong class="command">acl</strong></span> before it can be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein elsewhere; no
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein forward references are allowed.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater The following ACLs are built-in:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">any</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Matches all hosts.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater <p><span><strong class="command">none</strong></span></p>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater Matches no hosts.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">localhost</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Matches the IPv4 and IPv6 addresses of all network
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interfaces on the system.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">localnets</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Matches any host on an IPv4 or IPv6 network
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for which the system has an interface.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Some systems do not provide a way to determine the prefix
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein local IPv6 addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In such a case, <span><strong class="command">localnets</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only matches the local
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 addresses, just like <span><strong class="command">localhost</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2544381"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting"><span><strong class="command">controls</strong></span> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ inet ( ip_addr | * ) [ port ip_port ] allow { <em class="replaceable"><code> address_match_list </code></em> }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein keys { <em class="replaceable"><code>key_list</code></em> }; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ inet ...; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ unix <em class="replaceable"><code>path</code></em> perm <em class="replaceable"><code>number</code></em> owner <em class="replaceable"><code>number</code></em> group <em class="replaceable"><code>number</code></em> keys { <em class="replaceable"><code>key_list</code></em> }; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ unix ...; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews<a name="controls_statement_definition_and_usage"></a><span><strong class="command">controls</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">controls</strong></span> statement declares control
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein channels to be used by system administrators to control the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein operation of the name server. These control channels are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used by the <span><strong class="command">rndc</strong></span> utility to send
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein commands to and retrieve non-DNS results from a name server.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An <span><strong class="command">inet</strong></span> control channel is a TCP socket
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein listening at the specified <span><strong class="command">ip_port</strong></span> on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified <span><strong class="command">ip_addr</strong></span>, which can be an IPv4 or IPv6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address. An <span><strong class="command">ip_addr</strong></span> of <code class="literal">*</code> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interpreted as the IPv4 wildcard address; connections will be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein accepted on any of the system's IPv4 addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To listen on the IPv6 wildcard address,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use an <span><strong class="command">ip_addr</strong></span> of <code class="literal">::</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If you will only use <span><strong class="command">rndc</strong></span> on the local host,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein using the loopback address (<code class="literal">127.0.0.1</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or <code class="literal">::1</code>) is recommended for maximum security.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If no port is specified, port 953 is used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "<code class="literal">*</code>" cannot be used for <span><strong class="command">ip_port</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The ability to issue commands over the control channel is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein restricted by the <span><strong class="command">allow</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">keys</strong></span> clauses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Connections to the control channel are permitted based on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">address_match_list</strong></span>. This is for simple
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IP address based filtering only; any <span><strong class="command">key_id</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein elements of the <span><strong class="command">address_match_list</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An <span><strong class="command">unix</strong></span> control channel is a UNIX domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein socket listening at the specified path in the file system.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Access to the socket is specified by the <span><strong class="command">perm</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">owner</strong></span> and <span><strong class="command">group</strong></span> clauses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note on some platforms (SunOS and Solaris) the permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (<span><strong class="command">perm</strong></span>) are applied to the parent directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as the permissions on the socket itself are ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The primary authorization mechanism of the command
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein channel is the <span><strong class="command">key_list</strong></span>, which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein contains a list of <span><strong class="command">key_id</strong></span>s.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each <span><strong class="command">key_id</strong></span> in the <span><strong class="command">key_list</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is authorized to execute commands over the control channel.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See <a href="Bv9ARM.ch03.html#rndc">Remote Name Daemon Control application</a> in <a href="Bv9ARM.ch03.html#admin_tools" title="Administrative Tools">the section called “Administrative Tools”</a>)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for information about configuring keys in <span><strong class="command">rndc</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If no <span><strong class="command">controls</strong></span> statement is present,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> will set up a default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein control channel listening on the loopback address 127.0.0.1
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and its IPv6 counterpart ::1.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In this case, and also when the <span><strong class="command">controls</strong></span> statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is present but does not have a <span><strong class="command">keys</strong></span> clause,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> will attempt to load the command channel key
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from the file <code class="filename">rndc.key</code> in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/etc</code> (or whatever <code class="varname">sysconfdir</code>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater was specified as when <span class="acronym">BIND</span> was built).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To create a <code class="filename">rndc.key</code> file, run
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater <strong class="userinput"><code>rndc-confgen -a</code></strong>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The <code class="filename">rndc.key</code> feature was created to
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater ease the transition of systems from <span class="acronym">BIND</span> 8,
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater which did not have digital signatures on its command channel
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews messages and thus did not have a <span><strong class="command">keys</strong></span> clause.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It makes it possible to use an existing <span class="acronym">BIND</span> 8
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuration file in <span class="acronym">BIND</span> 9 unchanged,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and still have <span><strong class="command">rndc</strong></span> work the same way
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">ndc</strong></span> worked in BIND 8, simply by executing the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein command <strong class="userinput"><code>rndc-confgen -a</code></strong> after BIND 9 is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Since the <code class="filename">rndc.key</code> feature
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is only intended to allow the backward-compatible usage of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="acronym">BIND</span> 8 configuration files, this
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews feature does not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein have a high degree of configurability. You cannot easily change
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the key name or the size of the secret, so you should make a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <code class="filename">rndc.conf</code> with your own key if you
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews wish to change
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews those things. The <code class="filename">rndc.key</code> file
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews also has its
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews permissions set such that only the owner of the file (the user that
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span><strong class="command">named</strong></span> is running as) can access it.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein desire greater flexibility in allowing other users to access
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span><strong class="command">rndc</strong></span> commands then you need to create
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <code class="filename">rndc.conf</code> and make it group
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein readable by a group
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that contains the users who should have access.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To disable the command channel, use an empty
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">controls</strong></span> statement:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">controls { };</strong></span>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2544674"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">include <em class="replaceable"><code>filename</code></em>;</pre>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews<a name="id2544689"></a><span><strong class="command">include</strong></span> Statement Definition and
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The <span><strong class="command">include</strong></span> statement inserts the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews specified file at the point where the <span><strong class="command">include</strong></span>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews statement is encountered. The <span><strong class="command">include</strong></span>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews statement facilitates the administration of configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein by permitting the reading or writing of some things but not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein others. For example, the statement could include private keys
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that are readable only by the name server.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="id2544712"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">key <em class="replaceable"><code>key_id</code></em> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein algorithm <em class="replaceable"><code>string</code></em>;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein secret <em class="replaceable"><code>string</code></em>;
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="id2544733"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">key</strong></span> statement defines a shared
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews secret key for use with TSIG (see <a href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called “TSIG”</a>)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or the command channel
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (see <a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage" title="controls Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage">the section called “<span><strong class="command">controls</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage”</a>).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">key</strong></span> statement can occur at the
33682c92e96b39c395cdb2c3feb8eb5914e7d5a8Andreas Gustafsson of the configuration file or inside a <span><strong class="command">view</strong></span>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews statement. Keys defined in top-level <span><strong class="command">key</strong></span>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews statements can be used in all views. Keys intended for use in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a <span><strong class="command">controls</strong></span> statement
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (see <a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage" title="controls Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage">the section called “<span><strong class="command">controls</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage”</a>)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein must be defined at the top level.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <em class="replaceable"><code>key_id</code></em>, also known as the
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews key name, is a domain name uniquely identifying the key. It can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be used in a <span><strong class="command">server</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement to cause requests sent to that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server to be signed with this key, or in address match lists to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein verify that incoming requests have been signed with a key
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein matching this name, algorithm, and secret.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <em class="replaceable"><code>algorithm_id</code></em> is a string
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that specifies a security/authentication algorithm. The only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein algorithm currently supported with TSIG authentication is
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <em class="replaceable"><code>secret_string</code></em> is the secret
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews used by the algorithm, and is treated as a base-64 encoded
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="id2544805"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<pre class="programlisting"><span><strong class="command">logging</strong></span> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ <span><strong class="command">channel</strong></span> <em class="replaceable"><code>channel_name</code></em> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ( <span><strong class="command">file</strong></span> <em class="replaceable"><code>path name</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ <span><strong class="command">versions</strong></span> ( <em class="replaceable"><code>number</code></em> | <span><strong class="command">unlimited</strong></span> ) ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ <span><strong class="command">size</strong></span> <em class="replaceable"><code>size spec</code></em> ]
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater | <span><strong class="command">syslog</strong></span> <em class="replaceable"><code>syslog_facility</code></em>
a53c45b2b8e778663ea51834272169dc946b6672Mark Andrews | <span><strong class="command">stderr</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein | <span><strong class="command">null</strong></span> );
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ <span><strong class="command">severity</strong></span> (<code class="option">critical</code> | <code class="option">error</code> | <code class="option">warning</code> | <code class="option">notice</code> |
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="option">info</code> | <code class="option">debug</code> [ <em class="replaceable"><code>level</code></em> ] | <code class="option">dynamic</code> ); ]
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater [ <span><strong class="command">print-category</strong></span> <code class="option">yes</code> or <code class="option">no</code>; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ <span><strong class="command">print-severity</strong></span> <code class="option">yes</code> or <code class="option">no</code>; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ <span><strong class="command">print-time</strong></span> <code class="option">yes</code> or <code class="option">no</code>; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ <span><strong class="command">category</strong></span> <em class="replaceable"><code>category_name</code></em> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>channel_name</code></em> ; [ <em class="replaceable"><code>channel_name</code></em> ; ... ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2544931"></a><span><strong class="command">logging</strong></span> Statement Definition and
a53c45b2b8e778663ea51834272169dc946b6672Mark Andrews The <span><strong class="command">logging</strong></span> statement configures a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein variety of logging options for the name server. Its <span><strong class="command">channel</strong></span> phrase
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce associates output methods, format options and severity levels with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a name that can then be used with the <span><strong class="command">category</strong></span> phrase
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to select how various classes of messages are logged.
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater Only one <span><strong class="command">logging</strong></span> statement is used to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as many channels and categories as are wanted. If there is no <span><strong class="command">logging</strong></span> statement,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the logging configuration will be:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein category default { default_syslog; default_debug; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein category unmatched { null; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In <span class="acronym">BIND</span> 9, the logging configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is only established when
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the entire configuration file has been parsed. In <span class="acronym">BIND</span> 8, it was
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein established as soon as the <span><strong class="command">logging</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein was parsed. When the server is starting up, all logging messages
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein regarding syntax errors in the configuration file go to the default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein channels, or to standard error if the "<code class="option">-g</code>" option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein was specified.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2545051"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein All log output goes to one or more <span class="emphasis"><em>channels</em></span>;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein you can make as many of them as you want.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Every channel definition must include a destination clause that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein says whether messages selected for the channel go to a file, to a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein particular syslog facility, to the standard error stream, or are
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews discarded. It can optionally also limit the message severity level
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews that will be accepted by the channel (the default is
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews <span><strong class="command">info</strong></span>), and whether to include a
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews <span><strong class="command">named</strong></span>-generated time stamp, the
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews category name
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews and/or severity level (the default is not to include any).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">null</strong></span> destination clause
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews causes all messages sent to the channel to be discarded;
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews in that case, other options for the channel are meaningless.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">file</strong></span> destination clause directs
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater to a disk file. It can include limitations
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein both on how large the file is allowed to become, and how many
cf3f55777b86527d5b00bb39d661c5fe6f9625f2Automatic Updater of the file will be saved each time the file is opened.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If you use the <span><strong class="command">versions</strong></span> log file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein option, then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> will retain that many backup
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein versions of the file by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein renaming them when opening. For example, if you choose to keep 3
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein old versions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the file <code class="filename">lamers.log</code> then just
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein before it is opened
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce <code class="filename">lamers.log.1</code> is renamed to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">lamers.log.2</code>, <code class="filename">lamers.log.0</code> is renamed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to <code class="filename">lamers.log.1</code>, and <code class="filename">lamers.log</code> is
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce renamed to <code class="filename">lamers.log.0</code>.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce You can say <span><strong class="command">versions unlimited</strong></span> to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the number of versions.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If a <span><strong class="command">size</strong></span> option is associated with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the log file,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then renaming is only done when the file being opened exceeds the
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater indicated size. No backup versions are kept by default; any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein log file is simply appended.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">size</strong></span> option for files is used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to limit log
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein growth. If the file ever exceeds the size, then <span><strong class="command">named</strong></span> will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stop writing to the file unless it has a <span><strong class="command">versions</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein associated with it. If backup versions are kept, the files are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein described above and a new one begun. If there is no
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">versions</strong></span> option, no more data will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be written to the log
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein until some out-of-band mechanism removes or truncates the log to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein less than the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein maximum size. The default behavior is not to limit the size of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Example usage of the <span><strong class="command">size</strong></span> and
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <span><strong class="command">versions</strong></span> options:
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<pre class="programlisting">channel an_example_channel {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file "example.log" versions 3 size 20m;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein print-time yes;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein print-category yes;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">syslog</strong></span> destination clause
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein channel to the system log. Its argument is a
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater syslog facility as described in the <span><strong class="command">syslog</strong></span> man
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein page. Known facilities are <span><strong class="command">kern</strong></span>, <span><strong class="command">user</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">mail</strong></span>, <span><strong class="command">daemon</strong></span>, <span><strong class="command">auth</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">syslog</strong></span>, <span><strong class="command">lpr</strong></span>, <span><strong class="command">news</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">uucp</strong></span>, <span><strong class="command">cron</strong></span>, <span><strong class="command">authpriv</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">ftp</strong></span>, <span><strong class="command">local0</strong></span>, <span><strong class="command">local1</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">local2</strong></span>, <span><strong class="command">local3</strong></span>, <span><strong class="command">local4</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">local5</strong></span>, <span><strong class="command">local6</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">local7</strong></span>, however not all facilities
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are supported on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein all operating systems.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein How <span><strong class="command">syslog</strong></span> will handle messages
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this facility is described in the <span><strong class="command">syslog.conf</strong></span> man
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein page. If you have a system which uses a very old version of <span><strong class="command">syslog</strong></span> that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only uses two arguments to the <span><strong class="command">openlog()</strong></span> function,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then this clause is silently ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">severity</strong></span> clause works like <span><strong class="command">syslog</strong></span>'s
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "priorities", except that they can also be used if you are writing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein straight to a file rather than using <span><strong class="command">syslog</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Messages which are not at least of the severity level given will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein not be selected for the channel; messages of higher severity
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be accepted.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If you are using <span><strong class="command">syslog</strong></span>, then the <span><strong class="command">syslog.conf</strong></span> priorities
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will also determine what eventually passes through. For example,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein defining a channel facility and severity as <span><strong class="command">daemon</strong></span> and <span><strong class="command">debug</strong></span> but
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only logging <span><strong class="command">daemon.warning</strong></span> via <span><strong class="command">syslog.conf</strong></span> will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cause messages of severity <span><strong class="command">info</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">notice</strong></span> to
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews be dropped. If the situation were reversed, with <span><strong class="command">named</strong></span> writing
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews messages of only <span><strong class="command">warning</strong></span> or higher,
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews then <span><strong class="command">syslogd</strong></span> would
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein print all messages it received from the channel.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">stderr</strong></span> destination clause
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein channel to the server's standard error stream. This is intended
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use when the server is running as a foreground process, for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein when debugging a configuration.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The server can supply extensive debugging information when
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it is in debugging mode. If the server's global debug level is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein than zero, then debugging mode will be active. The global debug
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein level is set either by starting the <span><strong class="command">named</strong></span> server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with the <code class="option">-d</code> flag followed by a positive integer,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or by running <span><strong class="command">rndc trace</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The global debug level
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein can be set to zero, and debugging mode turned off, by running <span><strong class="command">ndc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinnotrace</strong></span>. All debugging messages in the server have a debug
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein level, and higher debug levels give more detailed output. Channels
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that specify a specific debug severity, for example:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">channel specific_debug_level {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein severity debug 3;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will get debugging output of level 3 or less any time the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server is in debugging mode, regardless of the global debugging
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein level. Channels with <span><strong class="command">dynamic</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein severity use the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server's global debug level to determine what messages to print.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce If <span><strong class="command">print-time</strong></span> has been turned on,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the date and time will be logged. <span><strong class="command">print-time</strong></span> may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be specified for a <span><strong class="command">syslog</strong></span> channel,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein but is usually
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein pointless since <span><strong class="command">syslog</strong></span> also prints
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the date and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein time. If <span><strong class="command">print-category</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein requested, then the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein category of the message will be logged as well. Finally, if <span><strong class="command">print-severity</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on, then the severity level of the message will be logged. The <span><strong class="command">print-</strong></span> options may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be used in any combination, and will always be printed in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein order: time, category, severity. Here is an example where all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein three <span><strong class="command">print-</strong></span> options
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="computeroutput">28-Feb-2000 15:05:32.863 general: notice: running</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein There are four predefined channels that are used for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span>'s default logging as follows.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein How they are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used is described in <a href="Bv9ARM.ch06.html#the_category_phrase" title="The category Phrase">the section called “The <span><strong class="command">category</strong></span> Phrase”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">channel default_syslog {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein syslog daemon; // send to syslog's daemon
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein severity info; // only send priority info
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // and higher
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinchannel default_debug {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // the working directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // Note: stderr is used instead
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // if the server is started
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // with the '-f' option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein severity dynamic; // log at the server's
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // current debug level
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinchannel default_stderr {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stderr; // writes to stderr
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein severity info; // only send priority info
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // and higher
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinchannel null {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein null; // toss anything sent to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // this channel
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">default_debug</strong></span> channel has the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein property that it only produces output when the server's debug
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein nonzero. It normally writes to a file <code class="filename">named.run</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in the server's working directory.
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews For security reasons, when the "<code class="option">-u</code>"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein command line option is used, the <code class="filename">named.run</code> file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is created only after <span><strong class="command">named</strong></span> has
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein changed to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein new UID, and any debug output generated while <span><strong class="command">named</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein starting up and still running as root is discarded. If you need
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce to capture this output, you must run the server with the "<code class="option">-g</code>"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce option and redirect standard error to a file.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Once a channel is defined, it cannot be redefined. Thus you
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cannot alter the built-in channels directly, but you can modify
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the default logging by pointing categories at channels you have
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="the_category_phrase"></a>The <span><strong class="command">category</strong></span> Phrase</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein There are many categories, so you can send the logs you want
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to see wherever you want, without seeing logs you don't want. If
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein you don't specify a list of channels for a category, then log
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in that category will be sent to the <span><strong class="command">default</strong></span> category
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein instead. If you don't specify a default category, the following
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "default default" is used:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">category default { default_syslog; default_debug; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein As an example, let's say you want to log security events to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a file, but you also want keep the default logging behavior. You'd
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specify the following:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">channel my_security_channel {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file "my_security_file";
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein severity info;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeincategory security {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein my_security_channel;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein default_syslog;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein default_debug;
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater To discard all messages in a category, specify the <span><strong class="command">null</strong></span> channel:
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater<pre class="programlisting">category xfer-out { null; };
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updatercategory notify { null; };
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Following are the available categories and brief descriptions
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater of the types of log information they contain. More
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater categories may be added in future <span class="acronym">BIND</span> releases.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater<div class="informaltable"><table border="1">
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater <p><span><strong class="command">default</strong></span></p>
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The default category defines the logging
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater options for those categories where no specific
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce configuration has been
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews <p><span><strong class="command">general</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The catch-all. Many things still aren't
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein classified into categories, and they all end up here.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">database</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Messages relating to the databases used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein internally by the name server to store zone and cache
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">security</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Approval and denial of requests.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">config</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Configuration file parsing and processing.
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson <p><span><strong class="command">resolver</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNS resolution, such as the recursive
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lookups performed on behalf of clients by a caching name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">xfer-in</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Zone transfers the server is receiving.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">xfer-out</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Zone transfers the server is sending.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">notify</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The NOTIFY protocol.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">client</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Processing of client requests.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">unmatched</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Messages that named was unable to determine the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein class of or for which there was no matching <span><strong class="command">view</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A one line summary is also logged to the <span><strong class="command">client</strong></span> category.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This category is best sent to a file or stderr, by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein default it is sent to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">null</strong></span> channel.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">network</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Network operations.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">update</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Dynamic updates.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">update-security</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Approval and denial of update requests.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">queries</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specify where queries should be logged to.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein At startup, specifing the category <span><strong class="command">queries</strong></span> will also
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein enable query logging unless <span><strong class="command">querylog</strong></span> option has been
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The query log entry reports the client's IP address and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein port number. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein query name, class and type. It also reports whether the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Recursion Desired
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein flag was set (+ if set, - if not set), EDNS was in use
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (E) or if the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein query was signed (S).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="computeroutput">client 127.0.0.1#62536: query: www.example.com IN AAAA +SE</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="computeroutput">client ::1#62537: query: www.example.net IN AAAA -SE</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">dispatch</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Dispatching of incoming packets to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server modules where they are to be processed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">dnssec</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNSSEC and TSIG protocol processing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">lame-servers</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Lame servers. These are misconfigurations
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in remote servers, discovered by BIND 9 when trying to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein those servers during resolution.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">delegation-only</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Delegation only. Logs queries that have have
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein been forced to NXDOMAIN as the result of a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein delegation-only zone or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a <span><strong class="command">delegation-only</strong></span> in a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein hint or stub zone declaration.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2546486"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is the grammar of the <span><strong class="command">lwres</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement in the <code class="filename">named.conf</code> file:
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews<pre class="programlisting"><span><strong class="command">lwres</strong></span> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> listen-on { <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; ... </span>] }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> view <em class="replaceable"><code>view_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> search { <em class="replaceable"><code>domain_name</code></em> ; [<span class="optional"> <em class="replaceable"><code>domain_name</code></em> ; ... </span>] }; </span>]
47b6d855e3a569e46ec2481dd1abb62e99752817Mark Andrews [<span class="optional"> ndots <em class="replaceable"><code>number</code></em>; </span>]
47b6d855e3a569e46ec2481dd1abb62e99752817Mark Andrews<div class="titlepage"><div><div><h3 class="title">
47b6d855e3a569e46ec2481dd1abb62e99752817Mark Andrews<a name="id2546560"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
64affc54f96a2c71cbd10ed71e246ce0746259aaAutomatic Updater The <span><strong class="command">lwres</strong></span> statement configures the
64affc54f96a2c71cbd10ed71e246ce0746259aaAutomatic Updater server to also act as a lightweight resolver server, see
64affc54f96a2c71cbd10ed71e246ce0746259aaAutomatic Updater <a href="Bv9ARM.ch05.html#lwresd" title="Running a Resolver Daemon">the section called “Running a Resolver Daemon”</a>. There may be be multiple
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">lwres</strong></span> statements configuring
47b6d855e3a569e46ec2481dd1abb62e99752817Mark Andrews lightweight resolver servers with different properties.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">listen-on</strong></span> statement specifies a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein addresses (and ports) that this instance of a lightweight resolver
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein should accept requests on. If no port is specified, port 921 is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If this statement is omitted, requests will be accepted on
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The <span><strong class="command">view</strong></span> statement binds this
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater lightweight resolver daemon to a view in the DNS namespace, so that
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater response will be constructed in the same manner as a normal DNS
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater matching this view. If this statement is omitted, the default view
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used, and if there is no default view, an error is triggered.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">search</strong></span> statement is equivalent to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">search</strong></span> statement in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/etc/resolv.conf</code>. It provides a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list of domains
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein which are appended to relative names in queries.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">ndots</strong></span> statement is equivalent to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">ndots</strong></span> statement in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/etc/resolv.conf</code>. It indicates the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein number of dots in a relative domain name that should result in an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein exact match lookup before search path elements are appended.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2546624"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<span><strong class="command">masters</strong></span> <em class="replaceable"><code>name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2546667"></a><span><strong class="command">masters</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">masters</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lists allow for a common set of masters to be easily used by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein multiple stub and slave zones.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<div class="titlepage"><div><div><h3 class="title">
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<a name="id2546682"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater This is the grammar of the <span><strong class="command">options</strong></span>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater statement in the <code class="filename">named.conf</code> file:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> version <em class="replaceable"><code>version_string</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> hostname <em class="replaceable"><code>hostname_string</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> server-id <em class="replaceable"><code>server_id_string</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> directory <em class="replaceable"><code>path_name</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> key-directory <em class="replaceable"><code>path_name</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> named-xfer <em class="replaceable"><code>path_name</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> tkey-domain <em class="replaceable"><code>domainname</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> tkey-dhkey <em class="replaceable"><code>key_name</code></em> <em class="replaceable"><code>key_tag</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> dump-file <em class="replaceable"><code>path_name</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> memstatistics-file <em class="replaceable"><code>path_name</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> pid-file <em class="replaceable"><code>path_name</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> statistics-file <em class="replaceable"><code>path_name</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> zone-statistics <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> auth-nxdomain <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> deallocate-on-exit <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> dialup <em class="replaceable"><code>dialup_option</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> fake-iquery <em class="replaceable"><code>yes_or_no</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> fetch-glue <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> flush-zones-on-shutdown <em class="replaceable"><code>yes_or_no</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> has-old-clients <em class="replaceable"><code>yes_or_no</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> host-statistics <em class="replaceable"><code>yes_or_no</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> host-statistics-max <em class="replaceable"><code>number</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> minimal-responses <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> multiple-cnames <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> notify <em class="replaceable"><code>yes_or_no</code></em> | <em class="replaceable"><code>explicit</code></em> | <em class="replaceable"><code>master-only</code></em>; </span>]
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater [<span class="optional"> recursion <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> rfc2308-type1 <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> use-id-pool <em class="replaceable"><code>yes_or_no</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> maintain-ixfr-base <em class="replaceable"><code>yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> dnssec-enable <em class="replaceable"><code>yes_or_no</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> dnssec-lookaside <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em>; </span>]
12351e0500dff39f56844401fd191a36bcc4a7adMark Andrews [<span class="optional"> dnssec-must-be-secure <em class="replaceable"><code>domain yes_or_no</code></em>; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> forward ( <em class="replaceable"><code>only</code></em> | <em class="replaceable"><code>first</code></em> ); </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> forwarders { [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; ... </span>] }; </span>]
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews [<span class="optional"> dual-stack-servers [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ( <em class="replaceable"><code>domain_name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] |
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ) ;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ... }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> check-names ( <em class="replaceable"><code>master</code></em> | <em class="replaceable"><code>slave</code></em> | <em class="replaceable"><code>response</code></em> )
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater [<span class="optional"> check-mx ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> check-wildcard <em class="replaceable"><code>yes_or_no</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> check-integrity <em class="replaceable"><code>yes_or_no</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> check-sibling <em class="replaceable"><code>yes_or_no</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-notify { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-query-cache { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-transfer { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-recursion { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-update { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-update-forwarding { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> allow-v6-synthesis { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> blackhole { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> avoid-v4-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> avoid-v6-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> listen-on [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em> </span>] { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> listen-on-v6 [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em> </span>] { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> query-source ( ( <em class="replaceable"><code>ip4_addr</code></em> | <em class="replaceable"><code>*</code></em> )
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] |
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> address ( <em class="replaceable"><code>ip4_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] ) ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> query-source-v6 ( ( <em class="replaceable"><code>ip6_addr</code></em> | <em class="replaceable"><code>*</code></em> )
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] |
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> address ( <em class="replaceable"><code>ip6_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] ) ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-transfer-time-in <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-transfer-time-out <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-transfer-idle-in <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-transfer-idle-out <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> tcp-clients <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> recursive-clients <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> serial-query-rate <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> serial-queries <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> tcp-listen-queue <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> transfer-format <em class="replaceable"><code>( one-answer | many-answers )</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> transfers-in <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> transfers-out <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> transfers-per-ns <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> transfer-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> alt-transfer-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> alt-transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> use-alt-transfer-source <em class="replaceable"><code>yes_or_no</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> notify-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> notify-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> also-notify { <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; ... </span>] }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-ixfr-log-size <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-journal-size <em class="replaceable"><code>size_spec</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> coresize <em class="replaceable"><code>size_spec</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> datasize <em class="replaceable"><code>size_spec</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> files <em class="replaceable"><code>size_spec</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> stacksize <em class="replaceable"><code>size_spec</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> cleaning-interval <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> heartbeat-interval <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> interface-interval <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> statistics-interval <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> topology { <em class="replaceable"><code>address_match_list</code></em> }</span>];
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> sortlist { <em class="replaceable"><code>address_match_list</code></em> }</span>];
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> rrset-order { <em class="replaceable"><code>order_spec</code></em> ; [<span class="optional"> <em class="replaceable"><code>order_spec</code></em> ; ... </span>] </span>] };
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> lame-ttl <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-ncache-ttl <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-cache-ttl <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> sig-validity-interval <em class="replaceable"><code>number</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> min-roots <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> use-ixfr <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> provide-ixfr <em class="replaceable"><code>yes_or_no</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> request-ixfr <em class="replaceable"><code>yes_or_no</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> treat-cr-as-space <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> min-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> min-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> additional-from-auth <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> additional-from-cache <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> random-device <em class="replaceable"><code>path_name</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-cache-size <em class="replaceable"><code>size_spec</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> match-mapped-addresses <em class="replaceable"><code>yes_or_no</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> preferred-glue ( <em class="replaceable"><code>A</code></em> | <em class="replaceable"><code>AAAA</code></em> | <em class="replaceable"><code>NONE</code></em> ); </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> edns-udp-size <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> root-delegation-only [<span class="optional"> exclude { <em class="replaceable"><code>namelist</code></em> } </span>] ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> querylog <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> disable-algorithms <em class="replaceable"><code>domain</code></em> { <em class="replaceable"><code>algorithm</code></em>; [<span class="optional"> <em class="replaceable"><code>algorithm</code></em>; </span>] }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> use-additional-cache <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> acache-cleaning-interval <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-acache-size <em class="replaceable"><code>size_spec</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> max-clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> masterfile-format (<code class="constant">text</code>|<code class="constant">raw</code>) ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> empty-server <em class="replaceable"><code>name</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> empty-contact <em class="replaceable"><code>name</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> empty-zones-enable <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> disable-empty-zone <em class="replaceable"><code>zone_name</code></em> ; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<div class="titlepage"><div><div><h3 class="title">
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<a name="options"></a><span><strong class="command">options</strong></span> Statement Definition and
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The <span><strong class="command">options</strong></span> statement sets up global
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater to be used by <span class="acronym">BIND</span>. This statement
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater may appear only
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater once in a configuration file. If there is no <span><strong class="command">options</strong></span>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater statement, an options block with each option set to its default will
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">directory</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The working directory of the server.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Any non-absolute pathnames in the configuration file will be
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater as relative to this directory. The default location for most
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater output files (e.g. <code class="filename">named.run</code>)
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater is this directory.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater If a directory is not specified, the working directory
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater defaults to `<code class="filename">.</code>', the directory from
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater which the server
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater was started. The directory specified should be an absolute
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">key-directory</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater When performing dynamic update of secure zones, the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater directory where the public and private key files should be
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater if different than the current working directory. The
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater directory specified
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater must be an absolute path.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">named-xfer</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <span class="emphasis"><em>This option is obsolete.</em></span>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater It was used in <span class="acronym">BIND</span> 8 to
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater specify the pathname to the <span><strong class="command">named-xfer</strong></span> program.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater In <span class="acronym">BIND</span> 9, no separate <span><strong class="command">named-xfer</strong></span> program is
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater needed; its functionality is built into the name server.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">tkey-domain</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The domain appended to the names of all
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater shared keys generated with
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <span><strong class="command">TKEY</strong></span>. When a client
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater requests a <span><strong class="command">TKEY</strong></span> exchange, it
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater may or may not specify
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the desired name for the key. If present, the name of the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater key will be "<code class="varname">client specified part</code>" +
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater "<code class="varname">tkey-domain</code>".
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Otherwise, the name of the shared key will be "<code class="varname">random hex
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updaterdigits</code>" + "<code class="varname">tkey-domain</code>". In most cases,
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the <span><strong class="command">domainname</strong></span> should be the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater server's domain
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">tkey-dhkey</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The Diffie-Hellman key used by the server
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater to generate shared keys with clients using the Diffie-Hellman
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater of <span><strong class="command">TKEY</strong></span>. The server must be
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater able to load the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater public and private keys from files in the working directory.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater most cases, the keyname should be the server's host name.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">dump-file</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The pathname of the file the server dumps
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the database to when instructed to do so with
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <span><strong class="command">rndc dumpdb</strong></span>.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater If not specified, the default is <code class="filename">named_dump.db</code>.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">memstatistics-file</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The pathname of the file the server writes memory
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater usage statistics to on exit. If not specified,
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the default is
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <code class="filename">named.memstats</code>.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">pid-file</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The pathname of the file the server writes its process ID
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater in. If not specified, the default is <code class="filename">/var/run/named.pid</code>.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The pid-file is used by programs that want to send signals to
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater name server. Specifying <span><strong class="command">pid-file none</strong></span> disables the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater use of a PID file — no file will be written and any
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater existing one will be removed. Note that <span><strong class="command">none</strong></span>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater is a keyword, not a file name, and therefore is not enclosed
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater double quotes.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">statistics-file</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The pathname of the file the server appends statistics
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater to when instructed to do so using <span><strong class="command">rndc stats</strong></span>.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater If not specified, the default is <code class="filename">named.stats</code> in the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater server's current directory. The format of the file is
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater in <a href="Bv9ARM.ch06.html#statsfile" title="The Statistics File">the section called “The Statistics File”</a>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">port</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The UDP/TCP port number the server uses for
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater receiving and sending DNS protocol traffic.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The default is 53. This option is mainly intended for server
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater a server using a port other than 53 will not be able to
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater communicate with
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the global DNS.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<dt><span class="term"><span><strong class="command">random-device</strong></span></span></dt>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The source of entropy to be used by the server. Entropy is
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater primarily needed
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater for DNSSEC operations, such as TKEY transactions and dynamic
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater update of signed
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater zones. This options specifies the device (or file) from which
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater entropy. If this is a file, operations requiring entropy will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fail when the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file has been exhausted. If not specified, the default value
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (or equivalent) when present, and none otherwise. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">random-device</strong></span> option takes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein effect during
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the initial configuration load at server startup time and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is ignored on subsequent reloads.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater<dt><span class="term"><span><strong class="command">preferred-glue</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If specified the listed type (A or AAAA) will be emitted
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein before other glue
4e243fdc6b33a6371208b48d64912d8e327b4f5cAndreas Gustafsson in the additional section of a query response.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is not to preference any type (NONE).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">root-delegation-only</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Turn on enforcement of delegation-only in TLDs and root zones
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with an optional
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein exclude list.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note some TLDs are NOT delegation only (e.g. "DE", "LV", "US"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and "MUSEUM").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein root-delegation-only exclude { "de"; "lv"; "us"; "museum"; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">disable-algorithms</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Disable the specified DNSSEC algorithms at and below the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified name.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Multiple <span><strong class="command">disable-algorithms</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statements are allowed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Only the most specific will be applied.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dnssec-lookaside</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When set <span><strong class="command">dnssec-lookaside</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein provides the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein validator with an alternate method to validate DNSKEY records
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein top of a zone. When a DNSKEY is at or below a domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein deepest <span><strong class="command">dnssec-lookaside</strong></span>, and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the normal dnssec validation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein has left the key untrusted, the trust-anchor will be append to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name and a DLV record will be looked up to see if it can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein validate the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein key. If the DLV record validates a DNSKEY (similarly to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein record does) the DNSKEY RRset is deemed to be trusted.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dnssec-must-be-secure</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specify hierarchies which must / may not be secure (signed and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>yes</code></strong> then named will only accept
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein answers if they
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>no</code></strong> then normal dnssec validation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allowing for insecure answers to be accepted.
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater The specified domain must be under a <span><strong class="command">trusted-key</strong></span> or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dnssec-lookaside</strong></span> must be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="boolean_options"></a>Boolean Options</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">auth-nxdomain</strong></span></span></dt>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If <strong class="userinput"><code>yes</code></strong>, then the <span><strong class="command">AA</strong></span> bit
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater is always set on NXDOMAIN responses, even if the server is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authoritative. The default is <strong class="userinput"><code>no</code></strong>;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a change from <span class="acronym">BIND</span> 8. If you
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are using very old DNS software, you
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater may need to set it to <strong class="userinput"><code>yes</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">deallocate-on-exit</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option was used in <span class="acronym">BIND</span>
a53c45b2b8e778663ea51834272169dc946b6672Mark Andrews 8 to enable checking
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater for memory leaks on exit. <span class="acronym">BIND</span> 9 ignores the option and always performs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dialup</strong></span></span></dt>
0284e57b9b9dfaf2517a2cc3282ecf766b8ad075Automatic Updater If <strong class="userinput"><code>yes</code></strong>, then the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server treats all zones as if they are doing zone transfers
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews a dial on demand dialup link, which can be brought up by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein originating from this server. This has different effects
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to zone type and concentrates the zone maintenance so that
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews happens in a short interval, once every <span><strong class="command">heartbeat-interval</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein hopefully during the one call. It also suppresses some of
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews zone maintenance traffic. The default is <strong class="userinput"><code>no</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">dialup</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may also be specified in the <span><strong class="command">view</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">zone</strong></span> statements,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in which case it overrides the global <span><strong class="command">dialup</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If the zone is a master zone then the server will send out a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein request to all the slaves (default). This should trigger the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein number check in the slave (providing it supports NOTIFY)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allowing the slave
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to verify the zone while the connection is active.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The set of servers to which NOTIFY is sent can be controlled
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater <span><strong class="command">notify</strong></span> and <span><strong class="command">also-notify</strong></span>.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater zone is a slave or stub zone, then the server will suppress
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews "zone up to date" (refresh) queries and only perform them
7326ba2f542b89196323867a1457f596f99e315dMark Andrews <span><strong class="command">heartbeat-interval</strong></span> expires in
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews addition to sending
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews NOTIFY requests.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Finer control can be achieved by using
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <strong class="userinput"><code>notify</code></strong> which only sends NOTIFY
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews <strong class="userinput"><code>notify-passive</code></strong> which sends NOTIFY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein messages and
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews suppresses the normal refresh queries, <strong class="userinput"><code>refresh</code></strong>
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews which suppresses normal refresh processing and sends refresh
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews when the <span><strong class="command">heartbeat-interval</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>passive</code></strong> which just disables normal
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater normal refresh
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews heart-beat refresh
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews heart-beat notify
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">no</strong></span> (default)</p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">yes</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">notify</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">refresh</strong></span></p>
df6faef67126d1277b0f21defd41c54994bf6fcfMark Andrews <p><span><strong class="command">passive</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">notify-passive</strong></span></p>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater Note that normal NOTIFY processing is not affected by
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater <span><strong class="command">dialup</strong></span>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">fake-iquery</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater In <span class="acronym">BIND</span> 8, this option
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater enabled simulating the obsolete DNS query type
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater IQUERY. <span class="acronym">BIND</span> 9 never does
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater IQUERY simulation.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">fetch-glue</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater This option is obsolete.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater In BIND 8, <strong class="userinput"><code>fetch-glue yes</code></strong>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater caused the server to attempt to fetch glue resource records
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater didn't have when constructing the additional
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater data section of a response. This is now considered a bad
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater and BIND 9 never does it.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">flush-zones-on-shutdown</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater When the nameserver exits due receiving SIGTERM,
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater flush / do not flush any pending zone writes. The default
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater <span><strong class="command">flush-zones-on-shutdown</strong></span> <strong class="userinput"><code>no</code></strong>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">has-old-clients</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater This option was incorrectly implemented
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater in <span class="acronym">BIND</span> 8, and is ignored by <span class="acronym">BIND</span> 9.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater To achieve the intended effect
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater <span><strong class="command">has-old-clients</strong></span> <strong class="userinput"><code>yes</code></strong>, specify
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater the two separate options <span><strong class="command">auth-nxdomain</strong></span> <strong class="userinput"><code>yes</code></strong>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater and <span><strong class="command">rfc2308-type1</strong></span> <strong class="userinput"><code>no</code></strong> instead.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">host-statistics</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater In BIND 8, this enables keeping of
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater statistics for every host that the name server interacts
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater Not implemented in BIND 9.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">maintain-ixfr-base</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater <span class="emphasis"><em>This option is obsolete</em></span>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater It was used in <span class="acronym">BIND</span> 8 to
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater determine whether a transaction log was
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater kept for Incremental Zone Transfer. <span class="acronym">BIND</span> 9 maintains a transaction
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater log whenever possible. If you need to disable outgoing
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater incremental zone
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater transfers, use <span><strong class="command">provide-ixfr</strong></span> <strong class="userinput"><code>no</code></strong>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">minimal-responses</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater If <strong class="userinput"><code>yes</code></strong>, then when generating
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater responses the server will only add records to the authority
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater and additional data sections when they are required (e.g.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater delegations, negative responses). This may improve the
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater performance of the server.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater The default is <strong class="userinput"><code>no</code></strong>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">multiple-cnames</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater This option was used in <span class="acronym">BIND</span> 8 to allow
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater a domain name to have multiple CNAME records in violation of
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater the DNS standards. <span class="acronym">BIND</span> 9.2 onwards
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater always strictly enforces the CNAME rules both in master
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater files and dynamic updates.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">notify</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater If <strong class="userinput"><code>yes</code></strong> (the default),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNS NOTIFY messages are sent when a zone the server is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authoritative for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein changes, see <a href="Bv9ARM.ch04.html#notify" title="Notify">the section called “Notify”</a>. The messages are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers listed in the zone's NS records (except the master
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server identified
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in the SOA MNAME field), and to any servers listed in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">also-notify</strong></span> option.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If <strong class="userinput"><code>master-only</code></strong>, notifies are only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for master zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>explicit</code></strong>, notifies are sent only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers explicitly listed using <span><strong class="command">also-notify</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>no</code></strong>, no notifies are sent.
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater The <span><strong class="command">notify</strong></span> option may also be
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater specified in the <span><strong class="command">zone</strong></span>
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater in which case it overrides the <span><strong class="command">options notify</strong></span> statement.
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater It would only be necessary to turn off this option if it
0284e57b9b9dfaf2517a2cc3282ecf766b8ad075Automatic Updater<dt><span class="term"><span><strong class="command">recursion</strong></span></span></dt>
0284e57b9b9dfaf2517a2cc3282ecf766b8ad075Automatic Updater If <strong class="userinput"><code>yes</code></strong>, and a
0284e57b9b9dfaf2517a2cc3282ecf766b8ad075Automatic Updater DNS query requests recursion, then the server will attempt
0284e57b9b9dfaf2517a2cc3282ecf766b8ad075Automatic Updater all the work required to answer the query. If recursion is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and the server does not already know the answer, it will
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews referral response. The default is
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews <strong class="userinput"><code>yes</code></strong>.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews Note that setting <span><strong class="command">recursion no</strong></span> does not prevent
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews clients from getting data from the server's cache; it only
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews prevents new data from being cached as an effect of client
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater Caching may still occur as an effect the server's internal
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater operation, such as NOTIFY address lookups.
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater See also <span><strong class="command">fetch-glue</strong></span> above.
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater<dt><span class="term"><span><strong class="command">rfc2308-type1</strong></span></span></dt>
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews Setting this to <strong class="userinput"><code>yes</code></strong> will
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews cause the server to send NS records along with the SOA
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews record for negative
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews answers. The default is <strong class="userinput"><code>no</code></strong>.
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater Not yet implemented in <span class="acronym">BIND</span>
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater<dt><span class="term"><span><strong class="command">use-id-pool</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>This option is obsolete</em></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="acronym">BIND</span> 9 always allocates query
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews IDs from a pool.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews<dt><span class="term"><span><strong class="command">zone-statistics</strong></span></span></dt>
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews If <strong class="userinput"><code>yes</code></strong>, the server will collect
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater statistical data on all zones (unless specifically turned
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews on a per-zone basis by specifying <span><strong class="command">zone-statistics no</strong></span>
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews in the <span><strong class="command">zone</strong></span> statement).
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews These statistics may be accessed
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews using <span><strong class="command">rndc stats</strong></span>, which will
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews dump them to the file listed
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews in the <span><strong class="command">statistics-file</strong></span>. See
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater also <a href="Bv9ARM.ch06.html#statsfile" title="The Statistics File">the section called “The Statistics File”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">use-ixfr</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>This option is obsolete</em></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If you need to disable IXFR to a particular server or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the information on the <span><strong class="command">provide-ixfr</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in <a href="Bv9ARM.ch06.html#server_statement_definition_and_usage" title="server Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage">the section called “<span><strong class="command">server</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch04.html#incremental_zone_transfers" title="Incremental Zone Transfers (IXFR)">the section called “Incremental Zone Transfers (IXFR)”</a>.
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark Andrews<dt><span class="term"><span><strong class="command">provide-ixfr</strong></span></span></dt>
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark Andrews See the description of
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark Andrews <span><strong class="command">provide-ixfr</strong></span> in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch06.html#server_statement_definition_and_usage" title="server Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage">the section called “<span><strong class="command">server</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage”</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">request-ixfr</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">request-ixfr</strong></span> in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch06.html#server_statement_definition_and_usage" title="server Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage">the section called “<span><strong class="command">server</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage”</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">treat-cr-as-space</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option was used in <span class="acronym">BIND</span>
18fa75b694d056da4be3ebfc2185d007d4882752Automatic Updater the server treat carriage return ("<span><strong class="command">\r</strong></span>") characters the same way
18fa75b694d056da4be3ebfc2185d007d4882752Automatic Updater as a space or tab character,
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater to facilitate loading of zone files on a UNIX system that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein were generated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on an NT or DOS machine. In <span class="acronym">BIND</span> 9, both UNIX "<span><strong class="command">\n</strong></span>"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and NT/DOS "<span><strong class="command">\r\n</strong></span>" newlines
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are always accepted,
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews and the option is ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<span class="term"><span><strong class="command">additional-from-auth</strong></span>, </span><span class="term"><span><strong class="command">additional-from-cache</strong></span></span>
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews These options control the behavior of an authoritative
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews answering queries which have additional data, or when
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews following CNAME
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and DNAME chains.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When both of these options are set to <strong class="userinput"><code>yes</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (the default) and a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein query is being answered from authoritative data (a zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configured into the server), the additional data section of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein reply will be filled in using data from other authoritative
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater and from the cache. In some situations this is undesirable,
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater as when there is concern over the correctness of the cache,
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater in servers where slave zones may be added and modified by
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater untrusted third parties. Also, avoiding
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater the search for this additional data will speed up server
1238b38c9f0ab563b762dc0fd00ac6c34c2b7295Automatic Updater at the possible expense of additional queries to resolve
1238b38c9f0ab563b762dc0fd00ac6c34c2b7295Automatic Updater otherwise be provided in the additional section.
1238b38c9f0ab563b762dc0fd00ac6c34c2b7295Automatic Updater For example, if a query asks for an MX record for host <code class="literal">foo.example.com</code>,
1238b38c9f0ab563b762dc0fd00ac6c34c2b7295Automatic Updater and the record found is "<code class="literal">MX 10 mail.example.net</code>", normally the address
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater records (A and AAAA) for <code class="literal">mail.example.net</code> will be provided as well,
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater if known, even though they are not in the example.com zone.
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater Setting these options to <span><strong class="command">no</strong></span>
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater disables this behavior and makes
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater the server only search for additional data in the zone it
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater These options are intended for use in authoritative-only
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater servers, or in authoritative-only views. Attempts to set
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater them to <span><strong class="command">no</strong></span> without also
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater <span><strong class="command">recursion no</strong></span> will cause the
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater ignore the options and log a warning message.
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater Specifying <span><strong class="command">additional-from-cache no</strong></span> actually
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater disables the use of the cache not only for additional data
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater but also when looking up the answer. This is usually the
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater behavior in an authoritative-only server where the
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater correctness of
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater the cached data is an issue.
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater When a name server is non-recursively queried for a name
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater below the apex of any served zone, it normally answers with
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater "upwards referral" to the root servers or the servers of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein known parent of the query name. Since the data in an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein upwards referral
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein comes from the cache, the server will not be able to provide
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein referrals when <span><strong class="command">additional-from-cache no</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein has been specified. Instead, it will respond to such
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with REFUSED. This should not cause any problems since
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein upwards referrals are not required for the resolution
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">match-mapped-addresses</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>yes</code></strong>, then an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4-mapped IPv6 address will match any address match
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list entries that match the corresponding IPv4 address.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Enabling this option is sometimes useful on IPv6-enabled
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein systems, to work around a kernel quirk that causes IPv4
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein TCP connections such as zone transfers to be accepted
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on an IPv6 socket using mapped addresses, causing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address match lists designed for IPv4 to fail to match.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The use of this option for any other purpose is discouraged.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">ixfr-from-differences</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When 'yes' and the server loads a new version of a master
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone from its zone file or receives a new version of a slave
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews file by a non-incremental zone transfer, it will compare
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the new version to the previous one and calculate a set
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of differences. The differences are then logged in the
285254345ce5ab270848f8c11f7be146793f1e00Mark Andrews zone's journal file such that the changes can be transmitted
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to downstream slaves as an incremental zone transfer.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater By allowing incremental zone transfers to be used for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein non-dynamic zones, this option saves bandwidth at the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein expense of increased CPU and memory consumption at the
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater In particular, if the new version of a zone is completely
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein different from the previous one, the set of differences
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be of a size comparable to the combined size of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein old and new zone version, and the server will need to
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater temporarily allocate memory to hold this complete
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater difference set.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<p><span><strong class="command">ixfr-from-differences</strong></span>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater also accepts <span><strong class="command">master</strong></span> and
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater <span><strong class="command">slave</strong></span> at the view and options
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater levels which causes
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater <span><strong class="command">ixfr-from-differences</strong></span> to apply to
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater all <span><strong class="command">master</strong></span> or
d3907d27cc138f45772d3d63082ae02c7659148aAutomatic Updater <span><strong class="command">slave</strong></span> zones respectively.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<dt><span class="term"><span><strong class="command">multi-master</strong></span></span></dt>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater This should be set when you have multiple masters for a zone
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater addresses refer to different machines. If 'yes' named will
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater when the serial number on the master is less than what named
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater has. The default is <strong class="userinput"><code>no</code></strong>.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<dt><span class="term"><span><strong class="command">dnssec-enable</strong></span></span></dt>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater Enable DNSSEC support in named. Unless set to <strong class="userinput"><code>yes</code></strong>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater named behaves as if it does not support DNSSEC.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater The default is <strong class="userinput"><code>no</code></strong>.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<dt><span class="term"><span><strong class="command">querylog</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specify whether query logging should be started when named
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">querylog</strong></span> is not specified
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews then the query logging
3970098dcd2a7122541667b4b56cea8abce8ccf2Mark Andrews is determined by the presence of the logging category <span><strong class="command">queries</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-names</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option is used to restrict the character set and syntax
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein certain domain names in master files and/or DNS responses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from the network. The default varies according to usage
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">master</strong></span> zones the default is <span><strong class="command">fail</strong></span>.
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater For <span><strong class="command">slave</strong></span> zones the default
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater is <span><strong class="command">warn</strong></span>.
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater For answer received from the network (<span><strong class="command">response</strong></span>)
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater the default is <span><strong class="command">ignore</strong></span>.
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater The rules for legal hostnames / mail domains are derived
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater from RFC 952 and RFC 821 as modified by RFC 1123.
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater<p><span><strong class="command">check-names</strong></span>
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater applies to the owner names of A, AAA and MX records.
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater It also applies to the domain names in the RDATA of NS, SOA
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater and MX records.
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater It also applies to the RDATA of PTR records where the owner
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater name indicated that it is a reverse lookup of a hostname
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater (the owner name ends in IN-ADDR.ARPA, IP6.ARPA or IP6.INT).
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater<dt><span class="term"><span><strong class="command">check-mx</strong></span></span></dt>
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater Check whether the MX record appears to refer to a IP address.
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater The default is to <span><strong class="command">warn</strong></span>. Other possible
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater values are <span><strong class="command">fail</strong></span> and
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater <span><strong class="command">ignore</strong></span>.
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater<dt><span class="term"><span><strong class="command">check-wildcard</strong></span></span></dt>
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater This option is used to check for non-terminal wildcards.
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater The use of non-terminal wildcards is almost always as a
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater result of a failure
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater to understand the wildcard matching algorithm (RFC 1034).
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater affects master zones. The default (<span><strong class="command">yes</strong></span>) is to check
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater for non-terminal wildcards and issue a warning.
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater<dt><span class="term"><span><strong class="command">check-integrity</strong></span></span></dt>
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater Perform post load zone integrity checks on master
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater zones. This checks that MX and SRV records refer
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater to address (A or AAAA) records and that glue
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater address records exist for delegated zones. For
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater MX and SRV records only in-zone hostnames are
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater checked (for out-of-zone hostnames use named-checkzone).
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater For NS records only names below top of zone are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein checked (for out-of-zone names and glue consistancy
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein checks use named-checkzone). The default is
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater <span><strong class="command">yes</strong></span>.
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater<dt><span class="term"><span><strong class="command">check-sibling</strong></span></span></dt>
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater When performing integrity checks also check that
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater sibling glue exists. The default is <span><strong class="command">yes</strong></span>.
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater<div class="titlepage"><div><div><h4 class="title">
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater<a name="id2550204"></a>Forwarding</h4></div></div></div>
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater The forwarding facility can be used to create a large site-wide
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater cache on a few servers, reducing traffic over links to external
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater name servers. It can also be used to allow queries by servers that
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater do not have direct access to the Internet, but wish to look up
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater names anyway. Forwarding occurs only on those queries for which
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater the server is not authoritative and does not have the answer in
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater<dt><span class="term"><span><strong class="command">forward</strong></span></span></dt>
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater This option is only meaningful if the
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater forwarders list is not empty. A value of <code class="varname">first</code>,
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater the default, causes the server to query the forwarders
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater if that doesn't answer the question the server will then
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater the answer itself. If <code class="varname">only</code> is
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater specified, the
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater server will only query the forwarders.
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater<dt><span class="term"><span><strong class="command">forwarders</strong></span></span></dt>
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater Specifies the IP addresses to be used
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater for forwarding. The default is the empty list (no
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater Forwarding can also be configured on a per-domain basis, allowing
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater for the global forwarding options to be overridden in a variety
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater of ways. You can set particular domains to use different
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater or have a different <span><strong class="command">forward only/first</strong></span> behavior,
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater or not forward at all, see <a href="Bv9ARM.ch06.html#zone_statement_grammar" title="zone
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater Statement Grammar">the section called “<span><strong class="command">zone</strong></span>
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater Statement Grammar”</a>.
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater<div class="titlepage"><div><div><h4 class="title">
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater<a name="id2550263"></a>Dual-stack Servers</h4></div></div></div>
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater Dual-stack servers are used as servers of last resort to work
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater problems in reachability due the lack of support for either IPv4
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater on the host machine.
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater<dt><span class="term"><span><strong class="command">dual-stack-servers</strong></span></span></dt>
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater Specifies host names / addresses of machines with access to
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater both IPv4 and IPv6 transports. If a hostname is used the
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater server must be able
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater to resolve the name using only the transport it has. If the
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater machine is dual
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater stacked then the <span><strong class="command">dual-stack-servers</strong></span> have no effect unless
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater access to a transport has been disabled on the command line
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater (e.g. <span><strong class="command">named -4</strong></span>).
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater<div class="titlepage"><div><div><h4 class="title">
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater<a name="access_control"></a>Access Control</h4></div></div></div>
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater Access to the server can be restricted based on the IP address
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater of the requesting system. See <a href="Bv9ARM.ch06.html#address_match_lists" title="Address Match Lists">the section called “Address Match Lists”</a> for
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater details on how to specify IP address lists.
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater<dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt>
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater Specifies which hosts are allowed to
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater notify this server, a slave, of zone changes in addition
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater to the zone masters.
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater <span><strong class="command">allow-notify</strong></span> may also be
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater specified in the
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater <span><strong class="command">zone</strong></span> statement, in which case
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater it overrides the
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater <span><strong class="command">options allow-notify</strong></span>
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater statement. It is only meaningful
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater for a slave zone. If not specified, the default is to
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater process notify messages
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater only from a zone's master.
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater<dt><span class="term"><span><strong class="command">allow-query</strong></span></span></dt>
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater Specifies which hosts are allowed to
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater ask ordinary DNS questions. <span><strong class="command">allow-query</strong></span> may also
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater be specified in the <span><strong class="command">zone</strong></span>
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater statement, in which
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater case it overrides the <span><strong class="command">options allow-query</strong></span> statement.
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater <span><strong class="command">allow-query-cache</strong></span> may also be
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater specified and will
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater overrides access to the cache.
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater If not specified, the default is to allow queries from all
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater<dt><span class="term"><span><strong class="command">allow-query-cache</strong></span></span></dt>
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater Specifies which hosts are allowed to get answers
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater from the cache. If not set <span><strong class="command">allow-query</strong></span> applies.
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater The recommended way to set query access to the cache is now
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query-cache</strong></span> rather than
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Inheritance from <span><strong class="command">allow-query</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein has been retained for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein backwards compatability.
82d13321f4dcc79a9aec992c7a1c4aaff8983adaAutomatic Updater<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
82d13321f4dcc79a9aec992c7a1c4aaff8983adaAutomatic Updater If <span><strong class="command">allow-query-cache</strong></span> is set
82d13321f4dcc79a9aec992c7a1c4aaff8983adaAutomatic Updater at the options
82d13321f4dcc79a9aec992c7a1c4aaff8983adaAutomatic Updater level and not set in the view it will still override a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query</strong></span> set at the view
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-recursion</strong></span></span></dt>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Specifies which hosts are allowed to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein make recursive queries through this server. If not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein default is to allow recursive queries from all hosts.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that disallowing recursive queries for a host does not
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews host from retrieving data that is already in the server's
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-update</strong></span></span></dt>
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews Specifies which hosts are allowed to
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews submit Dynamic DNS updates for master zones. The default is
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews updates from all hosts. Note that allowing updates based
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews on the requestor's IP address is insecure; see
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews <a href="Bv9ARM.ch07.html#dynamic_update_security" title="Dynamic Update Security">the section called “Dynamic Update Security”</a> for details.
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews<dt><span class="term"><span><strong class="command">allow-update-forwarding</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies which hosts are allowed to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein submit Dynamic DNS updates to slave zones to be forwarded to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein master. The default is <strong class="userinput"><code>{ none; }</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein means that no update forwarding will be performed. To
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein update forwarding, specify
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>allow-update-forwarding { any; };</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifying values other than <strong class="userinput"><code>{ none; }</code></strong> or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>{ any; }</code></strong> is usually
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein counterproductive, since
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the responsibility for update access control should rest
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein master server, not the slaves.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that enabling the update forwarding feature on a slave
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may expose master servers relying on insecure IP address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein access control to attacks; see <a href="Bv9ARM.ch07.html#dynamic_update_security" title="Dynamic Update Security">the section called “Dynamic Update Security”</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for more details.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-v6-synthesis</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option was introduced for the smooth transition from
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to A6 and from "nibble labels" to binary labels.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein However, since both A6 and binary labels were then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this option was also deprecated.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It is now ignored with some warning messages.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-transfer</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies which hosts are allowed to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein receive zone transfers from the server. <span><strong class="command">allow-transfer</strong></span> may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein also be specified in the <span><strong class="command">zone</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement, in which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein case it overrides the <span><strong class="command">options allow-transfer</strong></span> statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If not specified, the default is to allow transfers to all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">blackhole</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies a list of addresses that the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server will not accept queries from or use to resolve a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein query. Queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from these addresses will not be responded to. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is <strong class="userinput"><code>none</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2550741"></a>Interfaces</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The interfaces and ports that the server will answer queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from may be specified using the <span><strong class="command">listen-on</strong></span> option. <span><strong class="command">listen-on</strong></span> takes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an optional port, and an <code class="varname">address_match_list</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The server will listen on all interfaces allowed by the address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein match list. If a port is not specified, port 53 will be used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Multiple <span><strong class="command">listen-on</strong></span> statements are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">listen-on { 5.6.7.8; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will enable the name server on port 53 for the IP address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 5.6.7.8, and on port 1234 of an address on the machine in net
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 1.2 that is not 1.2.3.4.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If no <span><strong class="command">listen-on</strong></span> is specified, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server will listen on port 53 on all interfaces.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">listen-on-v6</strong></span> option is used to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specify the interfaces and the ports on which the server will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for incoming queries sent using IPv6.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as the <code class="varname">address_match_list</code> for the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">listen-on-v6</strong></span> option,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server does not bind a separate socket to each IPv6 interface
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address as it does for IPv4 if the operating system has enough API
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein support for IPv6 (specifically if it conforms to RFC 3493 and RFC
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Instead, it listens on the IPv6 wildcard address.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If the system only has incomplete API support for IPv6, however,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the behavior is the same as that for IPv4.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A list of particular IPv6 addresses can also be specified, in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server listens on a separate socket for each specified
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein regardless of whether the desired API is supported by the system.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Multiple <span><strong class="command">listen-on-v6</strong></span> options can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">listen-on-v6 { any; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinlisten-on-v6 port 1234 { !2001:db8::/32; any; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will enable the name server on port 53 for any IPv6 addresses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (with a single wildcard socket),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and on port 1234 of IPv6 addresses that is not in the prefix
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 2001:db8::/32 (with separate sockets for each matched address.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To make the server not listen on any IPv6 address, use
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">listen-on-v6 { none; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If no <span><strong class="command">listen-on-v6</strong></span> option is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server will not listen on any IPv6 address.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2550829"></a>Query Address</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If the server doesn't know the answer to a question, it will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein query other name servers. <span><strong class="command">query-source</strong></span> specifies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the address and port used for such queries. For queries sent over
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6, there is a separate <span><strong class="command">query-source-v6</strong></span> option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">address</strong></span> is <span><strong class="command">*</strong></span> or is omitted,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a wildcard IP address (<span><strong class="command">INADDR_ANY</strong></span>)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">port</strong></span> is <span><strong class="command">*</strong></span> or is omitted,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a random unprivileged port will be used, <span><strong class="command">avoid-v4-udp-ports</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and <span><strong class="command">avoid-v6-udp-ports</strong></span> can be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to prevent named
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from selecting certain ports. The defaults are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">query-source address * port *;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinquery-source-v6 address * port *;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The address specified in the <span><strong class="command">query-source</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is used for both UDP and TCP queries, but the port applies only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UDP queries. TCP queries always use a random
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unprivileged port.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See also <span><strong class="command">transfer-source</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">notify-source</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="zone_transfers"></a>Zone Transfers</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="acronym">BIND</span> has mechanisms in place to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein facilitate zone transfers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and set limits on the amount of load that transfers place on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein system. The following options apply to zone transfers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">also-notify</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Defines a global list of IP addresses of name servers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that are also sent NOTIFY messages whenever a fresh copy of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone is loaded, in addition to the servers listed in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone's NS records.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This helps to ensure that copies of the zones will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein quickly converge on stealth servers. If an <span><strong class="command">also-notify</strong></span> list
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is given in a <span><strong class="command">zone</strong></span> statement,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it will override
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">options also-notify</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement. When a <span><strong class="command">zone notify</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is set to <span><strong class="command">no</strong></span>, the IP
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein addresses in the global <span><strong class="command">also-notify</strong></span> list will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein not be sent NOTIFY messages for that zone. The default is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list (no global notification list).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-transfer-time-in</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Inbound zone transfers running longer than
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this many minutes will be terminated. The default is 120
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (2 hours). The maximum value is 28 days (40320 minutes).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-transfer-idle-in</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Inbound zone transfers making no progress
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in this many minutes will be terminated. The default is 60
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (1 hour). The maximum value is 28 days (40320 minutes).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-transfer-time-out</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Outbound zone transfers running longer than
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews this many minutes will be terminated. The default is 120
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (2 hours). The maximum value is 28 days (40320 minutes).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-transfer-idle-out</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Outbound zone transfers making no progress
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in this many minutes will be terminated. The default is 60
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein hour). The maximum value is 28 days (40320 minutes).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">serial-query-rate</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Slave servers will periodically query master servers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to find out if zone serial numbers have changed. Each such
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a minute amount of the slave server's network bandwidth. To
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein amount of bandwidth used, BIND 9 limits the rate at which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sent. The value of the <span><strong class="command">serial-query-rate</strong></span> option,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an integer, is the maximum number of queries sent per
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is 20.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">serial-queries</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In BIND 8, the <span><strong class="command">serial-queries</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein set the maximum number of concurrent serial number queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allowed to be outstanding at any given time.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein BIND 9 does not limit the number of outstanding
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein serial queries and ignores the <span><strong class="command">serial-queries</strong></span> option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Instead, it limits the rate at which the queries are sent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as defined using the <span><strong class="command">serial-query-rate</strong></span> option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">transfer-format</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Zone transfers can be sent using two different formats,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">one-answer</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">many-answers</strong></span>.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews The <span><strong class="command">transfer-format</strong></span> option is used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on the master server to determine which format it sends.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <span><strong class="command">one-answer</strong></span> uses one DNS message per
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein resource record transferred.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">many-answers</strong></span> packs as many resource
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein records as possible into a message.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">many-answers</strong></span> is more efficient, but is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only supported by relatively new slave servers,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein such as <span class="acronym">BIND</span> 9, <span class="acronym">BIND</span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 8.x and <span class="acronym">BIND</span> 4.9.5 onwards.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">many-answers</strong></span> format also supported by
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews recent Microsoft Windows nameservers.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The default is <span><strong class="command">many-answers</strong></span>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span><strong class="command">transfer-format</strong></span> may be overridden on a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein per-server basis by using the <span><strong class="command">server</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">transfers-in</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum number of inbound zone transfers
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews that can be running concurrently. The default value is <code class="literal">10</code>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Increasing <span><strong class="command">transfers-in</strong></span> may
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews speed up the convergence
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of slave zones, but it also may increase the load on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein local system.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">transfers-out</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum number of outbound zone transfers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that can be running concurrently. Zone transfer requests in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the limit will be refused. The default value is <code class="literal">10</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">transfers-per-ns</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum number of inbound zone transfers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that can be concurrently transferring from a given remote
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name server.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default value is <code class="literal">2</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Increasing <span><strong class="command">transfers-per-ns</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein speed up the convergence of slave zones, but it also may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the load on the remote name server. <span><strong class="command">transfers-per-ns</strong></span> may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be overridden on a per-server basis by using the <span><strong class="command">transfers</strong></span> phrase
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the <span><strong class="command">server</strong></span> statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">transfer-source</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dd><p><span><strong class="command">transfer-source</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein determines which local address will be bound to IPv4
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein TCP connections used to fetch zones transferred
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein inbound by the server. It also determines the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein source IPv4 address, and optionally the UDP port,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used for the refresh queries and forwarded dynamic
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein updates. If not set, it defaults to a system
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein controlled value which will usually be the address
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews of the interface "closest to" the remote end. This
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews address must appear in the remote end's
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews <span><strong class="command">allow-transfer</strong></span> option for the
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews zone being transferred, if one is specified. This
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews statement sets the
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews <span><strong class="command">transfer-source</strong></span> for all zones,
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews but can be overridden on a per-view or per-zone
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews basis by including a
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews <span><strong class="command">transfer-source</strong></span> statement within
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews the <span><strong class="command">view</strong></span> or
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews <span><strong class="command">zone</strong></span> block in the configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">transfer-source-v6</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The same as <span><strong class="command">transfer-source</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein except zone transfers are performed using IPv6.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">alt-transfer-source</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An alternate transfer source if the one listed in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">transfer-source</strong></span> fails and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">use-alt-transfer-source</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If you do not wish the alternate transfer source
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be used you should set
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">use-alt-transfer-source</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein appropriately and you should not depend upon
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein getting a answer back to the first refresh
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">alt-transfer-source-v6</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An alternate transfer source if the one listed in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">transfer-source-v6</strong></span> fails and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">use-alt-transfer-source</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">use-alt-transfer-source</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Use the alternate transfer sources or not. If views are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified this defaults to <span><strong class="command">no</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein otherwise it defaults to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">yes</strong></span> (for BIND 8
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews compatibility).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">notify-source</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dd><p><span><strong class="command">notify-source</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein determines which local source address, and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein optionally UDP port, will be used to send NOTIFY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein messages. This address must appear in the slave
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server's <span><strong class="command">masters</strong></span> zone clause or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in an <span><strong class="command">allow-notify</strong></span> clause. This
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement sets the <span><strong class="command">notify-source</strong></span>
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater for all zones, but can be overridden on a per-zone /
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein per-view basis by including a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">notify-source</strong></span> statement within
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">zone</strong></span> or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">view</strong></span> block in the configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">notify-source-v6</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Like <span><strong class="command">notify-source</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein but applies to notify messages sent to IPv6 addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2551693"></a>Bad UDP Port Lists</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">avoid-v4-udp-ports</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and <span><strong class="command">avoid-v6-udp-ports</strong></span> specify a list
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of IPv4 and IPv6 UDP ports that will not be used as system
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein assigned source ports for UDP sockets. These lists
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein prevent named from choosing as its random source port a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein port that is blocked by your firewall. If a query went
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein out with such a source port, the answer would not get by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the firewall and the name server would have to query
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2551708"></a>Operating System Resource Limits</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The server's usage of many system resources can be limited.
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews Scaled values are allowed when specifying resource limits. For
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein example, <span><strong class="command">1G</strong></span> can be used instead of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">1073741824</strong></span> to specify a limit of
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews gigabyte. <span><strong class="command">unlimited</strong></span> requests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unlimited use, or the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein maximum available amount. <span><strong class="command">default</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein uses the limit
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that was in force when the server was started. See the description
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <span><strong class="command">size_spec</strong></span> in <a href="Bv9ARM.ch06.html#configuration_file_elements" title="Configuration File Elements">the section called “Configuration File Elements”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following options set operating system resource limits for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the name server process. Some operating systems don't support
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein any of the limits. On such systems, a warning will be issued if
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unsupported limit is used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">coresize</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum size of a core dump. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">datasize</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum amount of data memory the server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may use. The default is <code class="literal">default</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is a hard limit on server memory usage.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If the server attempts to allocate memory in excess of this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein limit, the allocation will fail, which may in turn leave
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server unable to perform DNS service. Therefore,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this option is rarely useful as a way of limiting the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein amount of memory used by the server, but it can be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to raise an operating system data size limit that is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein too small by default. If you wish to limit the amount
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of memory used by the server, use the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-cache-size</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">recursive-clients</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein options instead.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">files</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum number of files the server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may have open concurrently. The default is <code class="literal">unlimited</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">stacksize</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum amount of stack memory the server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may use. The default is <code class="literal">default</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2551824"></a>Server Resource Limits</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following options set limits on the server's
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein resource consumption that are enforced internally by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server rather than the operating system.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-ixfr-log-size</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option is obsolete; it is accepted
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and ignored for BIND 8 compatibility. The option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-journal-size</strong></span> performs a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein similar function in BIND 9.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-journal-size</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Sets a maximum size for each journal file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (<a href="Bv9ARM.ch04.html#journal" title="The journal file">the section called “The journal file”</a>). When the journal file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the specified size, some of the oldest transactions in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be automatically removed. The default is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">host-statistics-max</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In BIND 8, specifies the maximum number of host statistic
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein entries to be kept.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Not implemented in BIND 9.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">recursive-clients</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum number of simultaneous recursive lookups
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server will perform on behalf of clients. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">1000</code>. Because each recursing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein client uses a fair
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein bit of memory, on the order of 20 kilobytes, the value of
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater <span><strong class="command">recursive-clients</strong></span> option may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein have to be decreased
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on hosts with limited memory.
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater<dt><span class="term"><span><strong class="command">tcp-clients</strong></span></span></dt>
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater The maximum number of simultaneous client TCP
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater connections that the server will accept.
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater The default is <code class="literal">100</code>.
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater<dt><span class="term"><span><strong class="command">max-cache-size</strong></span></span></dt>
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater The maximum amount of memory to use for the
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater server's cache, in bytes. When the amount of data in the
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater reaches this limit, the server will cause records to expire
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater prematurely so that the limit is not exceeded. In a server
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater multiple views, the limit applies separately to the cache of
cd0df9459e87097d01fc6c0de0a283c7e8d3c401Automatic Updater view. The default is <code class="literal">unlimited</code>, meaning that
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater records are purged from the cache only when their TTLs
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<dt><span class="term"><span><strong class="command">tcp-listen-queue</strong></span></span></dt>
996dbb19570bb25601a3611db5d59ccda0a064c5Automatic Updater The listen queue depth. The default and minimum is 3.
996dbb19570bb25601a3611db5d59ccda0a064c5Automatic Updater If the kernel supports the accept filter "dataready" this
996dbb19570bb25601a3611db5d59ccda0a064c5Automatic Updater also controls how
996dbb19570bb25601a3611db5d59ccda0a064c5Automatic Updater many TCP connections that will be queued in kernel space
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater some data before being passed to accept. Values less than 3
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater silently raised.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<div class="titlepage"><div><div><h4 class="title">
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<a name="id2551957"></a>Periodic Task Intervals</h4></div></div></div>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<dt><span class="term"><span><strong class="command">cleaning-interval</strong></span></span></dt>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater The server will remove expired resource records
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater from the cache every <span><strong class="command">cleaning-interval</strong></span> minutes.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater The default is 60 minutes. The maximum value is 28 days
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater (40320 minutes).
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater If set to 0, no periodic cleaning will occur.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<dt><span class="term"><span><strong class="command">heartbeat-interval</strong></span></span></dt>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater The server will perform zone maintenance tasks
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater for all zones marked as <span><strong class="command">dialup</strong></span> whenever this
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater interval expires. The default is 60 minutes. Reasonable
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater to 1 day (1440 minutes). The maximum value is 28 days
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater (40320 minutes).
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater If set to 0, no zone maintenance for these zones will occur.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<dt><span class="term"><span><strong class="command">interface-interval</strong></span></span></dt>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater The server will scan the network interface list
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater every <span><strong class="command">interface-interval</strong></span>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater minutes. The default
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater is 60 minutes. The maximum value is 28 days (40320 minutes).
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater If set to 0, interface scanning will only occur when
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the configuration file is loaded. After the scan, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein begin listening for queries on any newly discovered
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews interfaces (provided they are allowed by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">listen-on</strong></span> configuration), and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stop listening on interfaces that have gone away.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">statistics-interval</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Name server statistics will be logged
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein every <span><strong class="command">statistics-interval</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein minutes. The default is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 60. The maximum value is 28 days (40320 minutes).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If set to 0, no statistics will be logged.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Not yet implemented in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="topology"></a>Topology</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein All other things being equal, when the server chooses a name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to query from a list of name servers, it prefers the one that is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein topologically closest to itself. The <span><strong class="command">topology</strong></span> statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein takes an <span><strong class="command">address_match_list</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interprets it
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater in a special way. Each top-level list element is assigned a
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater Non-negated elements get a distance based on their position in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list, where the closer the match is to the start of the list, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein shorter the distance is between it and the server. A negated match
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be assigned the maximum distance from the server. If there
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is no match, the address will get a distance which is further than
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein any non-negated list element, and closer than any negated element.
f051d76c87e055c6ea3879e0c97a76609df915ccMark Andrews will prefer servers on network 10 the most, followed by hosts
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater on network 1.2.0.0 (netmask 255.255.0.0) and network 3, with the
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater exception of hosts on network 1.2.3 (netmask 255.255.255.0), which
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater is preferred least of all.
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater The default topology is
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater<pre class="programlisting"> topology { localhost; localnets; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews The <span><strong class="command">topology</strong></span> option
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews is not implemented in <span class="acronym">BIND</span> 9.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="the_sortlist_statement"></a>The <span><strong class="command">sortlist</strong></span> Statement</h4></div></div></div>
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews The response to a DNS query may consist of multiple resource
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews records (RRs) forming a resource records set (RRset).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The name server will normally return the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RRs within the RRset in an indeterminate order
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (but see the <span><strong class="command">rrset-order</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement in <a href="Bv9ARM.ch06.html#rrset_ordering" title="RRset Ordering">the section called “RRset Ordering”</a>).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The client resolver code should rearrange the RRs as appropriate,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that is, using any addresses on the local net in preference to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein other addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein However, not all resolvers can do this or are correctly
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When a client is using a local server the sorting can be performed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in the server, based on the client's address. This only requires
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuring the name servers, not all the clients.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">sortlist</strong></span> statement (see below)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an <span><strong class="command">address_match_list</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interprets it even
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein more specifically than the <span><strong class="command">topology</strong></span>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews does (<a href="Bv9ARM.ch06.html#topology" title="Topology">the section called “Topology”</a>).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each top level statement in the <span><strong class="command">sortlist</strong></span> must
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein itself be an explicit <span><strong class="command">address_match_list</strong></span> with
f02216f5b390ff0a589fa080f29350fd7794bf5cMark Andrews one or two elements. The first element (which may be an IP
72628d3a5ef809d995c759130a81a1b1ae1395e0Automatic Updater an IP prefix, an ACL name or a nested <span><strong class="command">address_match_list</strong></span>)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews of each top level list is checked against the source address of
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews the query until a match is found.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Once the source address of the query has been matched, if
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater the top level statement contains only one element, the actual
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater element that matched the source address is used to select the
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater in the response to move to the beginning of the response. If the
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater statement is a list of two elements, then the second element is
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater treated the same as the <span><strong class="command">address_match_list</strong></span> in
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater a <span><strong class="command">topology</strong></span> statement. Each top
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews is assigned a distance and the address in the response with the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews distance is moved to the beginning of the response.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews In the following example, any queries received from any of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the addresses of the host itself will get responses preferring
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on any of the locally connected networks. Next most preferred are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on the 192.168.1/24 network, and after that either the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 192.168.3/24 network with no preference shown between these two
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein networks. Queries received from a host on the 192.168.1/24 network
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will prefer other addresses on that network to the 192.168.2/24
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews 192.168.3/24 networks. Queries received from a host on the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews or the 192.168.5/24 network will only prefer other addresses on
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews their directly connected networks.
dc91524e4b73ee70908a295e3f2f62305680c5c2Automatic Updater { localhost; // IF the local host
dc91524e4b73ee70908a295e3f2f62305680c5c2Automatic Updater { localnets; // THEN first fit on the
dc91524e4b73ee70908a295e3f2f62305680c5c2Automatic Updater { 192.168.1/24; // IF on class C 192.168.1
dc91524e4b73ee70908a295e3f2f62305680c5c2Automatic Updater { 192.168.1/24; // THEN use .1, or .2 or .3
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews { { 192.168.4/24; 192.168.5/24; }; // if .4 or .5, prefer that net
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews The following example will give reasonable behavior for the
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews local host and hosts on directly connected networks. It is similar
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews to the behavior of the address sort in <span class="acronym">BIND</span> 4.9.x. Responses sent
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews to queries from the local host will favor any of the directly
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews networks. Responses sent to queries from any other hosts on a
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews connected network will prefer addresses on that same network.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews to other queries will not be sorted.
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews { localhost; localnets; };
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews { localnets; };
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews<div class="titlepage"><div><div><h4 class="title">
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<a name="rrset_ordering"></a>RRset Ordering</h4></div></div></div>
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater When multiple records are returned in an answer it may be
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater useful to configure the order of the records placed into the
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater The <span><strong class="command">rrset-order</strong></span> statement permits
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater of the ordering of the records in a multiple record response.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater See also the <span><strong class="command">sortlist</strong></span> statement,
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater <a href="Bv9ARM.ch06.html#the_sortlist_statement" title="The sortlist Statement">the section called “The <span><strong class="command">sortlist</strong></span> Statement”</a>.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater An <span><strong class="command">order_spec</strong></span> is defined as
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater [<span class="optional">class <em class="replaceable"><code>class_name</code></em></span>]
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater [<span class="optional">type <em class="replaceable"><code>type_name</code></em></span>]
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater [<span class="optional">name <em class="replaceable"><code>"domain_name"</code></em></span>]
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater order <em class="replaceable"><code>ordering</code></em>
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater If no class is specified, the default is <span><strong class="command">ANY</strong></span>.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater If no type is specified, the default is <span><strong class="command">ANY</strong></span>.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater If no name is specified, the default is "<span><strong class="command">*</strong></span>".
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater The legal values for <span><strong class="command">ordering</strong></span> are:
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater<div class="informaltable"><table border="1">
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater <p><span><strong class="command">fixed</strong></span></p>
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater Records are returned in the order they
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater are defined in the zone file.
db6353c9b89628e16f6e729ce57baabad3460c49Automatic Updater <p><span><strong class="command">random</strong></span></p>
db6353c9b89628e16f6e729ce57baabad3460c49Automatic Updater Records are returned in some random order.
db6353c9b89628e16f6e729ce57baabad3460c49Automatic Updater <p><span><strong class="command">cyclic</strong></span></p>
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews Records are returned in a round-robin
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater class IN type A name "host.example.com" order random;
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater will cause any responses for type A records in class IN that
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater have "<code class="literal">host.example.com</code>" as a
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater suffix, to always be returned
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater in random order. All other records are returned in cyclic order.
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater If multiple <span><strong class="command">rrset-order</strong></span> statements
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater they are not combined — the last one applies.
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater The <span><strong class="command">rrset-order</strong></span> statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is not yet fully implemented in <span class="acronym">BIND</span> 9.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein BIND 9 currently does not fully support "fixed" ordering.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="tuning"></a>Tuning</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">lame-ttl</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Sets the number of seconds to cache a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lame server indication. 0 disables caching. (This is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="bold"><strong>NOT</strong></span> recommended.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Default is <code class="literal">600</code> (10 minutes).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Maximum value is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-ncache-ttl</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To reduce network traffic and increase performance
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews the server stores negative answers. <span><strong class="command">max-ncache-ttl</strong></span> is
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews used to set a maximum retention time for these answers in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in seconds. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-ncache-ttl</strong></span> is <code class="literal">10800</code> seconds (3 hours).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-ncache-ttl</strong></span> cannot exceed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 7 days and will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be silently truncated to 7 days if set to a greater value.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-cache-ttl</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dd><p><span><strong class="command">max-cache-ttl</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sets the maximum time for which the server will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cache ordinary (positive) answers. The default is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein one week (7 days).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">min-roots</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The minimum number of root servers that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is required for a request for the root servers to be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein accepted. Default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is <strong class="userinput"><code>2</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Not implemented in <span class="acronym">BIND</span>9.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">sig-validity-interval</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies the number of days into the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein future when DNSSEC signatures automatically generated as a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of dynamic updates (<a href="Bv9ARM.ch04.html#dynamic_update" title="Dynamic Update">the section called “Dynamic Update”</a>)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will expire. The default is <code class="literal">30</code> days.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum value is 10 years (3660 days). The signature
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews inception time is unconditionally set to one hour before the
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews current time
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to allow for a limited amount of clock skew.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews<span class="term"><span><strong class="command">min-refresh-time</strong></span>, </span><span class="term"><span><strong class="command">max-refresh-time</strong></span>, </span><span class="term"><span><strong class="command">min-retry-time</strong></span>, </span><span class="term"><span><strong class="command">max-retry-time</strong></span></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These options control the server's behavior on refreshing a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (querying for SOA changes) or retrying failed transfers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usually the SOA values for the zone are used, but these
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are set by the master, giving slave server administrators
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein control over their contents.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These options allow the administrator to set a minimum and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein refresh and retry time either per-zone, per-view, or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These options are valid for slave and stub zones,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and clamp the SOA refresh and retry times to the specified
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">edns-udp-size</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Sets the advertised EDNS UDP buffer size. Valid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein values are 512 to 4096 (values outside this range
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be silently adjusted). The default value is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 4096. The usual reason for setting edns-udp-size to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a non default value it to get UDP answers to pass
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein through broken firewalls that block fragmented
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein packets and/or block UDP packets that are greater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein than 512 bytes.
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews<dt><span class="term"><span><strong class="command">masterfile-format</strong></span></span></dt>
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews<dd><p><span><strong class="command">masterfile-format</strong></span> specifies
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews the file format of zone files (see
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews <a href="Bv9ARM.ch06.html#zonefile_format" title="Additional File Formats">the section called “Additional File Formats”</a>).
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews The default value is <code class="constant">text</code>, which is the
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews standard textual representation. Files in other formats
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein than <code class="constant">text</code> are typically expected
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be generated by the <span><strong class="command">named-compilezone</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that when a zone file in a different format than
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="constant">text</code> is loaded, <span><strong class="command">named</strong></span>
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews may omit some of the checks which would be performed for a
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews file in the <code class="constant">text</code> format. In particular,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">check-names</strong></span> checks do not apply
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for the <code class="constant">raw</code> format. This means
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a zone file in the <code class="constant">raw</code> format
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews must be generated with the same check level as that
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews specified in the <span><strong class="command">named</strong></span> configuration
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews file. This statement sets the
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <span><strong class="command">masterfile-format</strong></span> for all zones,
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews but can be overridden on a per-zone / per-view basis
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews by including a <span><strong class="command">masterfile-format</strong></span>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews statement within the <span><strong class="command">zone</strong></span> or
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <span><strong class="command">view</strong></span> block in the configuration
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<div class="titlepage"><div><div><h4 class="title">
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews<a name="builtin"></a>Built-in server information zones</h4></div></div></div>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews The server provides some helpful diagnostic information
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews through a number of built-in zones under the
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews pseudo-top-level-domain <code class="literal">bind</code> in the
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <span><strong class="command">CHAOS</strong></span> class. These zones are part
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews built-in view (see <a href="Bv9ARM.ch06.html#view_statement_grammar" title="view Statement Grammar">the section called “<span><strong class="command">view</strong></span> Statement Grammar”</a>) of
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <span><strong class="command">CHAOS</strong></span> which is separate from the
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews default view of
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews class <span><strong class="command">IN</strong></span>; therefore, any global
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews server options
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews such as <span><strong class="command">allow-query</strong></span> do not apply
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews the these zones.
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews If you feel the need to disable these zones, use the options
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews below, or hide the built-in <span><strong class="command">CHAOS</strong></span>
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews defining an explicit view of class <span><strong class="command">CHAOS</strong></span>
8ae3bbdd860f8abe3d47ec02d1f4d2008bf46f63Automatic Updater that matches all clients.
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews<dt><span class="term"><span><strong class="command">version</strong></span></span></dt>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews The version the server should report
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews via a query of the name <code class="literal">version.bind</code>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews with type <span><strong class="command">TXT</strong></span>, class <span><strong class="command">CHAOS</strong></span>.
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews The default is the real version number of this server.
a404eb87dc8f91fe81bedce8bb3957fc3c7684a5Mark Andrews Specifying <span><strong class="command">version none</strong></span>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews disables processing of the queries.
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<dt><span class="term"><span><strong class="command">hostname</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The hostname the server should report via a query of
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews the name <code class="filename">hostname.bind</code>
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews with type <span><strong class="command">TXT</strong></span>, class <span><strong class="command">CHAOS</strong></span>.
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews This defaults to the hostname of the machine hosting the
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews name server as
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews found by gethostname(). The primary purpose of such queries
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews identify which of a group of anycast servers is actually
bddb70a27123e31020438cff811d898d44b42c71Mark Andrews answering your queries. Specifying <span><strong class="command">hostname none;</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disables processing of the queries.
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<dt><span class="term"><span><strong class="command">server-id</strong></span></span></dt>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews The ID of the server should report via a query of
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews the name <code class="filename">ID.SERVER</code>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews with type <span><strong class="command">TXT</strong></span>, class <span><strong class="command">CHAOS</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The primary purpose of such queries is to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein identify which of a group of anycast servers is actually
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein answering your queries. Specifying <span><strong class="command">server-id none;</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disables processing of the queries.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifying <span><strong class="command">server-id hostname;</strong></span> will cause named to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use the hostname as found by gethostname().
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default <span><strong class="command">server-id</strong></span> is <span><strong class="command">none</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="empty"></a>Built-in Empty Zones</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Named has some built-in empty zones (SOA and NS records only).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These are for zones that should normally be answered locally
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and which queries should not be sent to the Internet's root
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers. The offical servers which cover these namespaces
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein return NXDOMAIN responses to these queries. In particular
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein these cover the reverse namespace for addresses from RFC 1918 and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RFC 3330. They also include the reverse namespace for IPv6 local
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address (locally assigned), IPv6 link local addresses, the IPv6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein loopback address and the IPv6 unknown addresss.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Named will attempt to determine if a built in zone already exists
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or is active (covered by a forward-only forwarding declaration)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and will not not create a empty zone in that case.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The current list of empty zones is:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<li>0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA</li>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<li>1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA</li>
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater Empty zones are settable at the view level and only apply to
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater views of class IN. Disabled empty zones are only inherited
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater from options if there are no disabled empty zones specified
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater at the view level. To override the options list of disabled
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater zones you can disable the root zone at the view level
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater (disable-empty-zone ".";).
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater If you are using the address ranges covered here you should
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater already have reverse zones covering the addresses you use.
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater In practice this appears to not be the case with many queries
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater being made to the infrustucture servers for names in these
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater spaces. So many in fact that sacrificial servers were needed
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater to be deployed to channel the query load away from the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein infrustucture servers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater The real parent servers for these zones should disable all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein empty zone under the parent zone they serve. For the real
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein root servers this is all built in empty zones. This will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein enable them to return referrals to deeper in the tree.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">empty-server</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specify what server name will appear in the returned
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein SOA record for empty zones. If none is specified then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the zone's name will be used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">empty-contact</strong></span></span></dt>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Specify what contact name will appear in the returned
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein SOA record for empty zones. If none is specified then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "." will be used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">empty-zones-enable</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Enable / disable all empty zones. By default they
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are enabled.
24e79a68e1b16324e17364fcd8959379ff6e20e9Mark Andrews<dt><span class="term"><span><strong class="command">disable-empty-zone</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Disable a indiviual empty zones. By default none are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disabled. This option can be specified multiple times.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="statsfile"></a>The Statistics File</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The statistics file generated by <span class="acronym">BIND</span> 9
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is similar, but not identical, to that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein generated by <span class="acronym">BIND</span> 8.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The statistics dump begins with the line <span><strong class="command">+++ Statistics Dump
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein+++ (973798949)</strong></span>, where the number in parentheses is a standard
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Unix-style timestamp, measured as seconds since January 1, 1970.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that line are a series of lines containing a counter type, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein value of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein counter, optionally a zone name, and optionally a view name.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The lines without view and zone listed are global statistics for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the entire server.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Lines with a zone and view name for the given view and zone (the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein view name is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein omitted for the default view). The statistics dump ends
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with the line <span><strong class="command">--- Statistics Dump --- (973798949)</strong></span>, where the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein number is identical to the number in the beginning line.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following statistics counters are maintained:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">success</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The number of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein successful queries made to the server or zone. A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein successful query
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is defined as query which returns a NOERROR response
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with at least
24e79a68e1b16324e17364fcd8959379ff6e20e9Mark Andrews one answer RR.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">referral</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The number of queries which resulted
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in referral responses.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <p><span><strong class="command">nxrrset</strong></span></p>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The number of queries which resulted in
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater NOERROR responses with no data.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <p><span><strong class="command">nxdomain</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of queries which resulted in NXDOMAIN responses.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <p><span><strong class="command">failure</strong></span></p>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The number of queries which resulted in a
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater failure response other than those above.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <p><span><strong class="command">recursion</strong></span></p>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The number of queries which caused the server
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater to perform recursion in order to find the final answer.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Each query received by the server will cause exactly one of
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">success</strong></span>,
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">referral</strong></span>,
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">nxrrset</strong></span>,
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">nxdomain</strong></span>, or
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">failure</strong></span>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater to be incremented, and may additionally cause the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">recursion</strong></span> counter to be
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<div class="titlepage"><div><div><h4 class="title">
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<a name="acache"></a>Additional Section Caching</h4></div></div></div>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The additional section cache, also called <span><strong class="command">acache</strong></span>,
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater is an internal cache to improve the response performance of BIND 9.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater When additional section caching is enabled, BIND 9 will
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater cache an internal short-cut to the additional section content for
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater each answer RR.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Note that <span><strong class="command">acache</strong></span> is an internal caching
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater mechanism of BIND 9, and is not related to the DNS caching
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater server function.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Additional section caching does not change the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater response content (except the RRsets ordering of the additional
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater section, see below), but can improve the response performance
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater significantly.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater It is particularly effective when BIND 9 acts as an authoritative
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater server for a zone that has many delegations with many glue RRs.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater In order to obtain the maximum performance improvement
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater from additional section caching, setting
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">additional-from-cache</strong></span>
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews to <span><strong class="command">no</strong></span> is recommended, since the current
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews implementation of <span><strong class="command">acache</strong></span>
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews does not short-cut of additional section information from the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater DNS cache data.
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews One obvious disadvantage of <span><strong class="command">acache</strong></span> is
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater that it requires much more
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews memory for the internal cached data.
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews Thus, if the response performance does not matter and memory
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews consumption is much more critical, the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">acache</strong></span> mechanism can be
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews disabled by setting <span><strong class="command">use-additional-cache</strong></span> to
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews <span><strong class="command">no</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It is also possible to specify the upper limit of memory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for acache by using <span><strong class="command">max-acache-size</strong></span>.
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews Additional section caching also has a minor effect on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RRset ordering in the additional section.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Without <span><strong class="command">acache</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">cyclic</strong></span> order is effective for the additional
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein section as well as the answer and authority sections.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein However, additional section caching fixes the ordering when it
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews first caches an RRset for the additional section, and the same
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews ordering will be kept in succeeding responses, regardless of the
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews setting of <span><strong class="command">rrset-order</strong></span>.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews The effect of this should be minor, however, since an
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews RRset in the additional section
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews typically only contains a small number of RRs (and in many cases
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews it only contains a single RR), in which case the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ordering does not matter much.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following is a summary of options related to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">acache</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">use-additional-cache</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">yes</strong></span>, additional section caching is enabled.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews The default value is <span><strong class="command">yes</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">acache-cleaning-interval</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The server will remove stale cache entries, based on an LRU
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein algorithm, every <span><strong class="command">acache-cleaning-interval</strong></span> minutes.
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater The default is 60 minutes.
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater If set to 0, no periodic cleaning will occur.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-acache-size</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum amount of memory to use for the server's acache,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When the amount of data in the acache reaches this limit,
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater will clean more aggressivly so that the limit is not
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater In a server with multiple views, the limit applies
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater separately to the
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater acache of each view.
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater The default is <code class="literal">unlimited</code>,
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater entries are purged from the acache only at the
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater periodic cleaning time.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="server_statement_grammar"></a><span><strong class="command">server</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">server <em class="replaceable"><code>ip_addr[/prefixlen]</code></em> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> bogus <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> provide-ixfr <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> request-ixfr <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> edns <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> edns-udp-size <em class="replaceable"><code>number</code></em> ; </span>]
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater [<span class="optional"> transfers <em class="replaceable"><code>number</code></em> ; </span>]
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater [<span class="optional"> transfer-format <em class="replaceable"><code>( one-answer | many-answers )</code></em> ; ]</span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> keys <em class="replaceable"><code>{ string ; [<span class="optional"> string ; [<span class="optional">...</span>]</span>] }</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> transfer-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="server_statement_definition_and_usage"></a><span><strong class="command">server</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">server</strong></span> statement defines
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein characteristics
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be associated with a remote name server. If a prefix length is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified then a range of servers is covered. Only the most
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server clause applies regardless of the order in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">server</strong></span> statement can occur at
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the top level of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuration file or inside a <span><strong class="command">view</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If a <span><strong class="command">view</strong></span> statement contains
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein one or more <span><strong class="command">server</strong></span> statements, only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein apply to the view and any top-level ones are ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If a view contains no <span><strong class="command">server</strong></span>
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater any top-level <span><strong class="command">server</strong></span> statements are
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater If you discover that a remote server is giving out bad data,
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater marking it as bogus will prevent further queries to it. The
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater value of <span><strong class="command">bogus</strong></span> is <span><strong class="command">no</strong></span>.
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater The <span><strong class="command">provide-ixfr</strong></span> clause determines
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater the local server, acting as master, will respond with an
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater zone transfer when the given remote server, a slave, requests it.
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater If set to <span><strong class="command">yes</strong></span>, incremental transfer
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater will be provided
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater whenever possible. If set to <span><strong class="command">no</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein all transfers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the remote server will be non-incremental. If not set, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the <span><strong class="command">provide-ixfr</strong></span> option in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein global options block is used as a default.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">request-ixfr</strong></span> clause determines
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the local server, acting as a slave, will request incremental zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein transfers from the given remote server, a master. If not set, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein value of the <span><strong class="command">request-ixfr</strong></span> option in
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews global options block is used as a default.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IXFR requests to servers that do not support IXFR will
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews automatically
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fall back to AXFR. Therefore, there is no need to manually list
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews which servers support IXFR and which ones do not; the global
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews of <span><strong class="command">yes</strong></span> should always work.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The purpose of the <span><strong class="command">provide-ixfr</strong></span> and
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <span><strong class="command">request-ixfr</strong></span> clauses is
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews to make it possible to disable the use of IXFR even when both
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and slave claim to support it, for example if one of the servers
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews is buggy and crashes or corrupts data when IXFR is used.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The <span><strong class="command">edns</strong></span> clause determines whether
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the local server will attempt to use EDNS when communicating
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with the remote server. The default is <span><strong class="command">yes</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">edns-udp-size</strong></span> option sets the EDNS UDP size
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that is advertised by named when querying the remote server.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Valid values are 512 to 4096 (values outside this range will be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein silently adjusted). This option is useful when you wish to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein advertises a different value to this server than the value you
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein advertise globally, for example, when there is a firewall at the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein remote site that is blocking large replies.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The server supports two zone transfer methods. The first, <span><strong class="command">one-answer</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein uses one DNS message per resource record transferred. <span><strong class="command">many-answers</strong></span> packs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as many resource records as possible into a message. <span><strong class="command">many-answers</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein more efficient, but is only known to be understood by <span class="acronym">BIND</span> 9, <span class="acronym">BIND</span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 8.x, and patched versions of <span class="acronym">BIND</span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 4.9.5. You can specify which method
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to use for a server with the <span><strong class="command">transfer-format</strong></span> option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">transfer-format</strong></span> is not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified, the <span><strong class="command">transfer-format</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein by the <span><strong class="command">options</strong></span> statement will be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">transfers</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is used to limit the number of concurrent inbound zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein transfers from the specified server. If no
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">transfers</strong></span> clause is specified, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein limit is set according to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">transfers-per-ns</strong></span> option.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The <span><strong class="command">keys</strong></span> clause identifies a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">key_id</strong></span> defined by the <span><strong class="command">key</strong></span> statement,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be used for transaction security (TSIG, <a href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called “TSIG”</a>)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein when talking to the remote server.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When a request is sent to the remote server, a request signature
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be generated using the key specified here and appended to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein message. A request originating from the remote server is not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be signed by this key.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Although the grammar of the <span><strong class="command">keys</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allows for multiple keys, only a single key per server is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">transfer-source</strong></span> and
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews <span><strong class="command">transfer-source-v6</strong></span> clauses specify
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews the IPv4 and IPv6 source
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews address to be used for zone transfer with the remote server,
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews respectively.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews For an IPv4 remote server, only <span><strong class="command">transfer-source</strong></span> can
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews be specified.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews Similarly, for an IPv6 remote server, only
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews <span><strong class="command">transfer-source-v6</strong></span> can be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Form more details, see the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">transfer-source</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">transfer-source-v6</strong></span> in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2554410"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional">...</span>]</span>]
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews<div class="titlepage"><div><div><h3 class="title">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="id2554459"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The <span><strong class="command">trusted-keys</strong></span> statement defines
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews security roots. DNSSEC is described in <a href="Bv9ARM.ch04.html#DNSSEC" title="DNSSEC">the section called “DNSSEC”</a>. A
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein security root is defined when the public key for a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein non-authoritative
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone is known, but cannot be securely obtained through DNS, either
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein because it is the DNS root zone or because its parent zone is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Once a key has been configured as a trusted key, it is treated as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if it had been validated and proven secure. The resolver attempts
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNSSEC validation on all DNS data in subdomains of a security
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">trusted-keys</strong></span> statement can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein multiple key entries, each consisting of the key's domain name,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein flags, protocol, algorithm, and the Base-64 representation of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="view_statement_grammar"></a><span><strong class="command">view</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">view <em class="replaceable"><code>view_name</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein match-clients { <em class="replaceable"><code>address_match_list</code></em> };
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews match-destinations { <em class="replaceable"><code>address_match_list</code></em> };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein match-recursive-only <em class="replaceable"><code>yes_or_no</code></em> ;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> <em class="replaceable"><code>view_option</code></em>; ...</span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> <em class="replaceable"><code>zone_statement</code></em>; ...</span>]
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<div class="titlepage"><div><div><h3 class="title">
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<a name="id2554530"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews The <span><strong class="command">view</strong></span> statement is a powerful
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews of <span class="acronym">BIND</span> 9 that lets a name server
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews answer a DNS query differently
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein depending on who is asking. It is particularly useful for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein implementing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein split DNS setups without having to run multiple servers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each <span><strong class="command">view</strong></span> statement defines a view
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNS namespace that will be seen by a subset of clients. A client
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater a view if its source IP address matches the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <code class="varname">address_match_list</code> of the view's
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">match-clients</strong></span> clause and its
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater destination IP address matches
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater the <code class="varname">address_match_list</code> of the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">match-destinations</strong></span> clause. If not
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater specified, both
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">match-clients</strong></span> and <span><strong class="command">match-destinations</strong></span>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater default to matching all addresses. In addition to checking IP
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">match-clients</strong></span> and <span><strong class="command">match-destinations</strong></span>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater can also take <span><strong class="command">keys</strong></span> which provide an
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater mechanism for the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater client to select the view. A view can also be specified
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater as <span><strong class="command">match-recursive-only</strong></span>, which
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater means that only recursive
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater requests from matching clients will match that view.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The order of the <span><strong class="command">view</strong></span> statements is
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater significant —
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater a client request will be resolved in the context of the first
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">view</strong></span> that it matches.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Zones defined within a <span><strong class="command">view</strong></span>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater statement will
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater be only be accessible to clients that match the <span><strong class="command">view</strong></span>.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater By defining a zone of the same name in multiple views, different
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater zone data can be given to different clients, for example,
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater and "external" clients in a split DNS setup.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Many of the options given in the <span><strong class="command">options</strong></span> statement
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater can also be used within a <span><strong class="command">view</strong></span>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater statement, and then
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater apply only when resolving queries with that view. When no
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater value is given, the value in the <span><strong class="command">options</strong></span> statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is used as a default. Also, zone options can have default values
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in the <span><strong class="command">view</strong></span> statement; these
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater view-specific defaults
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein take precedence over those in the <span><strong class="command">options</strong></span> statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Views are class specific. If no class is given, class IN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is assumed. Note that all non-IN views must contain a hint zone,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein since only the IN class has compiled-in default hints.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If there are no <span><strong class="command">view</strong></span> statements in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file, a default view that matches any client is automatically
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in class IN. Any <span><strong class="command">zone</strong></span> statements
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the top level of the configuration file are considered to be part
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this default view, and the <span><strong class="command">options</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein apply to the default view. If any explicit <span><strong class="command">view</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statements are present, all <span><strong class="command">zone</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statements must
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein occur inside <span><strong class="command">view</strong></span> statements.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Here is an example of a typical split DNS setup implemented
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein using <span><strong class="command">view</strong></span> statements.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // This should match our internal networks.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein match-clients { 10.0.0.0/8; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // Provide recursive service to internal clients only.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein recursion yes;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // Provide a complete view of the example.com zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // including addresses of internal hosts.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein type master;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinview "external" {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // Match all clients not matched by the previous view.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein match-clients { any; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // Refuse recursive service to external clients.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein recursion no;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // Provide a restricted view of the example.com zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // containing only publicly accessible hosts.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein type master;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="zone_statement_grammar"></a><span><strong class="command">zone</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] [<span class="optional">{
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein type ( master | slave | hint | stub | forward | delegation-only ) ;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> allow-notify { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> allow-transfer { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> allow-update { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> update-policy { <em class="replaceable"><code>update_policy_rule</code></em> [<span class="optional">...</span>] }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> allow-update-forwarding { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> also-notify { <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; ... </span>] }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> check-names (<code class="constant">warn</code>|<code class="constant">fail</code>|<code class="constant">ignore</code>) ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> check-mx (<code class="constant">warn</code>|<code class="constant">fail</code>|<code class="constant">ignore</code>) ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> check-wildcard <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> check-integrity <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews [<span class="optional"> dialup <em class="replaceable"><code>dialup_option</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> delegation-only <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> file <em class="replaceable"><code>string</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> masterfile-format (<code class="constant">text</code>|<code class="constant">raw</code>) ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> journal <em class="replaceable"><code>string</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> forward (<code class="constant">only</code>|<code class="constant">first</code>) ; </span>]
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater [<span class="optional"> forwarders { [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; ... </span>] }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> ixfr-base <em class="replaceable"><code>string</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> ixfr-tmp-file <em class="replaceable"><code>string</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> maintain-ixfr-base <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews [<span class="optional"> masters [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-ixfr-log-size <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-transfer-idle-in <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-transfer-idle-out <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-transfer-time-in <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-transfer-time-out <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> notify <em class="replaceable"><code>yes_or_no</code></em> | <em class="replaceable"><code>explicit</code></em> | <em class="replaceable"><code>master-only</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> pubkey <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> transfer-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> alt-transfer-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> alt-transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> use-alt-transfer-source <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> notify-source (<em class="replaceable"><code>ip4_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> notify-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>) [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> zone-statistics <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> sig-validity-interval <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> database <em class="replaceable"><code>string</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> min-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> min-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> multi-master <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater [<span class="optional"> key-directory <em class="replaceable"><code>path_name</code></em>; </span>]
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater<div class="titlepage"><div><div><h3 class="title">
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater<a name="id2555388"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater<div class="titlepage"><div><div><h4 class="title">
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater<a name="id2555396"></a>Zone Types</h4></div></div></div>
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater<div class="informaltable"><table border="1">
8b1cba45ade83893c009b37f47d5478e97eb61d2Automatic Updater The server has a master copy of the data
8b1cba45ade83893c009b37f47d5478e97eb61d2Automatic Updater for the zone and will be able to provide authoritative
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A slave zone is a replica of a master
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone. The <span><strong class="command">masters</strong></span> list
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specifies one or more IP addresses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of master servers that the slave contacts to update
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein its copy of the zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Masters list elements can also be names of other
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein masters lists.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein By default, transfers are made from port 53 on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers; this can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be changed for all servers by specifying a port number
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list of IP addresses, or on a per-server basis after
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the IP address.
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater Authentication to the master can also be done with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein per-server TSIG keys.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If a file is specified, then the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein replica will be written to this file whenever the zone
2a9a5e1871710510cdbba67c13ce21e75296b451Automatic Updater and reloaded from this file on a server restart. Use
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of a file is
2a9a5e1871710510cdbba67c13ce21e75296b451Automatic Updater recommended, since it often speeds server start-up and
2a9a5e1871710510cdbba67c13ce21e75296b451Automatic Updater a needless waste of bandwidth. Note that for large
2a9a5e1871710510cdbba67c13ce21e75296b451Automatic Updater numbers (in the
2a9a5e1871710510cdbba67c13ce21e75296b451Automatic Updater tens or hundreds of thousands) of zones per server, it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use a two level naming scheme for zone file names. For
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a slave server for the zone <code class="literal">example.com</code> might place
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the zone contents into a file called
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">ex/example.com</code> where <code class="filename">ex/</code> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein just the first two letters of the zone name. (Most
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein operating systems
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein behave very slowly if you put 100 000 files into
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a single directory.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A stub zone is similar to a slave zone,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein except that it replicates only the NS records of a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein master zone instead
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the entire zone. Stub zones are not a standard part
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein they are a feature specific to the <span class="acronym">BIND</span> implementation.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Stub zones can be used to eliminate the need for glue
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in a parent zone at the expense of maintaining a stub
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone entry and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a set of name server addresses in <code class="filename">named.conf</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This usage is not recommended for new configurations,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein supports it only in a limited way.
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews transfers of a parent zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein included the NS records from stub children of that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone. This meant
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that, in some cases, users could get away with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configuring child stubs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only in the master server for the parent zone. <span class="acronym">BIND</span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 9 never mixes together zone data from different zones
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein way. Therefore, if a <span class="acronym">BIND</span> 9 master serving a parent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone has child stub zones configured, all the slave
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers for the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein parent zone also need to have the same child stub
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Stub zones can also be used as a way of forcing the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of a given domain to use a particular set of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authoritative servers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, the caching name servers on a private
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein network using
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RFC1918 addressing may be configured with stub zones
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to use a set of internal name servers as the
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce authoritative
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce servers for that domain.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A "forward zone" is a way to configure
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein forwarding on a per-domain basis. A <span><strong class="command">zone</strong></span> statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of type <span><strong class="command">forward</strong></span> can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein contain a <span><strong class="command">forward</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and/or <span><strong class="command">forwarders</strong></span>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews which will apply to queries within the domain given by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name. If no <span><strong class="command">forwarders</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement is present or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an empty list for <span><strong class="command">forwarders</strong></span> is given, then no
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein forwarding will be done for the domain, canceling the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein any forwarders in the <span><strong class="command">options</strong></span> statement. Thus
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if you want to use this type of zone to change the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein behavior of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein global <span><strong class="command">forward</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (that is, "forward first
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to", then "forward only", or vice versa, but want to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use the same
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers as set globally) you need to re-specify the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein global forwarders.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The initial set of root name servers is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified using a "hint zone". When the server starts
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the root hints to find a root name server and get the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list of root name servers. If no hint zone is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified for class
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IN, the server uses a compiled-in default set of root
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers hints.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Classes other than IN have no built-in defaults hints.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is used to enforce the delegation only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein status of infrastructure zones (e.g. COM, NET, ORG).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Any answer that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is received without a explicit or implicit delegation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in the authority
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein section will be treated as NXDOMAIN. This does not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein apply to the zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein apex. This SHOULD NOT be applied to leaf zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">delegation-only</code> has no
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein effect on answers received
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from forwarders.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2555815"></a>Class</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The zone's name may optionally be followed by a class. If
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>),
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater is assumed. This is correct for the vast majority of cases.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The <code class="literal">hesiod</code> class is
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater named for an information service from MIT's Project Athena. It
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater used to share information about various systems databases, such
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater as users, groups, printers and so on. The keyword
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce a synonym for hesiod.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Another MIT development is CHAOSnet, a LAN protocol created
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce in the mid-1970s. Zone data for it can be specified with the <code class="literal">CHAOS</code> class.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<div class="titlepage"><div><div><h4 class="title">
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater<a name="id2555848"></a>Zone Options</h4></div></div></div>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<dt><span class="term"><span><strong class="command">journal</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Allow the default journal's file name to be overridden.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is the zone's file with "<code class="filename">.jnl</code>" appended.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is applicable to <span><strong class="command">master</strong></span> and <span><strong class="command">slave</strong></span> zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-notify</strong></span> in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-query</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query</strong></span> in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<dt><span class="term"><span><strong class="command">allow-transfer</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of <span><strong class="command">allow-transfer</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-update</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of <span><strong class="command">allow-update</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">update-policy</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies a "Simple Secure Update" policy. See
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-update-forwarding</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of <span><strong class="command">allow-update-forwarding</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">also-notify</strong></span></span></dt>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Only meaningful if <span><strong class="command">notify</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein active for this zone. The set of machines that will
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <code class="literal">DNS NOTIFY</code> message
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for this zone is made up of all the listed name servers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the primary master) for the zone plus any IP addresses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with <span><strong class="command">also-notify</strong></span>. A port
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may be specified
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with each <span><strong class="command">also-notify</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address to send the notify
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein messages to a port other than the default of 53.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">also-notify</strong></span> is not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein meaningful for stub zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is the empty list.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-names</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option is used to restrict the character set and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein certain domain names in master files and/or DNS responses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein received from the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein network. The default varies according to zone type. For <span><strong class="command">master</strong></span> zones the default is <span><strong class="command">fail</strong></span>. For <span><strong class="command">slave</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zones the default is <span><strong class="command">warn</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-mx</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">check-mx</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-wildcard</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">check-wildcard</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-integrity</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">check-integrity</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-sibling</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">check-sibling</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
767c53c304b86460d72eeec7d3304172cdd904bdEvan Hunt<dt><span class="term"><span><strong class="command">database</strong></span></span></dt>
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater Specify the type of database to be used for storing the
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater zone data. The string following the <span><strong class="command">database</strong></span> keyword
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater is interpreted as a list of whitespace-delimited words.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The first word
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein identifies the database type, and any subsequent words are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as arguments to the database to be interpreted in a way
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the database type.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is <strong class="userinput"><code>"rbt"</code></strong>, BIND 9's
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce native in-memory
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce red-black-tree database. This database does not take
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Other values are possible if additional database drivers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein have been linked into the server. Some sample drivers are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with the distribution but none are linked in by default.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dialup</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dialup</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">delegation-only</strong></span></span></dt>
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater The flag only applies to hint and stub zones. If set
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater to <strong class="userinput"><code>yes</code></strong> then the zone will also be
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater treated as if it
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater is also a delegation-only type zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">forward</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Only meaningful if the zone has a forwarders
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list. The <span><strong class="command">only</strong></span> value causes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the lookup to fail
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein after trying the forwarders and getting no answer, while <span><strong class="command">first</strong></span> would
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allow a normal lookup to be tried.
49853562e29e3813e49c251cde132d7be6a6475eAutomatic Updater<dt><span class="term"><span><strong class="command">forwarders</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Used to override the list of global forwarders.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If it is not specified in a zone of type <span><strong class="command">forward</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein no forwarding is done for the zone; the global options are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">ixfr-base</strong></span></span></dt>
49853562e29e3813e49c251cde132d7be6a6475eAutomatic Updater Was used in <span class="acronym">BIND</span> 8 to
49853562e29e3813e49c251cde132d7be6a6475eAutomatic Updater specify the name
49853562e29e3813e49c251cde132d7be6a6475eAutomatic Updater of the transaction log (journal) file for dynamic update
49853562e29e3813e49c251cde132d7be6a6475eAutomatic Updater <span class="acronym">BIND</span> 9 ignores the option
49853562e29e3813e49c251cde132d7be6a6475eAutomatic Updater and constructs the name of the journal
49853562e29e3813e49c251cde132d7be6a6475eAutomatic Updater file by appending "<code class="filename">.jnl</code>"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the name of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">ixfr-tmp-file</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Was an undocumented option in <span class="acronym">BIND</span> 8.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-transfer-time-in</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-transfer-time-in</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews<dt><span class="term"><span><strong class="command">max-transfer-idle-in</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-transfer-idle-in</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
cd3ee12f1d34107678bde7be68b1d7f0f45cf2c9Automatic Updater<dt><span class="term"><span><strong class="command">max-transfer-time-out</strong></span></span></dt>
cd3ee12f1d34107678bde7be68b1d7f0f45cf2c9Automatic Updater See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-transfer-time-out</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">max-transfer-idle-out</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-transfer-idle-out</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">notify</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">notify</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews<dt><span class="term"><span><strong class="command">pubkey</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In <span class="acronym">BIND</span> 8, this option was
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein intended for specifying
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a public zone key for verification of signatures in DNSSEC
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater zones when they are loaded from disk. <span class="acronym">BIND</span> 9 does not verify signatures
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater on load and ignores the option.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">zone-statistics</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater If <strong class="userinput"><code>yes</code></strong>, the server will keep
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater information for this zone, which can be dumped to the
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">statistics-file</strong></span> defined in
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater the server options.
2914684df93e6c3aa4d402b5a14fbe6137f538aeAutomatic Updater<dt><span class="term"><span><strong class="command">sig-validity-interval</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater See the description of
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">sig-validity-interval</strong></span> in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">transfer-source</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater See the description of
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">transfer-source</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">transfer-source-v6</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater See the description of
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">transfer-source-v6</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">alt-transfer-source</strong></span></span></dt>
2914684df93e6c3aa4d402b5a14fbe6137f538aeAutomatic Updater See the description of
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">alt-transfer-source</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">alt-transfer-source-v6</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">alt-transfer-source-v6</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">use-alt-transfer-source</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">use-alt-transfer-source</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">notify-source</strong></span></span></dt>
2914684df93e6c3aa4d402b5a14fbe6137f538aeAutomatic Updater See the description of
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">notify-source</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">notify-source-v6</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater See the description of
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">notify-source-v6</strong></span> in <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<span class="term"><span><strong class="command">min-refresh-time</strong></span>, </span><span class="term"><span><strong class="command">max-refresh-time</strong></span>, </span><span class="term"><span><strong class="command">min-retry-time</strong></span>, </span><span class="term"><span><strong class="command">max-retry-time</strong></span></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">ixfr-from-differences</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">ixfr-from-differences</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">key-directory</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">key-directory</strong></span> in <a href="Bv9ARM.ch06.html#options" title="options Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage">the section called “<span><strong class="command">options</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage”</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">multi-master</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of <span><strong class="command">multi-master</strong></span> in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">masterfile-format</strong></span></span></dt>
fde6bfde6ec1d7a5f9907aeea8618db9dbd02f4cAutomatic Updater See the description of <span><strong class="command">masterfile-format</strong></span>
fde6bfde6ec1d7a5f9907aeea8618db9dbd02f4cAutomatic Updater in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
fde6bfde6ec1d7a5f9907aeea8618db9dbd02f4cAutomatic Updater<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="dynamic_update_policies"></a>Dynamic Update Policies</h4></div></div></div>
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater <span class="acronym">BIND</span> 9 supports two alternative
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater methods of granting clients
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater the right to perform dynamic updates to a zone,
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater configured by the <span><strong class="command">allow-update</strong></span>
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater <span><strong class="command">update-policy</strong></span> option,
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater The <span><strong class="command">allow-update</strong></span> clause works the
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater way as in previous versions of <span class="acronym">BIND</span>. It grants given clients the
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater permission to update any record of any name in the zone.
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater The <span><strong class="command">update-policy</strong></span> clause is new
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater 9 and allows more fine-grained control over what updates are
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater A set of rules is specified, where each rule either grants or
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater permissions for one or more names to be updated by one or more
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater If the dynamic update request message is signed (that is, it
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater either a TSIG or SIG(0) record), the identity of the signer can
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater be determined.
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater Rules are specified in the <span><strong class="command">update-policy</strong></span> zone
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater option, and are only meaningful for master zones. When the <span><strong class="command">update-policy</strong></span> statement
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater is present, it is a configuration error for the <span><strong class="command">allow-update</strong></span> statement
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews to be present. The <span><strong class="command">update-policy</strong></span>
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews statement only
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater examines the signer of a message; the source address is not
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater This is how a rule definition looks:
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews( <span><strong class="command">grant</strong></span> | <span><strong class="command">deny</strong></span> ) <em class="replaceable"><code>identity</code></em> <em class="replaceable"><code>nametype</code></em> <em class="replaceable"><code>name</code></em> [<span class="optional"> <em class="replaceable"><code>types</code></em> </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Each rule grants or denies privileges. Once a message has
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews successfully matched a rule, the operation is immediately
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews or denied and no further rules are examined. A rule is matched
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews when the signer matches the identity field, the name matches the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews name field in accordance with the nametype field, and the type
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews the types specified in the type field.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The identity field specifies a name or a wildcard name.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Normally, this
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews is the name of the TSIG or SIG(0) key used to sign the update
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews request. When a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews TKEY exchange has been used to create a shared secret, the
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews identity of the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews shared secret is the same as the identity of the key used to
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews authenticate the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews TKEY exchange. When the <em class="replaceable"><code>identity</code></em> field specifies a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews wildcard name, it is subject to DNS wildcard expansion, so the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews rule will apply
68abac6cb23aa2c6489ccc16663e051d7aad3ad9Mark Andrews to multiple identities. The <em class="replaceable"><code>identity</code></em> field must
ea21c734ff027f23f289f8c6507a4e79984e4830Automatic Updater contain a fully qualified domain name.
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews The <em class="replaceable"><code>nametype</code></em> field has 4
2914684df93e6c3aa4d402b5a14fbe6137f538aeAutomatic Updater <code class="varname">name</code>, <code class="varname">subdomain</code>,
68abac6cb23aa2c6489ccc16663e051d7aad3ad9Mark Andrews <code class="varname">wildcard</code>, and <code class="varname">self</code>.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews Exact-match semantics. This rule matches when the
68abac6cb23aa2c6489ccc16663e051d7aad3ad9Mark Andrews name being updated is identical to the contents of the
68abac6cb23aa2c6489ccc16663e051d7aad3ad9Mark Andrews <em class="replaceable"><code>name</code></em> field.
4a5d8786edaff5f9f022c117b4da084bcb4a0b71Automatic Updater This rule matches when the name being updated
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater is a subdomain of, or identical to, the contents of
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater <em class="replaceable"><code>name</code></em> field.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <em class="replaceable"><code>name</code></em> field
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein subject to DNS wildcard expansion, and this rule
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein matches when the name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein being updated name is a valid expansion of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This rule matches when the name being updated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein matches the contents of the <em class="replaceable"><code>identity</code></em> field.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <em class="replaceable"><code>name</code></em> field
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is ignored, but should be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the same as the <em class="replaceable"><code>identity</code></em> field. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">self</code> nametype is most
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein useful when allowing using
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein one key per name to update, where the key has the same
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name as the name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be updated. The <em class="replaceable"><code>identity</code></em> would be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In all cases, the <em class="replaceable"><code>name</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specify a fully qualified domain name.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If no types are explicitly specified, this rule matches all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein types except
9011c72c568aedd03709f56f21d639fd55944a74Automatic Updater RRSIG, NS, SOA, and NSEC. Types may be specified by name, including
9011c72c568aedd03709f56f21d639fd55944a74Automatic Updater "ANY" (ANY matches all types except NSEC, which can never be
9011c72c568aedd03709f56f21d639fd55944a74Automatic Updater Note that when an attempt is made to delete all records
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein associated with a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name, the rules are checked for each existing record type.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2557531"></a>Zone File</h2></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="types_of_resource_records_and_when_to_use_them"></a>Types of Resource Records and When to Use Them</h3></div></div></div>
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews This section, largely borrowed from RFC 1034, describes the
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews concept of a Resource Record (RR) and explains when each is used.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews Since the publication of RFC 1034, several new RRs have been
a1b05dea35aa30b152a47115e18bbe679d3fcf19Mark Andrews and implemented in the DNS. These are also included.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews<div class="titlepage"><div><div><h4 class="title">
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews<a name="id2557549"></a>Resource Records</h4></div></div></div>
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews A domain name identifies a node. Each node has a set of
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews resource information, which may be empty. The set of resource
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater information associated with a particular name is composed of
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews separate RRs. The order of RRs in a set is not significant and
d3907d27cc138f45772d3d63082ae02c7659148aAutomatic Updater need not be preserved by name servers, resolvers, or other
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews parts of the DNS. However, sorting of multiple RRs is
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews permitted for optimization purposes, for example, to specify
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews that a particular nearby server be tried first. See <a href="Bv9ARM.ch06.html#the_sortlist_statement" title="The sortlist Statement">the section called “The <span><strong class="command">sortlist</strong></span> Statement”</a> and <a href="Bv9ARM.ch06.html#rrset_ordering" title="RRset Ordering">the section called “RRset Ordering”</a>.
9d5a84057d77e1de7ccdcf3cfdeff78db4706fb8Automatic Updater The components of a Resource Record are:
9d5a84057d77e1de7ccdcf3cfdeff78db4706fb8Automatic Updater<div class="informaltable"><table border="1">
9d5a84057d77e1de7ccdcf3cfdeff78db4706fb8Automatic Updater The domain name where the RR is found.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews An encoded 16 bit value that specifies
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews the type of the resource record.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews The time to live of the RR. This field
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews is a 32 bit integer in units of seconds, and is
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews primarily used by
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews resolvers when they cache RRs. The TTL describes how
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews long a RR can
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews be cached before it should be discarded.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews An encoded 16 bit value that identifies
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews a protocol family or instance of a protocol.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews The resource data. The format of the
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews data is type (and sometimes class) specific.
9fbbfb5757a1e3e86d7dea62c4e63ffc2303ca2bAutomatic Updater The following are <span class="emphasis"><em>types</em></span> of valid RRs:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews A host address. In the IN class, this is a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews 32-bit IP address. Described in RFC 1035.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews IPv6 address. Described in RFC 1886.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews IPv6 address. This can be a partial
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews address (a suffix) and an indirection to the name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein where the rest of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address (the prefix) can be found. Experimental.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Described in RFC 2874.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Location of AFS database servers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Experimental. Described in RFC 1183.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Address prefix list. Experimental.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Described in RFC 3123.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Holds a digital certificate.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Described in RFC 2538.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Identifies the canonical name of an alias.
276e28f813ffef042d5a6e9f3373ef4e2ad37996Mark Andrews Described in RFC 1035.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Replaces the domain name specified with
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater another name to be looked up, effectively aliasing an
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater subtree of the domain name space rather than a single
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater as in the case of the CNAME RR.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Described in RFC 2672.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Stores a public key associated with a signed
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater DNS zone. Described in RFC 4034.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Stores the hash of a public key associated with a
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater signed DNS zone. Described in RFC 4034.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Specifies the global position. Superseded by LOC.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Identifies the CPU and OS used by a host.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Described in RFC 1035.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Representation of ISDN addresses.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Experimental. Described in RFC 1183.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Stores a public key associated with a
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater DNS name. Used in original DNSSEC; replaced
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater by DNSKEY in DNSSECbis, but still used with
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater SIG(0). Described in RFCs 2535 and 2931.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Identifies a key exchanger for this
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater DNS name. Described in RFC 2230.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater For storing GPS info. Described in RFC 1876.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Identifies a mail exchange for the domain.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater a 16 bit preference value (lower is better)
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater followed by the host name of the mail exchange.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Described in RFC 974, RFC 1035.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Name authority pointer. Described in RFC 2915.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater A network service access point.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Described in RFC 1706.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater The authoritative name server for the
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater domain. Described in RFC 1035.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Used in DNSSECbis to securely indicate that
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater RRs with an owner name in a certain name interval do
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater a zone and indicate what RR types are present for an
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater existing name.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Described in RFC 4034.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Used in DNSSEC to securely indicate that
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater RRs with an owner name in a certain name interval do
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater a zone and indicate what RR types are present for an
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater existing name.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Used in original DNSSEC; replaced by NSEC in
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Described in RFC 2535.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater A pointer to another part of the domain
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater name space. Described in RFC 1035.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Provides mappings between RFC 822 and X.400
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater addresses. Described in RFC 2163.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Information on persons responsible
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater for the domain. Experimental. Described in RFC 1183.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Contains DNSSECbis signature data. Described
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in RFC 4034.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Route-through binding for hosts that
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater do not have their own direct wide area network
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Experimental. Described in RFC 1183.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Contains DNSSEC signature data. Used in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein original DNSSEC; replaced by RRSIG in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNSSECbis, but still used for SIG(0).
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews Described in RFCs 2535 and 2931.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Identifies the start of a zone of authority.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Described in RFC 1035.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Information about well known network
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein services (replaces WKS). Described in RFC 2782.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Text records. Described in RFC 1035.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Information about which well known
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein network services, such as SMTP, that a domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein supports. Historical.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Representation of X.25 network addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Experimental. Described in RFC 1183.
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater The following <span class="emphasis"><em>classes</em></span> of resource records
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews are currently valid in the DNS:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The Internet.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein CHAOSnet, a LAN protocol created at MIT in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Rarely used for its historical purpose, but reused for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein built-in server information zones, e.g.,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Hesiod, an information service
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein developed by MIT's Project Athena. It is used to share
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein about various systems databases, such as users,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein groups, printers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The owner name is often implicit, rather than forming an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein part of the RR. For example, many name servers internally form
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or hash structures for the name space, and chain RRs off nodes.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The remaining RR parts are the fixed header (type, class, TTL)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein which is consistent for all RRs, and a variable part (RDATA)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fits the needs of the resource being described.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The meaning of the TTL field is a time limit on how long an
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews RR can be kept in a cache. This limit does not apply to
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews authoritative
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews data in zones; it is also timed out, but by the refreshing
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews for the zone. The TTL is assigned by the administrator for the
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews zone where the data originates. While short TTLs can be used to
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews minimize caching, and a zero TTL prohibits caching, the
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews of Internet performance suggest that these times should be on
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews order of days for the typical host. If a change can be
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews anticipated,
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews the TTL can be reduced prior to the change to minimize
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews inconsistency
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews during the change, and then increased back to its former value
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The data in the RDATA section of RRs is carried as a combination
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of binary strings and domain names. The domain names are
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater used as "pointers" to other data in the DNS.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater<div class="titlepage"><div><div><h4 class="title">
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater<a name="id2558896"></a>Textual expression of RRs</h4></div></div></div>
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater RRs are represented in binary form in the packets of the DNS
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater protocol, and are usually represented in highly encoded form
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater stored in a name server or resolver. In the examples provided
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater RFC 1034, a style similar to that used in master files was
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater in order to show the contents of RRs. In this format, most RRs
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater are shown on a single line, although continuation lines are
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater using parentheses.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater The start of the line gives the owner of the RR. If a line
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater begins with a blank, then the owner is assumed to be the same as
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater that of the previous RR. Blank lines are often included for
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater Following the owner, we list the TTL, type, and class of the
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater RR. Class and type use the mnemonics defined above, and TTL is
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater an integer before the type field. In order to avoid ambiguity
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater parsing, type and class mnemonics are disjoint, TTLs are
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater and the type mnemonic is always last. The IN class and TTL
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater are often omitted from examples in the interests of clarity.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater The resource data or RDATA section of the RR are given using
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater knowledge of the typical representation for the data.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater For example, we might show the RRs carried in a message as:
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater<div class="informaltable"><table border="1">
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater The MX RRs have an RDATA section which consists of a 16 bit
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater number followed by a domain name. The address RRs use a
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater IP address format to contain a 32 bit internet address.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater This example shows six RRs, with two RRs at each of three
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater Similarly we might see:
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<div class="informaltable"><table border="1">
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater <code class="literal">XX.LCS.MIT.EDU.</code>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater <code class="literal">MIT.EDU. 2420</code>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater This example shows two addresses for
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater <code class="literal">XX.LCS.MIT.EDU</code>, each of a different class.
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater<div class="titlepage"><div><div><h3 class="title">
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater<a name="id2559484"></a>Discussion of MX Records</h3></div></div></div>
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater As described above, domain servers store information as a
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater series of resource records, each of which contains a particular
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater piece of information about a given domain name (which is usually,
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater but not always, a host). The simplest way to think of a RR is as
f7b2875691497b292eacb60609be23a813d14e63Automatic Updater a typed pair of data, a domain name matched with a relevant datum,
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater and stored with some additional type information to help systems
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater determine when the RR is relevant.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater MX records are used to control delivery of email. The data
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater specified in the record is a priority and a domain name. The
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater controls the order in which email delivery is attempted, with the
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater lowest number first. If two priorities are the same, a server is
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater chosen randomly. If no servers at a given priority are responding,
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater the mail transport agent will fall back to the next largest
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater Priority numbers do not have any absolute meaning — they are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only respective to other MX records for that domain name. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name given is the machine to which the mail will be delivered.
a53c45b2b8e778663ea51834272169dc946b6672Mark Andrews It <span class="emphasis"><em>must</em></span> have an associated address record
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (A or AAAA) — CNAME is not sufficient.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For a given domain, if there is both a CNAME record and an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein MX record, the MX record is in error, and will be ignored.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce the mail will be delivered to the server specified in the MX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein pointed to by the CNAME.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews Mail delivery will be attempted to <code class="literal">mail.example.com</code> and
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <code class="literal">mail2.example.com</code> (in
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater any order), and if neither of those succeed, delivery to <code class="literal">mail.backup.org</code> will
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews be attempted.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<div class="titlepage"><div><div><h3 class="title">
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<a name="Setting_TTLs"></a>Setting TTLs</h3></div></div></div>
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews The time to live of the RR field is a 32 bit integer represented
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews in units of seconds, and is primarily used by resolvers when they
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews cache RRs. The TTL describes how long a RR can be cached before it
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews should be discarded. The following three types of TTL are
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater used in a zone file.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<div class="informaltable"><table border="1">
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews The last field in the SOA is the negative
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews caching TTL. This controls how long other servers will
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews cache no-such-domain
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews (NXDOMAIN) responses from you.
083a5588a3488b6335ee7bafa505d00644c7c58dMark Andrews The maximum time for
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater negative caching is 3 hours (3h).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The $TTL directive at the top of the
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater zone file (before the SOA) gives a default TTL for every
7326ba2f542b89196323867a1457f596f99e315dMark Andrews a specific TTL set.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each RR can have a TTL as the second
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein field in the RR, which will control how long other
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews servers can cache
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein All of these TTLs default to units of seconds, though units
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein can be explicitly specified, for example, <code class="literal">1h30m</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2560036"></a>Inverse Mapping in IPv4</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Reverse name resolution (that is, translation from IP address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to name) is achieved by means of the <span class="emphasis"><em>in-addr.arpa</em></span> domain
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews and PTR records. Entries in the in-addr.arpa domain are made in
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews least-to-most significant order, read left to right. This is the
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews opposite order to the way IP addresses are usually written. Thus,
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews a machine with an IP address of 10.1.2.3 would have a
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews corresponding
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews 3.2.1.10.in-addr.arpa. This name should have a PTR resource record
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater whose data field is the name of the machine or, optionally,
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews PTR records if the machine has more than one name. For example,
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews in the [<span class="optional">example.com</span>] domain:
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <code class="literal">2.1.10.in-addr.arpa</code>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <code class="literal">IN PTR foo.example.com.</code>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater The <span><strong class="command">$ORIGIN</strong></span> lines in the examples
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater are for providing context to the examples only-they do not
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater appear in the actual usage. They are only used here to indicate
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews that the example is relative to the listed origin.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<div class="titlepage"><div><div><h3 class="title">
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<a name="id2560231"></a>Other Zone File Directives</h3></div></div></div>
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater The Master File Format was initially defined in RFC 1035 and
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater has subsequently been extended. While the Master File Format
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater is class independent all records in a Master File must be of the
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews Master File Directives include <span><strong class="command">$ORIGIN</strong></span>, <span><strong class="command">$INCLUDE</strong></span>,
9090a36b61a90746738f66bce09ceaf8d8491d7eAndreas Gustafsson and <span><strong class="command">$TTL.</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2560253"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Syntax: <span><strong class="command">$ORIGIN</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>domain-name</code></em>
f77c5a1336bc11ae235f1b91f1b7cbae1137c3e8Automatic Updater [<span class="optional"><em class="replaceable"><code>comment</code></em></span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">$ORIGIN</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sets the domain name that will be appended to any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unqualified records. When a zone is first read in there
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is an implicit <span><strong class="command">$ORIGIN</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <<code class="varname">zone-name</code>><span><strong class="command">.</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The current <span><strong class="command">$ORIGIN</strong></span> is appended to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the domain specified in the <span><strong class="command">$ORIGIN</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein argument if it is not absolute.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinWWW CNAME MAIN-SERVER
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is equivalent to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2560314"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Syntax: <span><strong class="command">$INCLUDE</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>filename</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<em class="replaceable"><code>origin</code></em> </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> <em class="replaceable"><code>comment</code></em> </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Read and process the file <code class="filename">filename</code> as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if it were included into the file at this point. If <span><strong class="command">origin</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified the file is processed with <span><strong class="command">$ORIGIN</strong></span> set
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to that value, otherwise the current <span><strong class="command">$ORIGIN</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The origin and the current domain name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein revert to the values they had prior to the <span><strong class="command">$INCLUDE</strong></span> once
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the file has been read.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RFC 1035 specifies that the current origin should be restored
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an <span><strong class="command">$INCLUDE</strong></span>, but it is silent
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews on whether the current
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein domain name should also be restored. BIND 9 restores both of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This could be construed as a deviation from RFC 1035, a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein feature, or both.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2560384"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Syntax: <span><strong class="command">$TTL</strong></span>
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater <em class="replaceable"><code>default-ttl</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<em class="replaceable"><code>comment</code></em> </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Set the default Time To Live (TTL) for subsequent records
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with undefined TTLs. Valid TTLs are of the range 0-2147483647
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">$TTL</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is defined in RFC 2308.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2560420"></a><span class="acronym">BIND</span> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Syntax: <span><strong class="command">$GENERATE</strong></span>
c60793c77f6b6b8b66ad57c73cd7eb67e8d7ff6fAndreas Gustafsson <em class="replaceable"><code>lhs</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"><em class="replaceable"><code>ttl</code></em></span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"><em class="replaceable"><code>class</code></em></span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"><em class="replaceable"><code>comment</code></em></span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">$GENERATE</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is used to create a series of resource records that only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein differ from each other by an
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews iterator. <span><strong class="command">$GENERATE</strong></span> can be used to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein easily generate the sets of records required to support
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sub /24 reverse delegations described in RFC 2317:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Classless IN-ADDR.ARPA delegation.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">$ORIGIN 0.0.192.IN-ADDR.ARPA.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews$GENERATE 1-2 0 NS SERVER$.EXAMPLE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$GENERATE 1-127 $ CNAME $.0</pre>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews is equivalent to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">0.0.0.192.IN-ADDR.ARPA NS SERVER1.EXAMPLE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein1.0.0.192.IN-ADDR.ARPA. CNAME 1.0.0.0.192.IN-ADDR.ARPA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein2.0.0.192.IN-ADDR.ARPA. CNAME 2.0.0.0.192.IN-ADDR.ARPA.
c60793c77f6b6b8b66ad57c73cd7eb67e8d7ff6fAndreas Gustafsson127.0.0.192.IN-ADDR.ARPA. CNAME 127.0.0.0.192.IN-ADDR.ARPA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">range</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This can be one of two forms: start-stop
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or start-stop/step. If the first form is used then step
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 1. All of start, stop and step must be positive.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <p><span><strong class="command">lhs</strong></span></p>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <p><span><strong class="command">lhs</strong></span>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater describes the owner name of the resource records
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater to be created. Any single <span><strong class="command">$</strong></span>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater symbols within the <span><strong class="command">lhs</strong></span> side
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater are replaced by the iterator value.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater To get a $ in the output you need to escape the
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">$</strong></span> using a backslash
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">\</strong></span>,
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater e.g. <span><strong class="command">\$</strong></span>. The
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">$</strong></span> may optionally be followed
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater by modifiers which change the offset from the
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater iterator, field width and base.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Modifiers are introduced by a
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">{</strong></span> immediately following the
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">$</strong></span> as
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">${offset[,width[,base]]}</strong></span>.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater e.g. <span><strong class="command">${-20,3,d}</strong></span> which
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater subtracts 20 from the current value, prints the
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater result as a decimal in a zero padded field of
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Available output forms are decimal
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater (<span><strong class="command">d</strong></span>), octal
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater (<span><strong class="command">o</strong></span>) and hexadecimal
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater (<span><strong class="command">x</strong></span> or <span><strong class="command">X</strong></span>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater for uppercase). The default modifier is
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">${0,0,d}</strong></span>. If the
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">lhs</strong></span> is not absolute, the
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater current <span><strong class="command">$ORIGIN</strong></span> is appended
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater For compatibility with earlier versions <span><strong class="command">$$</strong></span> is still
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater recognized a indicating a literal $ in the output.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">ttl</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">ttl</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specifies the ttl of the generated records. If
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein not specified this will be inherited using the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein normal ttl inheritance rules.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">class</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and <span><strong class="command">ttl</strong></span> can be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein entered in either order.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">class</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">class</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specifies the class of the generated records.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This must match the zone class if it is
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <p><span><strong class="command">class</strong></span>
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews and <span><strong class="command">ttl</strong></span> can be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein entered in either order.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">type</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein At present the only supported types are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein PTR, CNAME, DNAME, A, AAAA and NS.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">rhs</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein rhs is a domain name. It is processed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein similarly to lhs.
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater The <span><strong class="command">$GENERATE</strong></span> directive is a <span class="acronym">BIND</span> extension
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater and not part of the standard zone file format.
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater BIND 8 does not support the optional TTL and CLASS fields.
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater<div class="titlepage"><div><div><h3 class="title">
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater<a name="zonefile_format"></a>Additional File Formats</h3></div></div></div>
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater In addition to the standard textual format, BIND 9
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater supports the ability to read or dump to zone files in
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater other formats. The <code class="constant">raw</code> format is
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater currently available as an additional format. It is a
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater binary format representing BIND 9's internal data
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater structure directly, thereby remarkably improving the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For a primary server, a zone file in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="constant">raw</code> format is expected to be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein generated from a textual zone file by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named-compilezone</strong></span> command. For a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein secondary server or for a dynamic zone, it is automatically
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein generated (if this format is specified by the
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <span><strong class="command">masterfile-format</strong></span> option) when
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater <span><strong class="command">named</strong></span> dumps the zone contents after
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater zone transfer or when applying prior updates.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater If a zone file in a binary format needs manual modification,
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater it first must be converted to a textual form by the
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater <span><strong class="command">named-compilezone</strong></span> command. All
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein necessary modification should go to the text file, which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein should then be converted to the binary form by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named-compilezone</strong></span> command again.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater Although the <code class="constant">raw</code> format uses the
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater network byte order and avoids architecture-dependent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein data alignment so that it is as much portable as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein possible, it is primarily expected to be used inside
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the same single system. In order to export a zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file in the <code class="constant">raw</code> format or make a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein portable backup of the file, it is recommended to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein convert the file to the standard textual representation.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a accesskey="p" href="Bv9ARM.ch05.html">Prev</a>�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="right">�<a accesskey="n" href="Bv9ARM.ch07.html">Next</a>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="left" valign="top">Chapter�5.�The <span class="acronym">BIND</span> 9 Lightweight Resolver�</td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<td width="40%" align="right" valign="top">�Chapter�7.�<span class="acronym">BIND</span> 9 Security Considerations</td>