Bv9ARM.ch06.html revision 65f32cd8bf0924a9d7b7fde03d1a45407dc6f422
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User - Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater - Permission to use, copy, modify, and/or 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.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<!-- $Id$ -->
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<title>Chapter�6.�BIND 9 Configuration Reference</title>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<meta name="generator" content="DocBook XSL Stylesheets V1.71.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<table width="100%" summary="Navigation header">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<tr><th colspan="3" align="center">Chapter�6.�<acronym class="acronym">BIND</acronym> 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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h2 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="Bv9ARM.ch06"></a>Chapter�6.�<acronym class="acronym">BIND</acronym> 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>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573317">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>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573909"><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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574220"><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
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574580"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574597"><span><strong class="command">include</strong></span> Statement Definition and
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574689"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574712"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574803"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574929"><span><strong class="command">logging</strong></span> Statement Definition and
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577060"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577212"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577276"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577325"><span><strong class="command">masters</strong></span> Statement Definition and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2577347"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591047"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#trusted-keys"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591532"><span><strong class="command">trusted-keys</strong></span> Statement Definition
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591579"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#managed-keys"><span><strong class="command">managed-keys</strong></span> Statement Definition
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592021"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2593956"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2597613">Zone File</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<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>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2599844">Discussion of MX Records</a></span></dt>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2600596">Inverse Mapping in IPv4</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2600723">Other Zone File Directives</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2600928"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch06.html#statistics">BIND9 Statistics</a></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch06.html#statistics_counters">Statistics Counters</a></span></dt></dl></dd>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <acronym class="acronym">BIND</acronym> 9 configuration is broadly similar
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews to <acronym class="acronym">BIND</acronym> 8; however, there are a few new
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews of configuration, such as views. <acronym class="acronym">BIND</acronym>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews 8 configuration files should work with few alterations in <acronym class="acronym">BIND</acronym>
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
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews found in <acronym class="acronym">BIND</acronym> 9.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <acronym class="acronym">BIND</acronym> 4 configuration files can be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein converted to the new format
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Following is a list of elements used throughout the <acronym class="acronym">BIND</acronym> configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein file documentation:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The name of an <code class="varname">address_match_list</code> as
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <a href="Bv9ARM.ch06.html#address_match_lists" title="Address Match Lists">the section called “Address Match Lists”</a>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews A named list of one or more <code class="varname">ip_addr</code>
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews with optional <code class="varname">key_id</code> and/or
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews A <code class="varname">masters_list</code> may include other
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A quoted string which will be used as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a DNS name, for example "<code class="literal">my.test.domain</code>".
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater A list of one or more <code class="varname">domain_name</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein One to four integers valued 0 through
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 255 separated by dots (`.'), such as <span><strong class="command">123</strong></span>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt An IPv6 address, such as <span><strong class="command">2001:db8::1234</strong></span>.
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews IPv6 scoped addresses that have ambiguity on their
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews scope zones must be disambiguated by an appropriate
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews zone ID with the percent character (`%') as
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews delimiter. It is strongly recommended to use
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews string zone names rather than numeric identifiers,
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews in order to be robust against system configuration
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews changes. However, since there is no standard
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews mapping for such names and identifier values,
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews currently only interface names as link identifiers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are supported, assuming one-to-one mapping between
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews interfaces and links. For example, a link-local
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt address <span><strong class="command">fe80::1</strong></span> on the link
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt attached to the interface <span><strong class="command">ne0</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt can be specified as <span><strong class="command">fe80::1%ne0</strong></span>.
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews Note that on most systems link-local addresses
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews always have the ambiguity, and need to be
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews disambiguated.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein An <code class="varname">ip4_addr</code> or <code class="varname">ip6_addr</code>.
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User A <code class="varname">number</code> between 0 and 63, used
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User to select a differentiated services code point (DSCP)
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User value for use with outgoing traffic on operating systems
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User that support DSCP.
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews The <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
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Trailing zeros in a <code class="varname">ip_addr</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may omitted.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt For example, <span><strong class="command">127/8</strong></span> is the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt network <span><strong class="command">127.0.0.0</strong></span> with
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt netmask <span><strong class="command">255.0.0.0</strong></span> and <span><strong class="command">1.2.3.0/28</strong></span> is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt network <span><strong class="command">1.2.3.0</strong></span> with netmask <span><strong class="command">255.255.255.240</strong></span>.
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews When specifying a prefix involving a IPv6 scoped address
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews the scope may be omitted. In that case the prefix will
ceeb18e6907a10547859faa340ecad83bedae90cMark Andrews match packets from any scope.
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.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews 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>.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater A list of an <code class="varname">ip_port</code> or a port
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater A port range is specified in the form of
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <strong class="userinput"><code>range</code></strong> followed by
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater two <code class="varname">ip_port</code>s,
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <code class="varname">port_high</code>, which represents
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater port numbers from <code class="varname">port_low</code> through
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <code class="varname">port_high</code>, inclusive.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <code class="varname">port_low</code> must not be larger than
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <strong class="userinput"><code>range 1024 65535</code></strong> represents
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater ports from 1024 through 65535.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater In either case an asterisk (`*') character is not
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater allowed as a valid <code class="varname">ip_port</code>.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User A 64-bit unsigned integer, or the keywords
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User <strong class="userinput"><code>unlimited</code></strong> or
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User <strong class="userinput"><code>default</code></strong>.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User Integers may take values
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User 0 <= value <= 18446744073709551615, though
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User certain parameters
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (such as <span><strong class="command">max-journal-size</strong></span>) may
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User use a more limited range within these extremes.
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User In most cases, setting a value to 0 does not
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User literally mean zero; it means "undefined" or
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User "as big as possible", depending on the context.
a24330c4805a224191ab687d0291963062fe3355Tinderbox User See the expalantions of particular parameters
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User that use <code class="varname">size_spec</code>
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User for details on how they interpret its use.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User Numeric values can optionally be followed by a
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User scaling factor:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <strong class="userinput"><code>K</code></strong> or <strong class="userinput"><code>k</code></strong>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews for kilobytes,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <strong class="userinput"><code>M</code></strong> or <strong class="userinput"><code>m</code></strong>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews for megabytes, and
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User <strong class="userinput"><code>G</code></strong> or <strong class="userinput"><code>g</code></strong>
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User for gigabytes, which scale by 1024, 1024*1024, and
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User 1024*1024*1024 respectively.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User <code class="varname">unlimited</code> generally means
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User "as big as possible", and is usually the best
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User way to safely set a very large number.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User uses the limit that was in force when the server was started.
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User Either <strong class="userinput"><code>yes</code></strong> or <strong class="userinput"><code>no</code></strong>.
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User The words <strong class="userinput"><code>true</code></strong> and <strong class="userinput"><code>false</code></strong> are
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User also accepted, as are the numbers <strong class="userinput"><code>1</code></strong>
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User and <strong class="userinput"><code>0</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein One of <strong class="userinput"><code>yes</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <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.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<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="id2572947"></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="id2573043"></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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User statements. The elements which constitute an address match
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User list can be any of the following:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a key ID, as defined by the <span><strong class="command">key</strong></span>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<li>the name of an address match list defined with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">acl</strong></span> statement
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<li>a nested address match list enclosed in braces</li>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Elements can be negated with a leading exclamation mark (`!'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and the match list names "any", "none", "localhost", and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "localnets" are predefined. More information on those names
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt can be found in the description of the acl statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The addition of the key clause made the name of this syntactic
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User element something of a misnomer, since security keys can be used
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to validate access without regard to a host or network address.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Nonetheless, the term "address match list" is still used
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt throughout the documentation.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User When a given IP address or prefix is compared to an address
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User match list, the comparison takes place in approximately O(1)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt time. However, key comparisons require that the list of keys
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User be traversed until a matching key is found, and therefore may
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User be somewhat slower.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The interpretation of a match depends on whether the list is being
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used for access control, defining <span><strong class="command">listen-on</strong></span> ports, or in a
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">sortlist</strong></span>, and whether the element was negated.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User When used as an access control list, a non-negated match
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allows access and a negated match denies access. If
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein there is no match, access is denied. The clauses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-notify</strong></span>,
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">allow-recursion</strong></span>,
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">allow-recursion-on</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query</strong></span>,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">allow-query-on</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query-cache</strong></span>,
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">allow-query-cache-on</strong></span>,
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">allow-transfer</strong></span>,
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">allow-update</strong></span>,
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">allow-update-forwarding</strong></span>, and
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews <span><strong class="command">blackhole</strong></span> all use address match
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User lists. Similarly, the <span><strong class="command">listen-on</strong></span> option will cause the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server to refuse queries on any of the machine's
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt addresses which do not match the list.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Order of insertion is significant. If more than one element
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews in an ACL is found to match a given IP address or prefix,
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews preference will be given to the one that came
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews <span class="emphasis"><em>first</em></span> in the ACL definition.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Because of this first-match behavior, an element that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt defines a subset of another element in the list should
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt come before the broader element, regardless of whether
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt either is negated. For example, in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">1.2.3/24; ! 1.2.3.13;</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the 1.2.3.13 element is completely useless because the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt algorithm will match any lookup for 1.2.3.13 to the 1.2.3/24
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt element. Using <span><strong class="command">! 1.2.3.13; 1.2.3/24</strong></span> fixes
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt that problem by having 1.2.3.13 blocked by the negation, but
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt all other 1.2.3.* hosts fall through.
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2573317"></a>Comment Syntax</h3></div></div></div>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater The <acronym class="acronym">BIND</acronym> 9 comment syntax allows for
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews comments to appear
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews anywhere that whitespace may appear in a <acronym class="acronym">BIND</acronym> configuration
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews file. To appeal to programmers of all kinds, they can be written
4556ad3a270bf049b3225433a402666aaffe3c36Mark Andrews<div class="titlepage"><div><div><h4 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2573332"></a>Syntax</h4></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting">/* This is a <acronym class="acronym">BIND</acronym> comment as in C */</pre>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">// This is a <acronym class="acronym">BIND</acronym> comment as in C++</pre>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<pre class="programlisting"># This is a <acronym class="acronym">BIND</acronym> comment as in common UNIX shells
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and perl</pre>
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2573362"></a>Definition and Usage</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Comments may appear anywhere that whitespace may appear in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a <acronym class="acronym">BIND</acronym> configuration file.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User C-style comments start with the two characters /* (slash,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein star) and end with */ (star, slash). Because they are completely
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews delimited with these characters, they can be used to comment only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a portion of a line or to span multiple lines.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein C-style comments cannot be nested. For example, the following
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is not valid because the entire comment ends with the first */:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<pre class="programlisting">/* This is the start of a comment.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This is still part of the comment.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein/* This is an incorrect attempt at nesting a comment. */
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with the character <code class="literal">#</code> (number sign)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and continue to the end of the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User physical line, as in C++ comments.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting"># This is the start of a comment. The next line
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# is a new comment, even though it is logically
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to start a comment such as you would in a zone file. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein semicolon indicates the end of a configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="Configuration_File_Grammar"></a>Configuration File Grammar</h2></div></div></div>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce A <acronym class="acronym">BIND</acronym> 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt declares control channels to be used
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">key</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specifies key information for use in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt authentication and authorization using TSIG.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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 zones'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">masters</strong></span> or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">also-notify</strong></span> lists.
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>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt sets certain configuration options on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a per-server basis.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">statistics-channels</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein declares communication channels to get access to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> statistics.
c6d486af36165da7eb970354981d145249e342e4Mark Andrews <p><span><strong class="command">trusted-keys</strong></span></p>
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater defines trusted DNSSEC keys.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">managed-keys</strong></span></p>
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater lists DNSSEC keys to be kept up to date
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt using RFC 5011 trust anchor maintenance.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">view</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein defines a view.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">zone</strong></span></p>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater defines a zone.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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="id2573909"></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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="acl"></a><span><strong class="command">acl</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">acl</strong></span> statement assigns a symbolic
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User name to an address match list. It gets its name from a primary
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User use of address match lists: Access Control Lists (ACLs).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that an address match list's name must be defined
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with <span><strong class="command">acl</strong></span> before it can be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein elsewhere; no forward references are allowed.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User The following ACLs are built-in:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">any</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Matches all hosts.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">none</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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>
a87790b9d8e062fac1b2dfb8903e77bfe92a3891Tinderbox User only matches the local
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt IPv6 addresses, just like <span><strong class="command">localhost</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt When <acronym class="acronym">BIND</acronym> 9 is built with GeoIP support,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ACLs can also be used for geographic access restrictions.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is done by specifying an ACL element of the form:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">geoip [<span class="optional">db <em class="replaceable"><code>database</code></em></span>] <em class="replaceable"><code>field</code></em> <em class="replaceable"><code>value</code></em></strong></span>
a87790b9d8e062fac1b2dfb8903e77bfe92a3891Tinderbox User The <em class="replaceable"><code>field</code></em> indicates which field
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to search for a match. Available fields are "country",
a87790b9d8e062fac1b2dfb8903e77bfe92a3891Tinderbox User "region", "city", "continent", "postal" (postal code),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "metro" (metro code), "area" (area code), "tz" (timezone),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "isp", "org", "asnum", "domain" and "netspeed".
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>value</code></em> is the value to searched for
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt within the database. A string may be quoted if it contains
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein spaces or other special characters. If this is a "country"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein search and the string is two characters long, then it must be a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein standard ISO-3166-1 two-letter country code, and if it is three
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein characters long then it must be an ISO-3166-1 three-letter
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User country code; otherwise it is the full name of the country.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Similarly, if this is a "region" search and the string is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User two characters long, then it must be a standard two-letter state
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or province abbreviation; otherwise it is the full name of the
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User state or province.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The <em class="replaceable"><code>database</code></em> field indicates which
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User GeoIP database to search for a match. In most cases this is
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User unnecessary, because most search fields can only be found in
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews a single database. However, searches for country can be
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater answered from the "city", "region", or "country" databases,
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User and searches for region (i.e., state or province) can be
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User answered from the "city" or "region" databases. For these
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews search types, specifying a <em class="replaceable"><code>database</code></em>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce will force the query to be answered from that database and no
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein other. If <em class="replaceable"><code>database</code></em> is not
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User specified, then these queries will be answered from the "city",
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User database if it is installed, or the "region" database if it is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein installed, or the "country" database, in that order.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Some example GeoIP ACLs:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingeoip country JAP;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgeoip db country country Canada;
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgeoip db region region WA;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeingeoip city "San Francisco";
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usergeoip region Oklahoma;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgeoip postal 95062;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgeoip org "Internet Systems Consortium";
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2574220"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting"><span><strong class="command">controls</strong></span> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ inet ( ip_addr | * ) [ port ip_port ]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews allow { <em class="replaceable"><code> address_match_list </code></em> }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein keys { <em class="replaceable"><code>key_list</code></em> }; ]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [ inet ...; ]
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews [ 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>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt keys { <em class="replaceable"><code>key_list</code></em> }; ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [ unix ...; ]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h3 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="controls_statement_definition_and_usage"></a><span><strong class="command">controls</strong></span> Statement Definition and
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The <span><strong class="command">controls</strong></span> statement declares control
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews channels to be used by system administrators to control the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User operation of the name server. These control channels are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt used by the <span><strong class="command">rndc</strong></span> utility to send
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews commands to and retrieve non-DNS results from a name server.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews An <span><strong class="command">inet</strong></span> control channel is a TCP socket
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt listening at the specified <span><strong class="command">ip_port</strong></span> on the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews 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> (asterisk) is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User interpreted as the IPv4 wildcard address; connections will be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein accepted on any of the system's IPv4 addresses.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt To listen on the IPv6 wildcard address,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt use an <span><strong class="command">ip_addr</strong></span> of <code class="literal">::</code>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If you will only use <span><strong class="command">rndc</strong></span> on the local host,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews using the loopback address (<code class="literal">127.0.0.1</code>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt or <code class="literal">::1</code>) is recommended for maximum security.
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User If no port is specified, port 953 is used. The asterisk
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User "<code class="literal">*</code>" cannot be used for <span><strong class="command">ip_port</strong></span>.
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User The ability to issue commands over the control channel is
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User restricted by the <span><strong class="command">allow</strong></span> and
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User <span><strong class="command">keys</strong></span> clauses.
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User Connections to the control channel are permitted based on the
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User <span><strong class="command">address_match_list</strong></span>. This is for simple
d7a61cfbe56ebfa1682e949e48b4d08840234d8fTinderbox User IP address based filtering only; any <span><strong class="command">key_id</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User elements of the <span><strong class="command">address_match_list</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt are ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A <span><strong class="command">unix</strong></span> control channel is a UNIX domain
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt socket listening at the specified path in the file system.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Access to the socket is specified by the <span><strong class="command">perm</strong></span>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews as the permissions on the socket itself are ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The primary authorization mechanism of the command
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews 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.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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>)
33682c92e96b39c395cdb2c3feb8eb5914e7d5a8Andreas Gustafsson for information about configuring keys in <span><strong class="command">rndc</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If no <span><strong class="command">controls</strong></span> statement is present,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <code class="filename">/etc</code> (or whatever <code class="varname">sysconfdir</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein was specified as when <acronym class="acronym">BIND</acronym> was built).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To create a <code class="filename">rndc.key</code> file, run
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>rndc-confgen -a</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <code class="filename">rndc.key</code> feature was created to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ease the transition of systems from <acronym class="acronym">BIND</acronym> 8,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein which did not have digital signatures on its command channel
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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 <acronym class="acronym">BIND</acronym> 8
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt configuration file in <acronym class="acronym">BIND</acronym> 9 unchanged,
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews and still have <span><strong class="command">rndc</strong></span> work the same way
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <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
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Since the <code class="filename">rndc.key</code> feature
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is only intended to allow the backward-compatible usage of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <acronym class="acronym">BIND</acronym> 8 configuration files, this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein feature does not
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User have a high degree of configurability. You cannot easily change
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the key name or the size of the secret, so you should make a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">rndc.conf</code> with your own key if you
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User wish to change
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User those things. The <code class="filename">rndc.key</code> file
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User permissions set such that only the owner of the file (the user that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> is running as) can access it.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User desire greater flexibility in allowing other users to access
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">rndc</strong></span> commands, then you need to create
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="filename">rndc.conf</code> file 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:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">controls { };</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h3 class="title">
ed38240f42ff9bc19d95669a2a4743b9ff7e7a64Tinderbox User<a name="id2574580"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
ed38240f42ff9bc19d95669a2a4743b9ff7e7a64Tinderbox User<pre class="programlisting"><span><strong class="command">include</strong></span> <em class="replaceable"><code>filename</code></em>;</pre>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h3 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="id2574597"></a><span><strong class="command">include</strong></span> Statement Definition and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">include</strong></span> statement inserts the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt specified file at the point where the <span><strong class="command">include</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt statement is encountered. The <span><strong class="command">include</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User that are readable only by the name server.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2574689"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting"><span><strong class="command">key</strong></span> <em class="replaceable"><code>key_id</code></em> {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt algorithm <em class="replaceable"><code>string</code></em>;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein secret <em class="replaceable"><code>string</code></em>;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2574712"></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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Usage">the section called “<span><strong class="command">controls</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage”</a>).
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews The <span><strong class="command">key</strong></span> statement can occur at the
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews of the configuration file or inside a <span><strong class="command">view</strong></span>
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews statement. Keys defined in top-level <span><strong class="command">key</strong></span>
a1b05dea35aa30b152a47115e18bbe679d3fcf19Mark Andrews statements can be used in all views. Keys intended for use in
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews a <span><strong class="command">controls</strong></span> statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (see <a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage" title="controls Statement Definition and
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews Usage">the section called “<span><strong class="command">controls</strong></span> Statement Definition and
7329012471d165cd3dc4180ad2a0a43de91e7f01Mark Andrews 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
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User key name, is a domain name uniquely identifying the key. It can
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt be used in a <span><strong class="command">server</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt statement to cause requests sent to that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt server to be signed with this key, or in address match lists to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt verify that incoming requests have been signed with a key
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt matching this name, algorithm, and secret.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <em class="replaceable"><code>algorithm_id</code></em> is a string
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt that specifies a security/authentication algorithm. Named
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and <code class="literal">hmac-sha512</code> TSIG authentication.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Truncated hashes are supported by appending the minimum
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce number of required bits preceded by a dash, e.g.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>secret_string</code></em> is the secret
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce to be used by the algorithm, and is treated as a base-64
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce encoded string.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2574803"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<pre class="programlisting"><span><strong class="command">logging</strong></span> {
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [ <span><strong class="command">channel</strong></span> <em class="replaceable"><code>channel_name</code></em> {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ( <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> ) ]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [ <span><strong class="command">size</strong></span> <em class="replaceable"><code>size_spec</code></em> ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein | <span><strong class="command">syslog</strong></span> <em class="replaceable"><code>syslog_facility</code></em>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt | <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> |
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <code class="option">info</code> | <code class="option">debug</code> [ <em class="replaceable"><code>level</code></em> ] | <code class="option">dynamic</code> ); ]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [ <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>; ]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [ <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> ; ... ]
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User<div class="titlepage"><div><div><h3 class="title">
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User<a name="id2574929"></a><span><strong class="command">logging</strong></span> Statement Definition and
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User The <span><strong class="command">logging</strong></span> statement configures a
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User variety of logging options for the name server. Its <span><strong class="command">channel</strong></span> phrase
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User associates output methods, format options and severity levels with
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User a name that can then be used with the <span><strong class="command">category</strong></span> phrase
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to select how various classes of messages are logged.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews 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; };
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User In <acronym class="acronym">BIND</acronym> 9, the logging configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is only established when
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the entire configuration file has been parsed. In <acronym class="acronym">BIND</acronym> 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.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2574981"></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>;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User particular syslog facility, to the standard error stream, or are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt discarded. It can optionally also limit the message severity level
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that will be accepted by the channel (the default is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">info</strong></span>), and whether to include a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span>-generated time stamp, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein category name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and/or severity level (the default is not to include any).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">null</strong></span> destination clause
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein causes all messages sent to the channel to be discarded;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in that case, other options for the channel are meaningless.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews The <span><strong class="command">file</strong></span> destination clause directs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to a disk file. It can include limitations
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein both on how large the file is allowed to become, and how many
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein three old versions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the file <code class="filename">lamers.log</code>, then just
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein before it is opened
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">lamers.log.1</code> is renamed to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <code class="filename">lamers.log.2</code>, <code class="filename">lamers.log.0</code> is renamed
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to <code class="filename">lamers.log.1</code>, and <code class="filename">lamers.log</code> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein renamed to <code class="filename">lamers.log.0</code>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then renaming is only done when the file being opened exceeds the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User growth. If the file ever exceeds the size, then <span><strong class="command">named</strong></span> will
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt stop writing to the file unless it has a <span><strong class="command">versions</strong></span> option
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt associated with it. If backup versions are kept, the files are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein described above and a new one begun. If there is no
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce <span><strong class="command">versions</strong></span> option, no more data will
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce be written to the log
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce until some out-of-band mechanism removes or truncates the log to
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce less than the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein maximum size. The default behavior is not to limit the size of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Example usage of the <span><strong class="command">size</strong></span> and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">versions</strong></span> options:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting">channel an_example_channel {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt file "example.log" versions 3 size 20m;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt print-time yes;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt syslog facility as described in the <span><strong class="command">syslog</strong></span> man
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt page. Known facilities are <span><strong class="command">kern</strong></span>, <span><strong class="command">user</strong></span>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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>,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">ftp</strong></span>, <span><strong class="command">local0</strong></span>, <span><strong class="command">local1</strong></span>,
8a8a1fe98c89d0c683387b15a93b36ee7fe34b77Tinderbox User <span><strong class="command">local2</strong></span>, <span><strong class="command">local3</strong></span>, <span><strong class="command">local4</strong></span>,
8a8a1fe98c89d0c683387b15a93b36ee7fe34b77Tinderbox User <span><strong class="command">local5</strong></span>, <span><strong class="command">local6</strong></span> and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">local7</strong></span>, however not all facilities
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt are supported on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein all operating systems.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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 On Windows machines syslog messages are directed to the EventViewer.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">severity</strong></span> clause works like <span><strong class="command">syslog</strong></span>'s
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt "priorities", except that they can also be used if you are writing
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt straight to a file rather than using <span><strong class="command">syslog</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Messages which are not at least of the severity level given will
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be dropped. If the situation were reversed, with <span><strong class="command">named</strong></span> writing
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User messages of only <span><strong class="command">warning</strong></span> or higher,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then <span><strong class="command">syslogd</strong></span> would
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein print all messages it received from the channel.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">stderr</strong></span> destination clause
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt channel to the server's standard error stream. This is intended
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce it is in debugging mode. If the server's global debug level is
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt can be set to zero, and debugging mode turned off, by running <span><strong class="command">rndc
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:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting">channel specific_debug_level {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt severity debug 3;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will get debugging output of level 3 or less any time the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt server is in debugging mode, regardless of the global debugging
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein level. Channels with <span><strong class="command">dynamic</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt severity use the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt server's global debug level to determine what messages to print.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User but is usually
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein pointless since <span><strong class="command">syslog</strong></span> also logs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the date and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User time. If <span><strong class="command">print-category</strong></span> is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt requested, then the
a3ff24aaa545c45b8c581b2127d02d735aff8881Tinderbox User category of the message will be logged as well. Finally, if <span><strong class="command">print-severity</strong></span> is
a3ff24aaa545c45b8c581b2127d02d735aff8881Tinderbox User on, then the severity level of the message will be logged. The <span><strong class="command">print-</strong></span> options may
a3ff24aaa545c45b8c581b2127d02d735aff8881Tinderbox User be used in any combination, and will always be printed in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein order: time, category, severity. Here is an example where all
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater <span><strong class="command">named</strong></span>'s default logging as follows.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater 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>.
7c0ebe385b36d64c2424dd5a3e62d441c08e7037Andreas Gustafsson<pre class="programlisting">channel default_syslog {
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson // send to syslog's daemon facility
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater syslog daemon;
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater // only send priority info and higher
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User severity info;
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updaterchannel default_debug {
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater // write to named.run in the working directory
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce // Note: stderr is used instead of "named.run" if
7c0ebe385b36d64c2424dd5a3e62d441c08e7037Andreas Gustafsson // the server is started with the '-f' option.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater // log at the server's current debug level
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater severity dynamic;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucechannel default_stderr {
7c0ebe385b36d64c2424dd5a3e62d441c08e7037Andreas Gustafsson // writes to stderr
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater // only send priority info and higher
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater severity info;
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox Userchannel null {
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User // toss anything sent to this channel
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt nonzero. It normally writes to a file called <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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User changed to the
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to capture this output, you must run the server with the "<code class="option">-g</code>"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein option and redirect standard error to a file.
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User Once a channel is defined, it cannot be redefined. Thus you
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User cannot alter the built-in channels directly, but you can modify
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User 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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User There are many categories, so you can send the logs you want
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<pre class="programlisting">channel my_security_channel {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt file "my_security_file";
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User severity info;
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox Usercategory security {
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User my_security_channel;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User default_syslog;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein default_debug;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To discard all messages in a category, specify the <span><strong class="command">null</strong></span> channel:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<pre class="programlisting">category xfer-out { null; };
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucecategory notify { null; };
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson Following are the available categories and brief descriptions
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson of the types of log information they contain. More
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson categories may be added in future <acronym class="acronym">BIND</acronym> releases.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">default</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default category defines the logging
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt options for those categories where no specific
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt configuration has been
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">general</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User The catch-all. Many things still aren't
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein classified into categories, and they all end up here.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">database</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Messages relating to the databases used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein internally by the name server to store zone and cache
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">security</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Approval and denial of requests.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">config</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Configuration file parsing and processing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">resolver</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User DNS resolution, such as the recursive
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User lookups performed on behalf of clients by a caching name
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">xfer-in</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Zone transfers the server is receiving.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">xfer-out</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Zone transfers the server is sending.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">notify</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The NOTIFY protocol.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">client</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Processing of client requests.
90d087cf9c73028362c63eaa41c87acc76fb8ec3Tinderbox User <p><span><strong class="command">unmatched</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Messages that <span><strong class="command">named</strong></span> was unable to determine the
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User 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.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User This category is best sent to a file or stderr, by
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User default it is sent to
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User the <span><strong class="command">null</strong></span> channel.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">network</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Network operations.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">update</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Dynamic updates.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">update-security</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Approval and denial of update requests.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">queries</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Specify where queries should be logged to.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User At startup, specifying the category <span><strong class="command">queries</strong></span> will also
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address and port number, and the query name,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein class and type. Next it reports whether the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Recursion Desired flag was set (+ if set, -
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User if not set), if the query was signed (S),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein EDNS was in use (E), if TCP was used (T), if
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User DO (DNSSEC Ok) was set (D), or if CD (Checking
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Disabled) was set (C). After this the
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User destination address the query was sent to is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="computeroutput">client 127.0.0.1#62536 (www.example.com): query: www.example.com IN AAAA +SE</code>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <code class="computeroutput">client ::1#62537 (www.example.net): query: www.example.net IN AAAA -SE</code>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User (The first part of this log message, showing the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein repeated in all subsequent log messages related
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the same query.)
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">query-errors</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Information about queries that resulted in some
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">dispatch</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Dispatching of incoming packets to the
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User server modules where they are to be processed.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">dnssec</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User DNSSEC and TSIG protocol processing.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <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 query those servers during resolution.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">delegation-only</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Delegation only. Logs queries that have been
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater forced to NXDOMAIN as the result of a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt delegation-only zone or a
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <span><strong class="command">delegation-only</strong></span> in a hint
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater or stub zone declaration.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">edns-disabled</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Log queries that have been forced to use plain
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User DNS due to timeouts. This is often due to
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User the remote servers not being RFC 1034 compliant
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User (not always returning FORMERR or similar to
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User EDNS queries and other extensions to the DNS
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User when they are not understood). In other words, this is
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User targeted at servers that fail to respond to
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User DNS queries that they don't understand.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Note: the log message can also be due to
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater packet loss. Before reporting servers for
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater non-RFC 1034 compliance they should be re-tested
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to determine the nature of the non-compliance.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This testing should prevent or reduce the
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User number of false-positive reports.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Note: eventually <span><strong class="command">named</strong></span> will have to stop
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User treating such timeouts as due to RFC 1034 non
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User compliance and start treating it as plain
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User packet loss. Falsely classifying packet
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User loss as due to RFC 1034 non compliance impacts
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on DNSSEC validation which requires EDNS for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the DNSSEC records to be returned.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">RPZ</strong></span></p>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Information about errors in response policy zone files,
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User rewritten responses, and at the highest
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">debug</strong></span> levels, mere rewriting
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User <p><span><strong class="command">rate-limit</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The start, periodic, and final notices of the
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User rate limiting of a stream of responses are logged at
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">info</strong></span> severity in this category.
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User These messages include a hash value of the domain name
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User of the response and the name itself,
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User except when there is insufficient memory to record
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User the name for the final notice
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User The final notice is normally delayed until about one
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User minute after rate limit stops.
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User A lack of memory can hurry the final notice,
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User in which case it starts with an asterisk (*).
41f0b3e098448867a0e7d41705214b650f3fccb3Tinderbox User Various internal events are logged at debug 1 level
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Rate limiting of individual requests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is logged in the <span><strong class="command">query-errors</strong></span> category.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User<div class="titlepage"><div><div><h4 class="title">
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User<a name="id2576609"></a>The <span><strong class="command">query-errors</strong></span> Category</h4></div></div></div>
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews The <span><strong class="command">query-errors</strong></span> category is
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews specifically intended for debugging purposes: To identify
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt why and how specific queries result in responses which
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User indicate an error.
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews Messages of this category are therefore only logged
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User with <span><strong class="command">debug</strong></span> levels.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User At the debug levels of 1 or higher, each response with the
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews rcode of SERVFAIL is logged as follows:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="computeroutput">client 127.0.0.1#61502: query failed (SERVFAIL) for www.example.com/IN/AAAA at query.c:3880</code>
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User This means an error resulting in SERVFAIL was
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User detected at line 3880 of source file
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User Log messages of this level will particularly
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater help identify the cause of SERVFAIL for an
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User authoritative server.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User At the debug levels of 2 or higher, detailed context
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User information of recursive resolutions that resulted in
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User SERVFAIL is logged.
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox User The log message will look like as follows:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntfetch completed at resolver.c:2970 for www.example.com/A
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox Userin 30.000183: timed out/success [domain:example.com,
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox Userreferral:2,restart:7,qrysent:8,timeout:5,lame:0,neterr:0,
fa535fa05f36a1a45027faf9d116cfa3249d9d72Tinderbox Userbadresp:1,adberr:0,findfail:0,valfail:0]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The first part before the colon shows that a recursive
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User resolution for AAAA records of www.example.com completed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in 30.000183 seconds and the final result that led to the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User SERVFAIL was determined at line 2970 of source file
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The following part shows the detected final result and the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater latest result of DNSSEC validation.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The latter is always success when no validation attempt
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater In this example, this query resulted in SERVFAIL probably
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt because all name servers are down or unreachable, leading
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater to a timeout in 30 seconds.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User DNSSEC validation was probably not attempted.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The last part enclosed in square brackets shows statistics
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User information collected for this particular resolution
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The <code class="varname">domain</code> field shows the deepest zone
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User that the resolver reached;
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater it is the zone where the error was finally detected.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The meaning of the other fields is summarized in the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater following table.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<div class="informaltable"><table border="1">
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">referral</code></p>
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The number of referrals the resolver received
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater throughout the resolution process.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater In the above example this is 2, which are most
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">restart</code></p>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The number of cycles that the resolver tried
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater remote servers at the <code class="varname">domain</code>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater In each cycle the resolver sends one query
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater (possibly resending it, depending on the response)
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater to each known name server of
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the <code class="varname">domain</code> zone.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The number of queries the resolver sent at the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">timeout</code></p>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The number of timeouts since the resolver
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater received the last response.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The number of lame servers the resolver detected
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater at the <code class="varname">domain</code> zone.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater A server is detected to be lame either by an
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater invalid response or as a result of lookup in
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater BIND9's address database (ADB), where lame
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater servers are cached.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">neterr</code></p>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The number of erroneous results that the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater resolver encountered in sending queries
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater at the <code class="varname">domain</code> zone.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater One common case is the remote server is
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater unreachable and the resolver receives an ICMP
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater unreachable error message.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">badresp</code></p>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The number of unexpected responses (other than
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <code class="varname">lame</code>) to queries sent by the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater resolver at the <code class="varname">domain</code> zone.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">adberr</code></p>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Failures in finding remote server addresses
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater of the <code class="varname">domain</code> zone in the ADB.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater One common case of this is that the remote
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater server's name does not have any address records.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">findfail</code></p>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Failures of resolving remote server addresses.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater This is a total number of failures throughout
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the resolution process.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <p><code class="varname">valfail</code></p>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Failures of DNSSEC validation.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Validation failures are counted throughout
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the resolution process (not limited to
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater the <code class="varname">domain</code> zone), but should
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater only happen in <code class="varname">domain</code>.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater At the debug levels of 3 or higher, the same messages
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater as those at the debug 1 level are logged for other errors
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater than SERVFAIL.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Note that negative responses such as NXDOMAIN are not
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater regarded as errors here.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater At the debug levels of 4 or higher, the same messages
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater as those at the debug 2 level are logged for other errors
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater than SERVFAIL.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater Unlike the above case of level 3, messages are logged for
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater negative responses.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater This is because any unexpected results can be difficult to
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater debug in the recursion case.
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<div class="titlepage"><div><div><h3 class="title">
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<a name="id2577060"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater This is the grammar of the <span><strong class="command">lwres</strong></span>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater statement in the <code class="filename">named.conf</code> file:
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<pre class="programlisting"><span><strong class="command">lwres</strong></span> {
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<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">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ;
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; ... </span>] }; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> view <em class="replaceable"><code>view_name</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<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>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater [<span class="optional"> ndots <em class="replaceable"><code>number</code></em>; </span>]
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<div class="titlepage"><div><div><h3 class="title">
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater<a name="id2577212"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater The <span><strong class="command">lwres</strong></span> statement configures the
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater server to also act as a lightweight resolver server. (See
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <a href="Bv9ARM.ch05.html#lwresd" title="Running a Resolver Daemon">the section called “Running a Resolver Daemon”</a>.) There may be multiple
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater <span><strong class="command">lwres</strong></span> statements configuring
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater lightweight resolver servers with different properties.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">listen-on</strong></span> statement specifies a
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater addresses (and ports) that this instance of a lightweight resolver
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater should accept requests on. If no port is specified, port 921 is
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User matching this view. If this statement is omitted, the default view
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User used, and if there is no default view, an error is triggered.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt list of domains
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User which are appended to relative names in queries.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">ndots</strong></span> statement is equivalent to
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User <span><strong class="command">ndots</strong></span> statement in
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User <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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User exact match lookup before search path elements are appended.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h3 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2577276"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews<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>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> |
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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>] };
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h3 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2577325"></a><span><strong class="command">masters</strong></span> Statement Definition and
0efe2893b6a53d11b84b6ac0fe4508a0e9d1daddTinderbox User<p><span><strong class="command">masters</strong></span>
0efe2893b6a53d11b84b6ac0fe4508a0e9d1daddTinderbox User lists allow for a common set of masters to be easily used by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein multiple stub and slave zones in their <span><strong class="command">masters</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or <span><strong class="command">also-notify</strong></span> lists.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="id2577347"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is the grammar of the <span><strong class="command">options</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement in the <code class="filename">named.conf</code> file:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting"><span><strong class="command">options</strong></span> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> attach-cache <em class="replaceable"><code>cache_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> version <em class="replaceable"><code>version_string</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> hostname <em class="replaceable"><code>hostname_string</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> server-id <em class="replaceable"><code>server_id_string</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> directory <em class="replaceable"><code>path_name</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> key-directory <em class="replaceable"><code>path_name</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> managed-keys-directory <em class="replaceable"><code>path_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> named-xfer <em class="replaceable"><code>path_name</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> tkey-gssapi-keytab <em class="replaceable"><code>path_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> tkey-gssapi-credential <em class="replaceable"><code>principal</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> tkey-domain <em class="replaceable"><code>domainname</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> tkey-dhkey <em class="replaceable"><code>key_name</code></em> <em class="replaceable"><code>key_tag</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> cache-file <em class="replaceable"><code>path_name</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> dump-file <em class="replaceable"><code>path_name</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> bindkeys-file <em class="replaceable"><code>path_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> secroots-file <em class="replaceable"><code>path_name</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> session-keyfile <em class="replaceable"><code>path_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> session-keyname <em class="replaceable"><code>key_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> session-keyalg <em class="replaceable"><code>algorithm_id</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> memstatistics <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> memstatistics-file <em class="replaceable"><code>path_name</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> pid-file <em class="replaceable"><code>path_name</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> recursing-file <em class="replaceable"><code>path_name</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> statistics-file <em class="replaceable"><code>path_name</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> zone-statistics <em class="replaceable"><code>full</code></em> | <em class="replaceable"><code>terse</code></em> | <em class="replaceable"><code>none</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> auth-nxdomain <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> deallocate-on-exit <em class="replaceable"><code>yes_or_no</code></em>; </span>]
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User [<span class="optional"> dialup <em class="replaceable"><code>dialup_option</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> fake-iquery <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> fetch-glue <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> flush-zones-on-shutdown <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> has-old-clients <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> host-statistics <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> host-statistics-max <em class="replaceable"><code>number</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> minimal-responses <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> multiple-cnames <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<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>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> recursion <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> request-nsid <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> rfc2308-type1 <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> use-id-pool <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> maintain-ixfr-base <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> ixfr-from-differences (<em class="replaceable"><code>yes_or_no</code></em> | <code class="constant">master</code> | <code class="constant">slave</code>); </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> dnssec-enable <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> dnssec-validation (<em class="replaceable"><code>yes_or_no</code></em> | <code class="constant">auto</code>); </span>]
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User [<span class="optional"> dnssec-lookaside ( <em class="replaceable"><code>auto</code></em> |
fc74b733bf679e1b3fb1599e32d445dffe325208Tinderbox User <em class="replaceable"><code>no</code></em> |
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em> ); </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> dnssec-must-be-secure <em class="replaceable"><code>domain yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> dnssec-accept-expired <em class="replaceable"><code>yes_or_no</code></em>; </span>]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User [<span class="optional"> forward ( <em class="replaceable"><code>only</code></em> | <em class="replaceable"><code>first</code></em> ); </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; ... </span>] }; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> dual-stack-servers [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] {
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater ( <em class="replaceable"><code>domain_name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</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>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>]) ;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User ... }; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<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> )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User [<span class="optional"> check-dup-records ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<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>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> check-wildcard <em class="replaceable"><code>yes_or_no</code></em>; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> check-integrity <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> check-mx-cname ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> check-srv-cname ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> check-sibling <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> check-spf ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> allow-new-zones { <em class="replaceable"><code>yes_or_no</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> allow-notify { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> allow-query-on { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> allow-query-cache { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> allow-query-cache-on { <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>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> allow-recursion { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater [<span class="optional"> allow-recursion-on { <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"> allow-update-forwarding { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> update-check-ksk <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> dnssec-update-mode ( <em class="replaceable"><code>maintain</code></em> | <em class="replaceable"><code>no-resign</code></em> ); </span>]
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User [<span class="optional"> dnssec-dnskey-kskonly <em class="replaceable"><code>yes_or_no</code></em>; </span>]
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User [<span class="optional"> dnssec-loadkeys-interval <em class="replaceable"><code>number</code></em>; </span>]
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User [<span class="optional"> dnssec-secure-to-insecure <em class="replaceable"><code>yes_or_no</code></em> ;</span>]
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User [<span class="optional"> try-tcp-refresh <em class="replaceable"><code>yes_or_no</code></em>; </span>]
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User [<span class="optional"> allow-v6-synthesis { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> blackhole { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
0284e57b9b9dfaf2517a2cc3282ecf766b8ad075Automatic Updater [<span class="optional"> use-v4-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> avoid-v4-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater [<span class="optional"> use-v6-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews [<span class="optional"> avoid-v6-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> listen-on [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em> </span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> listen-on-v6 [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>]
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark Andrews{ <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> query-source ( ( <em class="replaceable"><code>ip4_addr</code></em> | <em class="replaceable"><code>*</code></em> )
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User [<span class="optional"> dscp <em class="replaceable"><code>ip_dscp</code></em></span>] |
54e57d8ff46096e9c6a9af95f2522b56cb3877b2Automatic Updater [<span class="optional"> address ( <em class="replaceable"><code>ip4_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
54e57d8ff46096e9c6a9af95f2522b56cb3877b2Automatic Updater [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] )
54e57d8ff46096e9c6a9af95f2522b56cb3877b2Automatic Updater [<span class="optional"> dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
54e57d8ff46096e9c6a9af95f2522b56cb3877b2Automatic Updater [<span class="optional"> query-source-v6 ( ( <em class="replaceable"><code>ip6_addr</code></em> | <em class="replaceable"><code>*</code></em> )
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> dscp <em class="replaceable"><code>ip_dscp</code></em></span>] |
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> address ( <em class="replaceable"><code>ip6_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] )
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User [<span class="optional"> use-queryport-pool <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> queryport-pool-ports <em class="replaceable"><code>number</code></em>; </span>]
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User [<span class="optional"> queryport-pool-updateinterval <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"> 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"> tcp-clients <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> reserved-sockets <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> recursive-clients <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> serial-query-rate <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> serial-queries <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> tcp-listen-queue <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> transfer-format <em class="replaceable"><code>( one-answer | many-answers )</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> transfers-in <em class="replaceable"><code>number</code></em>; </span>]
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User [<span class="optional"> transfers-out <em class="replaceable"><code>number</code></em>; </span>]
aa6c5a3e331958d3c92c2facdbd2b8daa55b5959Tinderbox User [<span class="optional"> transfers-per-ns <em class="replaceable"><code>number</code></em>; </span>]
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
53f41dd99da107af4e4e1e673d9c19a185463b24Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</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-delay <em class="replaceable"><code>seconds</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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic 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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User [<span class="optional"> notify-to-soa <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> also-notify { <em class="replaceable"><code>ip_addr</code></em>
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] [<span class="optional">key <em class="replaceable"><code>keyname</code></em></span>] ;
36da16fa31fa2a582afe67010ba449a57177fd2fAutomatic Updater [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] [<span class="optional">key <em class="replaceable"><code>keyname</code></em></span>] ; ... </span>] }; </span>]
36da16fa31fa2a582afe67010ba449a57177fd2fAutomatic Updater [<span class="optional"> max-ixfr-log-size <em class="replaceable"><code>number</code></em>; </span>]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater [<span class="optional"> max-journal-size <em class="replaceable"><code>size_spec</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> coresize <em class="replaceable"><code>size_spec</code></em> ; </span>]
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews [<span class="optional"> datasize <em class="replaceable"><code>size_spec</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> files <em class="replaceable"><code>size_spec</code></em> ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> stacksize <em class="replaceable"><code>size_spec</code></em> ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> cleaning-interval <em class="replaceable"><code>number</code></em>; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> heartbeat-interval <em class="replaceable"><code>number</code></em>; </span>]
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User [<span class="optional"> interface-interval <em class="replaceable"><code>number</code></em>; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> statistics-interval <em class="replaceable"><code>number</code></em>; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> topology { <em class="replaceable"><code>address_match_list</code></em> }</span>];
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> sortlist { <em class="replaceable"><code>address_match_list</code></em> }</span>];
e2e4d321999340802f77adaacd19c797d04b4b95Automatic 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>] };
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews [<span class="optional"> lame-ttl <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> max-ncache-ttl <em class="replaceable"><code>number</code></em>; </span>]
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews [<span class="optional"> max-cache-ttl <em class="replaceable"><code>number</code></em>; </span>]
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews [<span class="optional"> sig-validity-interval <em class="replaceable"><code>number</code></em> [<span class="optional"><em class="replaceable"><code>number</code></em></span>] ; </span>]
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews [<span class="optional"> sig-signing-nodes <em class="replaceable"><code>number</code></em> ; </span>]
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews [<span class="optional"> sig-signing-signatures <em class="replaceable"><code>number</code></em> ; </span>]
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User [<span class="optional"> sig-signing-type <em class="replaceable"><code>number</code></em> ; </span>]
82d13321f4dcc79a9aec992c7a1c4aaff8983adaAutomatic Updater [<span class="optional"> min-roots <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> use-ixfr <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>]
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews [<span class="optional"> request-ixfr <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> treat-cr-as-space <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews [<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>]
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews [<span class="optional"> max-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ;
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User [<span class="optional"> additional-from-auth <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
aa1905addf2f33d90aa020080e4e77a8651e829aTinderbox User [<span class="optional"> additional-from-cache <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
083a5588a3488b6335ee7bafa505d00644c7c58dMark Andrews [<span class="optional"> random-device <em class="replaceable"><code>path_name</code></em> ; </span>]
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater [<span class="optional"> max-cache-size <em class="replaceable"><code>size_spec</code></em> ; </span>]
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater [<span class="optional"> match-mapped-addresses <em class="replaceable"><code>yes_or_no</code></em>; </span>]
db6353c9b89628e16f6e729ce57baabad3460c49Automatic Updater [<span class="optional"> filter-aaaa-on-v4 ( <em class="replaceable"><code>yes_or_no</code></em> | <em class="replaceable"><code>break-dnssec</code></em> ); </span>]
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater [<span class="optional"> filter-aaaa-on-v6 ( <em class="replaceable"><code>yes_or_no</code></em> | <em class="replaceable"><code>break-dnssec</code></em> ); </span>]
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews [<span class="optional"> filter-aaaa { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> dns64 <em class="replaceable"><code>ipv6-prefix</code></em> {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> clients { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User [<span class="optional"> mapped { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User [<span class="optional"> exclude { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User [<span class="optional"> suffix IPv6-address; </span>]
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater [<span class="optional"> recursive-only <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> break-dnssec <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> dns64-server <em class="replaceable"><code>name</code></em> </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> dns64-contact <em class="replaceable"><code>name</code></em> </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<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>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> edns-udp-size <em class="replaceable"><code>number</code></em>; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> max-udp-size <em class="replaceable"><code>number</code></em>; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> max-rsa-exponent-size <em class="replaceable"><code>number</code></em>; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> root-delegation-only [<span class="optional"> exclude { <em class="replaceable"><code>namelist</code></em> } </span>] ; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> querylog <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> disable-algorithms <em class="replaceable"><code>domain</code></em> { <em class="replaceable"><code>algorithm</code></em>;
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> <em class="replaceable"><code>algorithm</code></em>; </span>] }; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> disable-ds-digests <em class="replaceable"><code>domain</code></em> { <em class="replaceable"><code>digest_type</code></em>;
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> <em class="replaceable"><code>digest_type</code></em>; </span>] }; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> acache-enable <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User [<span class="optional"> acache-cleaning-interval <em class="replaceable"><code>number</code></em>; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> max-acache-size <em class="replaceable"><code>size_spec</code></em> ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
a404eb87dc8f91fe81bedce8bb3957fc3c7684a5Mark Andrews [<span class="optional"> max-clients-per-query <em class="replaceable"><code>number</code></em> ; </span>]
b3c2030de4cc02b8e881ca4e6f62b385d4b41b0fAutomatic Updater (<code class="constant">text</code>|<code class="constant">raw</code>|<code class="constant">map</code>) ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> empty-server <em class="replaceable"><code>name</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> empty-contact <em class="replaceable"><code>name</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> empty-zones-enable <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> disable-empty-zone <em class="replaceable"><code>zone_name</code></em> ; </span>]
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater [<span class="optional"> zero-no-soa-ttl <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> zero-no-soa-ttl-cache <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User [<span class="optional"> resolver-query-timeout <em class="replaceable"><code>number</code></em> ; </span>]
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User [<span class="optional"> deny-answer-addresses { <em class="replaceable"><code>address_match_list</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>]
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User [<span class="optional"> deny-answer-aliases { <em class="replaceable"><code>namelist</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>]
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User [<span class="optional"> domain <em class="replaceable"><code>domain</code></em> ; </span>]
199045f81d2c312411fc0d6a6f8dc56968daa679Tinderbox User [<span class="optional"> responses-per-second [<span class="optional">size <em class="replaceable"><code>number</code></em></span>] [<span class="optional">ratio <em class="replaceable"><code>fixedpoint</code></em></span>] <em class="replaceable"><code>number</code></em> ; </span>]
60c29cf21affb5243753e22f9ff43347013ae8ebTinderbox User [<span class="optional"> referrals-per-second <em class="replaceable"><code>number</code></em> ; </span>]
60c29cf21affb5243753e22f9ff43347013ae8ebTinderbox User [<span class="optional"> nodata-per-second <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> nxdomains-per-second <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> errors-per-second <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> all-per-second <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> window <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> log-only <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> qps-scale <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> ipv4-prefix-length <em class="replaceable"><code>number</code></em> ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> ipv6-prefix-length <em class="replaceable"><code>number</code></em> ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> slip <em class="replaceable"><code>number</code></em> ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> exempt-clients { <em class="replaceable"><code>address_match_list</code></em> } ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> max-table-size <em class="replaceable"><code>number</code></em> ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> min-table-size <em class="replaceable"><code>number</code></em> ; </span>]
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews } ; </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> response-policy { <em class="replaceable"><code>zone_name</code></em>
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> policy given | disabled | passthru | drop | nxdomain | nodata | cname <em class="replaceable"><code>domain</code></em> </span>]
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews [<span class="optional"> recursive-only <em class="replaceable"><code>yes_or_no</code></em> </span>] [<span class="optional"> max-policy-ttl <em class="replaceable"><code>number</code></em> </span>] ;
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater } [<span class="optional"> recursive-only <em class="replaceable"><code>yes_or_no</code></em> </span>] [<span class="optional"> max-policy-ttl <em class="replaceable"><code>number</code></em> </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> break-dnssec <em class="replaceable"><code>yes_or_no</code></em> </span>] [<span class="optional"> min-ns-dots <em class="replaceable"><code>number</code></em> </span>]
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User [<span class="optional"> qname-wait-recurse <em class="replaceable"><code>yes_or_no</code></em> </span>] ; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="options"></a><span><strong class="command">options</strong></span> Statement Definition and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">options</strong></span> statement sets up global
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be used by <acronym class="acronym">BIND</acronym>. This statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may appear only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein once in a configuration file. If there is no <span><strong class="command">options</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement, an options block with each option set to its default will
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User<dt><span class="term"><span><strong class="command">attach-cache</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater Allows multiple views to share a single cache
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater Each view has its own cache database by default, but
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if multiple views have the same operational policy
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for name resolution and caching, those views can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein share a single cache to save memory and possibly
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein improve resolution efficiency by using this option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">attach-cache</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may also be specified in <span><strong class="command">view</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statements, in which case it overrides the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein global <span><strong class="command">attach-cache</strong></span> option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <em class="replaceable"><code>cache_name</code></em> specifies
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User the cache to be shared.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When the <span><strong class="command">named</strong></span> server configures
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein views which are supposed to share a cache, it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein creates a cache with the specified name for the
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User first view of these sharing views.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The rest of the views will simply refer to the
cd0df9459e87097d01fc6c0de0a283c7e8d3c401Automatic Updater already created cache.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User One common configuration to share a cache would be to
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater allow all views to share a single cache.
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater This can be done by specifying
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater the <span><strong class="command">attach-cache</strong></span> as a global
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User option with an arbitrary name.
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater Another possible operation is to allow a subset of
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater all views to share a cache while the others to
65ad89971ee9973074cd11c207af92bf5440df01Automatic Updater retain their own caches.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, if there are three views A, B, and C,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and only A and B should share a cache, specify the
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews <span><strong class="command">attach-cache</strong></span> option as a view A (or
edaa0648858316d9f4ad2a4093f16e05dbf2fe50Tinderbox User B)'s option, referring to the other view name:
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater // this view has its own cache
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein // this view refers to A's cache
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein attach-cache "A";
dba3c818ae00b10388d31703e86a28415db398acTinderbox User // this view has its own cache
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews Views that share a cache must have the same policy
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews on configurable parameters that may affect caching.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews The current implementation requires the following
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews configurable options be consistent among these
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater <span><strong class="command">check-names</strong></span>,
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">cleaning-interval</strong></span>,
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">dnssec-accept-expired</strong></span>,
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User <span><strong class="command">dnssec-validation</strong></span>,
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User <span><strong class="command">max-cache-ttl</strong></span>,
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User <span><strong class="command">max-ncache-ttl</strong></span>,
95d0bdf2b427478c4a8ed8e06f9e316c7880140eTinderbox User <span><strong class="command">max-cache-size</strong></span>, and
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User <span><strong class="command">zero-no-soa-ttl</strong></span>.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User Note that there may be other parameters that may
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User cause confusion if they are inconsistent for
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User different views that share a single cache.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User For example, if these views define different sets of
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User forwarders that can return different answers for the
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User same question, sharing the answer does not make
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User sense or could even be harmful.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User It is administrator's responsibility to ensure
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User configuration differences in different views do
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User not cause disruption with a shared cache.
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User<dt><span class="term"><span><strong class="command">directory</strong></span></span></dt>
3e240d6559605696cadf630668683708b18de871Tinderbox User The working directory of the server.
3e240d6559605696cadf630668683708b18de871Tinderbox User Any non-absolute pathnames in the configuration file will be
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User as relative to this directory. The default location for most
3e240d6559605696cadf630668683708b18de871Tinderbox User output files (e.g. <code class="filename">named.run</code>)
871ab4edd87bc1c047658c3e2b92c629c58dbb38Tinderbox User is this directory.
871ab4edd87bc1c047658c3e2b92c629c58dbb38Tinderbox User If a directory is not specified, the working directory
871ab4edd87bc1c047658c3e2b92c629c58dbb38Tinderbox User defaults to `<code class="filename">.</code>', the directory from
871ab4edd87bc1c047658c3e2b92c629c58dbb38Tinderbox User which the server
871ab4edd87bc1c047658c3e2b92c629c58dbb38Tinderbox User was started. The directory specified should be an absolute
0c487f4b6eade1440ea40f5a5ffc9b5fd4c41ed1Mark Andrews<dt><span class="term"><span><strong class="command">key-directory</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User When performing dynamic update of secure zones, the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User directory where the public and private DNSSEC key files
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein should be found, if different than the current working
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt directory. (Note that this option has no effect on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein paths for files containing non-DNSSEC keys such as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">managed-keys-directory</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies the directory in which to store the files that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein track managed DNSSEC keys. By default, this is the working
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If <span><strong class="command">named</strong></span> is not configured to use views,
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater then managed keys for the server will be tracked in a single
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater file called <code class="filename">managed-keys.bind</code>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater Otherwise, managed keys will be tracked in separate files,
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater one file per view; each file name will be the SHA256 hash
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater of the view name, followed by the extension
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">named-xfer</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span class="emphasis"><em>This option is obsolete.</em></span> It
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater was used in <acronym class="acronym">BIND</acronym> 8 to specify
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the pathname to the <span><strong class="command">named-xfer</strong></span>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater program. In <acronym class="acronym">BIND</acronym> 9, no separate
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">named-xfer</strong></span> program is needed;
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater its functionality is built into the name server.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">tkey-gssapi-keytab</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater The KRB5 keytab file to use for GSS-TSIG updates. If
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater this option is set and tkey-gssapi-credential is not
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater set, then updates will be allowed with any key
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater matching a principal in the specified keytab.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">tkey-gssapi-credential</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater The security credential with which the server should
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater authenticate keys requested by the GSS-TSIG protocol.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Currently only Kerberos 5 authentication is available
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater and the credential is a Kerberos principal which the
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater server can acquire through the default system key
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User file, normally <code class="filename">/etc/krb5.keytab</code>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater The location keytab file can be overridden using the
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater tkey-gssapi-keytab option. Normally this principal is
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater of the form "<strong class="userinput"><code>DNS/</code></strong><code class="varname">server.domain</code>".
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater To use GSS-TSIG, <span><strong class="command">tkey-domain</strong></span> must
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater also be set if a specific keytab is not set with
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt tkey-gssapi-keytab.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">tkey-domain</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater The domain appended to the names of all shared keys
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater generated with <span><strong class="command">TKEY</strong></span>. When a
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater client requests a <span><strong class="command">TKEY</strong></span> exchange,
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater it may or may not specify the desired name for the
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater key. If present, the name of the shared key will
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater be <code class="varname">client specified part</code> +
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater <code class="varname">tkey-domain</code>. Otherwise, the
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater name of the shared key will be <code class="varname">random hex
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater digits</code> + <code class="varname">tkey-domain</code>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater In most cases, the <span><strong class="command">domainname</strong></span>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater should be the server's domain name, or an otherwise
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater non-existent subdomain like
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater "_tkey.<code class="varname">domainname</code>". If you are
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User using GSS-TSIG, this variable must be defined, unless
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater you specify a specific keytab using tkey-gssapi-keytab.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">tkey-dhkey</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater The Diffie-Hellman key used by the server
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to generate shared keys with clients using the Diffie-Hellman
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt of <span><strong class="command">TKEY</strong></span>. The server must be
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt able to load the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt public and private keys from files in the working directory.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt most cases, the keyname should be the server's host name.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">cache-file</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater This is for testing only. Do not use.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">dump-file</strong></span></span></dt>
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater The pathname of the file the server dumps
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater the database to when instructed to do so with
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater <span><strong class="command">rndc dumpdb</strong></span>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater If not specified, the default is <code class="filename">named_dump.db</code>.
0ddeab91cf922fd977f37318620b4c69dccf8364Automatic Updater<dt><span class="term"><span><strong class="command">memstatistics-file</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The pathname of the file the server writes memory
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt usage statistics to on exit. If not specified,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the default is <code class="filename">named.memstats</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">pid-file</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The pathname of the file the server writes its process ID
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in. If not specified, the default is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/var/run/named/named.pid</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The PID file is used by programs that want to send signals to
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews name server. Specifying <span><strong class="command">pid-file none</strong></span> disables the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use of a PID file — no file will be written and any
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein existing one will be removed. Note that <span><strong class="command">none</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is a keyword, not a filename, and therefore is not enclosed
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt double quotes.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">recursing-file</strong></span></span></dt>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User The pathname of the file the server dumps
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User the queries that are currently recursing when instructed
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to do so with <span><strong class="command">rndc recursing</strong></span>.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User If not specified, the default is <code class="filename">named.recursing</code>.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User<dt><span class="term"><span><strong class="command">statistics-file</strong></span></span></dt>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User The pathname of the file the server appends statistics
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to when instructed to do so using <span><strong class="command">rndc stats</strong></span>.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User If not specified, the default is <code class="filename">named.stats</code> in the
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox User server's current directory. The format of the file is
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User in <a href="Bv9ARM.ch06.html#statsfile" title="The Statistics File">the section called “The Statistics File”</a>.
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox User<dt><span class="term"><span><strong class="command">bindkeys-file</strong></span></span></dt>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User The pathname of a file to override the built-in trusted
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User keys provided by <span><strong class="command">named</strong></span>.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User See the discussion of <span><strong class="command">dnssec-lookaside</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User and <span><strong class="command">dnssec-validation</strong></span> for details.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If not specified, the default is
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User <code class="filename">/etc/bind.keys</code>.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User<dt><span class="term"><span><strong class="command">secroots-file</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The pathname of the file the server dumps
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User security roots to when instructed to do so with
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User <span><strong class="command">rndc secroots</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If not specified, the default is
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User <code class="filename">named.secroots</code>.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User<dt><span class="term"><span><strong class="command">session-keyfile</strong></span></span></dt>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User The pathname of the file into which to write a TSIG
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User session key generated by <span><strong class="command">named</strong></span> for use by
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User <span><strong class="command">nsupdate -l</strong></span>. If not specified, the
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User default is <code class="filename">/var/run/named/session.key</code>.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User (See <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a>, and in
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User particular the discussion of the
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User <span><strong class="command">update-policy</strong></span> statement's
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User <strong class="userinput"><code>local</code></strong> option for more
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User information about this feature.)
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User<dt><span class="term"><span><strong class="command">session-keyname</strong></span></span></dt>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User The key name to use for the TSIG session key.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User If not specified, the default is "local-ddns".
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">session-keyalg</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The algorithm to use for the TSIG session key.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User Valid values are hmac-sha1, hmac-sha224, hmac-sha256,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User hmac-sha384, hmac-sha512 and hmac-md5. If not
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt specified, the default is hmac-sha256.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User<dt><span class="term"><span><strong class="command">port</strong></span></span></dt>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User receiving and sending DNS protocol traffic.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The default is 53. This option is mainly intended for server
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt a server using a port other than 53 will not be able to
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User communicate with
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User the global DNS.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User<dt><span class="term"><span><strong class="command">random-device</strong></span></span></dt>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User The source of entropy to be used by the server. Entropy is
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User primarily needed
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for DNSSEC operations, such as TKEY transactions and dynamic
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User update of signed
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zones. This options specifies the device (or file) from which
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User entropy. If this is a file, operations requiring entropy will
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User fail when the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User file has been exhausted. If not specified, the default value
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (or equivalent) when present, and none otherwise. The
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User <span><strong class="command">random-device</strong></span> option takes
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt effect during
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the initial configuration load at server startup time and
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User is ignored on subsequent reloads.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">preferred-glue</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If specified, the listed type (A or AAAA) will be emitted
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt before other glue
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User in the additional section of a query response.
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User The default is not to prefer any type (NONE).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="root_delegation_only"></a><span class="term"><span><strong class="command">root-delegation-only</strong></span></span>
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User Turn on enforcement of delegation-only in TLDs
10b865e9187fc77cae02f106ddcc9e03eecdfe06Tinderbox User (top level domains) and root zones with an optional
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User exclude list.
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User DS queries are expected to be made to and be answered by
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User delegation only zones. Such queries and responses are
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User treated as an exception to delegation-only processing
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User and are not converted to NXDOMAIN responses provided
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User a CNAME is not discovered at the query name.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If a delegation only zone server also serves a child
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User zone it is not always possible to determine whether
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt an answer comes from the delegation only zone or the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User child zone. SOA NS and DNSKEY records are apex
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only records and a matching response that contains
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater these records or DS is treated as coming from a
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater child zone. RRSIG records are also examined to see
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater if they are signed by a child zone or not. The
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater authority section is also examined to see if there
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater is evidence that the answer is from the child zone.
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater Answers that are determined to be from a child zone
f8da2eefea1ea17bb233fa8c0c9b18404075dd9cAutomatic Updater are not converted to NXDOMAIN responses. Despite
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User all these checks there is still a possibility of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt false negatives when a child zone is being served.
b397f922936e9f73aa8c3ea40be3ad74285dacaaTinderbox User Similarly false positives can arise from empty nodes
b397f922936e9f73aa8c3ea40be3ad74285dacaaTinderbox User (no records at the name) in the delegation only zone
b397f922936e9f73aa8c3ea40be3ad74285dacaaTinderbox User when the query type is not ANY.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Note some TLDs are not delegation only (e.g. "DE", "LV",
b397f922936e9f73aa8c3ea40be3ad74285dacaaTinderbox User "US" and "MUSEUM"). This list is not exhaustive.
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User root-delegation-only exclude { "de"; "lv"; "us"; "museum"; };
b397f922936e9f73aa8c3ea40be3ad74285dacaaTinderbox User<dt><span class="term"><span><strong class="command">disable-algorithms</strong></span></span></dt>
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User Disable the specified DNSSEC algorithms at and below the
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User specified name.
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User Multiple <span><strong class="command">disable-algorithms</strong></span>
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User statements are allowed.
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User Only the best match <span><strong class="command">disable-algorithms</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User clause will be used to determine which algorithms are used.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews If all supported algorithms are disabled, the zones covered
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews by the <span><strong class="command">disable-algorithms</strong></span> will be treated
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt as insecure.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews<dt><span class="term"><span><strong class="command">disable-ds-digests</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Disable the specified DS/DLV digest types at and below the
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater specified name.
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater Multiple <span><strong class="command">disable-ds-digests</strong></span>
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater statements are allowed.
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater Only the best match <span><strong class="command">disable-ds-digests</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User clause will be used to determine which digest types are used.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews If all supported digest types are disabled, the zones covered
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews by the <span><strong class="command">disable-ds-digests</strong></span> will be treated
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews as insecure.
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater<dt><span class="term"><span><strong class="command">dnssec-lookaside</strong></span></span></dt>
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater When set, <span><strong class="command">dnssec-lookaside</strong></span> provides the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt validator with an alternate method to validate DNSKEY
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater records at the top of a zone. When a DNSKEY is at or
517ae3de96aaf870049c52f1224e38a85fe7f21aAutomatic Updater below a domain specified by the deepest
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">dnssec-lookaside</strong></span>, and the normal DNSSEC
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt validation has left the key untrusted, the trust-anchor
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User will be appended to the key name and a DLV record will be
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews looked up to see if it can validate the key. If the DLV
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt record validates a DNSKEY (similarly to the way a DS
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt record does) the DNSKEY RRset is deemed to be trusted.
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater If <span><strong class="command">dnssec-lookaside</strong></span> is set to
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews <strong class="userinput"><code>auto</code></strong>, then built-in default
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews values for the DLV domain and trust anchor will be
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews used, along with a built-in key for validation.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews If <span><strong class="command">dnssec-lookaside</strong></span> is set to
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews <strong class="userinput"><code>no</code></strong>, then dnssec-lookaside
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default DLV key is stored in the file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> will load that key at
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein startup if <span><strong class="command">dnssec-lookaside</strong></span> is set to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="constant">auto</code>. A copy of the file is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt installed along with <acronym class="acronym">BIND</acronym> 9, and is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein current as of the release date. If the DLV key expires, a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein new copy of <code class="filename">bind.keys</code> can be downloaded
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from <a href="https://www.isc.org/solutions/dlv/" target="_top">https://www.isc.org/solutions/dlv/</a>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (To prevent problems if <code class="filename">bind.keys</code> is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User not found, the current key is also compiled in to
22c71c7b86fa57a19f7df0da4222eb8593e6ad12Mark Andrews <span><strong class="command">named</strong></span>. Relying on this is not
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User recommended, however, as it requires <span><strong class="command">named</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to be recompiled with a new key when the DLV key expires.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein NOTE: <span><strong class="command">named</strong></span> only loads certain specific
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt keys from <code class="filename">bind.keys</code>: those for the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DLV zone and for the DNS root zone. The file cannot be
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User used to store keys for other zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dnssec-must-be-secure</strong></span></span></dt>
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews Specify hierarchies which must be or may not be secure
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User (signed and validated). If <strong class="userinput"><code>yes</code></strong>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then <span><strong class="command">named</strong></span> will only accept answers if
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User they are secure. If <strong class="userinput"><code>no</code></strong>, then normal
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User DNSSEC validation applies allowing for insecure answers to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt be accepted. The specified domain must be under a
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User <span><strong class="command">trusted-keys</strong></span> or
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User <span><strong class="command">managed-keys</strong></span> statement, or
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User <span><strong class="command">dnssec-lookaside</strong></span> must be active.
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User<dt><span class="term"><span><strong class="command">dns64</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This directive instructs <span><strong class="command">named</strong></span> to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt return mapped IPv4 addresses to AAAA queries when
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt there are no AAAA records. It is intended to be
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User used in conjunction with a NAT64. Each
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">dns64</strong></span> defines one DNS64 prefix.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Multiple DNS64 prefixes can be defined.
947d37484ed01966a9e89dd27f62c1b427324dc2Tinderbox User Compatible IPv6 prefixes have lengths of 32, 40, 48, 56,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 64 and 96 as per RFC 6052.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Additionally a reverse IP6.ARPA zone will be created for
18fa75b694d056da4be3ebfc2185d007d4882752Automatic Updater the prefix to provide a mapping from the IP6.ARPA names
18fa75b694d056da4be3ebfc2185d007d4882752Automatic Updater to the corresponding IN-ADDR.ARPA names using synthesized
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater CNAMEs. <span><strong class="command">dns64-server</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dns64-contact</strong></span> can be used to specify
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the name of the server and contact for the zones. These
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are settable at the view / options level. These are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt not settable on a per-prefix basis.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each <span><strong class="command">dns64</strong></span> supports an optional
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">clients</strong></span> ACL that determines which
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt clients are affected by this directive. If not defined,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User it defaults to <strong class="userinput"><code>any;</code></strong>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Each <span><strong class="command">dns64</strong></span> supports an optional
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews <span><strong class="command">mapped</strong></span> ACL that selects which
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IPv4 addresses are to be mapped in the corresponding
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A RRset. If not defined it defaults to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <strong class="userinput"><code>any;</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Normally, DNS64 won't apply to a domain name that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein owns one or more AAAA records; these records will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein simply be returned. The optional
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">exclude</strong></span> ACL allows specification
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of a list of IPv6 addresses that will be ignored
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt if they appear in a domain name's AAAA records, and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User DNS64 will be applied to any A records the domain
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater name owns. If not defined, <span><strong class="command">exclude</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt defaults to none.
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater A optional <span><strong class="command">suffix</strong></span> can also
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater be defined to set the bits trailing the mapped
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IPv4 address bits. By default these bits are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt set to <strong class="userinput"><code>::</code></strong>. The bits
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User matching the prefix and mapped IPv4 address
54e57d8ff46096e9c6a9af95f2522b56cb3877b2Automatic Updater If <span><strong class="command">recursive-only</strong></span> is set to
54e57d8ff46096e9c6a9af95f2522b56cb3877b2Automatic Updater <span><strong class="command">yes</strong></span> the DNS64 synthesis will
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User only happen for recursive queries. The default
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is <span><strong class="command">no</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If <span><strong class="command">break-dnssec</strong></span> is set to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">yes</strong></span> the DNS64 synthesis will
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater happen even if the result, if validated, would
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt cause a DNSSEC validation failure. If this option
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater is set to <span><strong class="command">no</strong></span> (the default), the DO
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is set on the incoming query, and there are RRSIGs on
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater the applicable records, then synthesis will not happen.
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater dns64 64:FF9B::/96 {
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater clients { any; };
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User mapped { !rfc1918; any; };
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater<dt><span class="term"><span><strong class="command">dnssec-update-mode</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If this option is set to its default value of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">maintain</code> in a zone of type
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">master</code> which is DNSSEC-signed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and configured to allow dynamic updates (see
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a>), and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if <span><strong class="command">named</strong></span> has access to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein private signing key(s) for the zone, then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> will automatically sign all new
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User or changed records and maintain signatures for the zone
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt by regenerating RRSIG records whenever they approach
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User their expiration date.
ef8014e56f35bb36daa5fd2c313f5e7963e97aa1Tinderbox User If the option is changed to <code class="literal">no-resign</code>,
ef8014e56f35bb36daa5fd2c313f5e7963e97aa1Tinderbox User then <span><strong class="command">named</strong></span> will sign all new or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User changed records, but scheduled maintenance of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt signatures is disabled.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein With either of these settings, <span><strong class="command">named</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will reject updates to a DNSSEC-signed zone when the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein signing keys are inactive or unavailable to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span>. (A planned third option,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">external</code>, will disable all automatic
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein signing and allow DNSSEC data to be submitted into a zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein via dynamic update; this is not yet implemented.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">zone-statistics</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>full</code></strong>, the server will collect
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statistical data on all zones (unless specifically
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein turned off on a per-zone basis by specifying
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">zone-statistics terse</strong></span> or
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">zone-statistics none</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in the <span><strong class="command">zone</strong></span> statement).
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews The default is <strong class="userinput"><code>terse</code></strong>, providing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein minimal statistics on zones (including name and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein current serial number, but not query type
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User These statistics may be accessed via the
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater <span><strong class="command">statistics-channel</strong></span> or
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt using <span><strong class="command">rndc stats</strong></span>, which
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater will dump them to the file listed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in the <span><strong class="command">statistics-file</strong></span>. See
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User also <a href="Bv9ARM.ch06.html#statsfile" title="The Statistics File">the section called “The Statistics File”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For backward compatibility with earlier versions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of BIND 9, the <span><strong class="command">zone-statistics</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User option can also accept <strong class="userinput"><code>yes</code></strong>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater or <strong class="userinput"><code>no</code></strong>; <strong class="userinput"><code>yes</code></strong>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater has the same meaning as <strong class="userinput"><code>full</code></strong>.
d3907d27cc138f45772d3d63082ae02c7659148aAutomatic Updater As of <acronym class="acronym">BIND</acronym> 9.10,
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater <strong class="userinput"><code>no</code></strong> has the same meaning
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater as <strong class="userinput"><code>none</code></strong>; previously, it
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater was the same as <strong class="userinput"><code>terse</code></strong>.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<div class="titlepage"><div><div><h4 class="title">
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<a name="boolean_options"></a>Boolean Options</h4></div></div></div>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<dt><span class="term"><span><strong class="command">allow-new-zones</strong></span></span></dt>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater If <strong class="userinput"><code>yes</code></strong>, then zones can be
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater added at runtime via <span><strong class="command">rndc addzone</strong></span>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater or deleted via <span><strong class="command">rndc delzone</strong></span>.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater The default is <strong class="userinput"><code>no</code></strong>.
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater<dt><span class="term"><span><strong class="command">auth-nxdomain</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If <strong class="userinput"><code>yes</code></strong>, then the <span><strong class="command">AA</strong></span> bit
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater is always set on NXDOMAIN responses, even if the server is
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater authoritative. The default is <strong class="userinput"><code>no</code></strong>;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a change from <acronym class="acronym">BIND</acronym> 8. If you
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater are using very old DNS software, you
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic 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>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews This option was used in <acronym class="acronym">BIND</acronym>
3970098dcd2a7122541667b4b56cea8abce8ccf2Mark Andrews 8 to enable checking
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for memory leaks on exit. <acronym class="acronym">BIND</acronym> 9 ignores the option and always performs
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User<dt><span class="term"><span><strong class="command">memstatistics</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Write memory statistics to the file specified by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">memstatistics-file</strong></span> at exit.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default is <strong class="userinput"><code>no</code></strong> unless
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein '-m record' is specified on the command line in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt which case it is <strong class="userinput"><code>yes</code></strong>.
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User<dt><span class="term"><span><strong class="command">dialup</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If <strong class="userinput"><code>yes</code></strong>, then the
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User server treats all zones as if they are doing zone transfers
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a dial-on-demand dialup link, which can be brought up by
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User originating from this server. This has different effects
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User to zone type and concentrates the zone maintenance so that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt happens in a short interval, once every <span><strong class="command">heartbeat-interval</strong></span> and
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User hopefully during the one call. It also suppresses some of
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User zone maintenance traffic. The default is <strong class="userinput"><code>no</code></strong>.
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User The <span><strong class="command">dialup</strong></span> option
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt may also be specified in the <span><strong class="command">view</strong></span> and
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User <span><strong class="command">zone</strong></span> statements,
aa444144ad14bdd909fe5b70e1f7730b46ec6072Tinderbox User in which case it overrides the global <span><strong class="command">dialup</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If the zone is a master zone, then the server will send out a
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater request to all the slaves (default). This should trigger the
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater number check in the slave (providing it supports NOTIFY)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt allowing the slave
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater to verify the zone while the connection is active.
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater The set of servers to which NOTIFY is sent can be controlled
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater <span><strong class="command">notify</strong></span> and <span><strong class="command">also-notify</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zone is a slave or stub zone, then the server will suppress
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater "zone up to date" (refresh) queries and only perform them
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater <span><strong class="command">heartbeat-interval</strong></span> expires in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User addition to sending
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt NOTIFY requests.
36da16fa31fa2a582afe67010ba449a57177fd2fAutomatic Updater Finer control can be achieved by using
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <strong class="userinput"><code>notify</code></strong> which only sends NOTIFY
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater <strong class="userinput"><code>notify-passive</code></strong> which sends NOTIFY
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt messages and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt suppresses the normal refresh queries, <strong class="userinput"><code>refresh</code></strong>
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater which suppresses normal refresh processing and sends refresh
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater when the <span><strong class="command">heartbeat-interval</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <strong class="userinput"><code>passive</code></strong> which just disables normal
d060d8669f5558690e7faf4a1c12fe5c02a7c60dAutomatic Updater<div class="informaltable"><table border="1">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt normal refresh
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt heart-beat refresh
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User heart-beat notify
d893c6248414d34d434a63216eaa5bd1fbec4ca4Automatic Updater <p><span><strong class="command">no</strong></span> (default)</p>
79cf9524b15ca65f55fd6913e6cf01b5581c588aAutomatic Updater <p><span><strong class="command">yes</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">notify</strong></span></p>
b287974d182a164b84eaeaead39fcbe225e2a7f9Automatic Updater <p><span><strong class="command">refresh</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">passive</strong></span></p>
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater <p><span><strong class="command">notify-passive</strong></span></p>
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User Note that normal NOTIFY processing is not affected by
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">dialup</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">fake-iquery</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User In <acronym class="acronym">BIND</acronym> 8, this option
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User enabled simulating the obsolete DNS query type
6478b87fd23bcd3ab74c25b261021fe19a239c4fTinderbox User IQUERY. <acronym class="acronym">BIND</acronym> 9 never does
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User IQUERY simulation.
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User<dt><span class="term"><span><strong class="command">fetch-glue</strong></span></span></dt>
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User This option is obsolete.
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User In BIND 8, <strong class="userinput"><code>fetch-glue yes</code></strong>
8402f7bfea6ee33172c27e95965460b9c4e1b4daTinderbox User caused the server to attempt to fetch glue resource records
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User didn't have when constructing the additional
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User data section of a response. This is now considered a bad
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User and BIND 9 never does it.
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User<dt><span class="term"><span><strong class="command">flush-zones-on-shutdown</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User When the nameserver exits due receiving SIGTERM,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt flush or do not flush any pending zone writes. The default
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">flush-zones-on-shutdown</strong></span> <strong class="userinput"><code>no</code></strong>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">has-old-clients</strong></span></span></dt>
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User This option was incorrectly implemented
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in <acronym class="acronym">BIND</acronym> 8, and is ignored by <acronym class="acronym">BIND</acronym> 9.
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User To achieve the intended effect
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User <span><strong class="command">has-old-clients</strong></span> <strong class="userinput"><code>yes</code></strong>, specify
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User the two separate options <span><strong class="command">auth-nxdomain</strong></span> <strong class="userinput"><code>yes</code></strong>
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User and <span><strong class="command">rfc2308-type1</strong></span> <strong class="userinput"><code>no</code></strong> instead.
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User<dt><span class="term"><span><strong class="command">host-statistics</strong></span></span></dt>
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User In BIND 8, this enables keeping of
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User statistics for every host that the name server interacts
a24330c4805a224191ab687d0291963062fe3355Tinderbox User Not implemented in BIND 9.
6478b87fd23bcd3ab74c25b261021fe19a239c4fTinderbox User<dt><span class="term"><span><strong class="command">maintain-ixfr-base</strong></span></span></dt>
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User <span class="emphasis"><em>This option is obsolete</em></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User It was used in <acronym class="acronym">BIND</acronym> 8 to
a24330c4805a224191ab687d0291963062fe3355Tinderbox User determine whether a transaction log was
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User kept for Incremental Zone Transfer. <acronym class="acronym">BIND</acronym> 9 maintains a transaction
78ec962d9828200d18cd0e41b7d6b9792a74923dTinderbox User log whenever possible. If you need to disable outgoing
78ec962d9828200d18cd0e41b7d6b9792a74923dTinderbox User incremental zone
78ec962d9828200d18cd0e41b7d6b9792a74923dTinderbox User transfers, use <span><strong class="command">provide-ixfr</strong></span> <strong class="userinput"><code>no</code></strong>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">minimal-responses</strong></span></span></dt>
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User If <strong class="userinput"><code>yes</code></strong>, then when generating
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User responses the server will only add records to the authority
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User and additional data sections when they are required (e.g.
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User delegations, negative responses). This may improve the
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User performance of the server.
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User The default is <strong class="userinput"><code>no</code></strong>.
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User<dt><span class="term"><span><strong class="command">multiple-cnames</strong></span></span></dt>
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User This option was used in <acronym class="acronym">BIND</acronym> 8 to allow
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User a domain name to have multiple CNAME records in violation of
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User the DNS standards. <acronym class="acronym">BIND</acronym> 9.2 onwards
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User always strictly enforces the CNAME rules both in master
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User files and dynamic updates.
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User<dt><span class="term"><span><strong class="command">notify</strong></span></span></dt>
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User If <strong class="userinput"><code>yes</code></strong> (the default),
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User DNS NOTIFY messages are sent when a zone the server is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User authoritative for
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User changes, see <a href="Bv9ARM.ch04.html#notify" title="Notify">the section called “Notify”</a>. The messages are
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User servers listed in the zone's NS records (except the master
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User server identified
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in the SOA MNAME field), and to any servers listed in the
81199ce5ba7bd719add38189b06987e0a6e583a1Tinderbox User <span><strong class="command">also-notify</strong></span> option.
81199ce5ba7bd719add38189b06987e0a6e583a1Tinderbox User If <strong class="userinput"><code>master-only</code></strong>, notifies are only
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for master zones.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User If <strong class="userinput"><code>explicit</code></strong>, notifies are sent only
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User servers explicitly listed using <span><strong class="command">also-notify</strong></span>.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User If <strong class="userinput"><code>no</code></strong>, no notifies are sent.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">notify</strong></span> option may also be
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User specified in the <span><strong class="command">zone</strong></span>
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User in which case it overrides the <span><strong class="command">options notify</strong></span> statement.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User It would only be necessary to turn off this option if it
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User caused slaves
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User<dt><span class="term"><span><strong class="command">notify-to-soa</strong></span></span></dt>
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User If <strong class="userinput"><code>yes</code></strong> do not check the nameservers
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User in the NS RRset against the SOA MNAME. Normally a NOTIFY
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User message is not sent to the SOA MNAME (SOA ORIGIN) as it is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User supposed to contain the name of the ultimate master.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User Sometimes, however, a slave is listed as the SOA MNAME in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt hidden master configurations and in that case you would
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User want the ultimate master to still send NOTIFY messages to
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User all the nameservers listed in the NS RRset.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User<dt><span class="term"><span><strong class="command">recursion</strong></span></span></dt>
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User If <strong class="userinput"><code>yes</code></strong>, and a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User DNS query requests recursion, then the server will attempt
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User all the work required to answer the query. If recursion is
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User and the server does not already know the answer, it will
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User referral response. The default is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <strong class="userinput"><code>yes</code></strong>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Note that setting <span><strong class="command">recursion no</strong></span> does not prevent
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt clients from getting data from the server's cache; it only
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User prevents new data from being cached as an effect of client
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User Caching may still occur as an effect the server's internal
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User operation, such as NOTIFY address lookups.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User See also <span><strong class="command">fetch-glue</strong></span> above.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User<dt><span class="term"><span><strong class="command">request-nsid</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If <strong class="userinput"><code>yes</code></strong>, then an empty EDNS(0)
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User NSID (Name Server Identifier) option is sent with all
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt queries to authoritative name servers during iterative
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt resolution. If the authoritative server returns an NSID
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User option in its response, then its contents are logged in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the <span><strong class="command">resolver</strong></span> category at level
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User <span><strong class="command">info</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default is <strong class="userinput"><code>no</code></strong>.
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User<dt><span class="term"><span><strong class="command">rfc2308-type1</strong></span></span></dt>
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User Setting this to <strong class="userinput"><code>yes</code></strong> will
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User cause the server to send NS records along with the SOA
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User record for negative
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User answers. The default is <strong class="userinput"><code>no</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Not yet implemented in <acronym class="acronym">BIND</acronym>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User<dt><span class="term"><span><strong class="command">use-id-pool</strong></span></span></dt>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User <span class="emphasis"><em>This option is obsolete</em></span>.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User <acronym class="acronym">BIND</acronym> 9 always allocates query
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User IDs from a pool.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User<dt><span class="term"><span><strong class="command">use-ixfr</strong></span></span></dt>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User <span class="emphasis"><em>This option is obsolete</em></span>.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User If you need to disable IXFR to a particular server or
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the information on the <span><strong class="command">provide-ixfr</strong></span> option
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in <a href="Bv9ARM.ch06.html#server_statement_definition_and_usage" title="server Statement Definition and
82d13321f4dcc79a9aec992c7a1c4aaff8983adaAutomatic Updater Usage">the section called “<span><strong class="command">server</strong></span> Statement Definition and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Usage”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="Bv9ARM.ch04.html#incremental_zone_transfers" title="Incremental Zone Transfers (IXFR)">the section called “Incremental Zone Transfers (IXFR)”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">provide-ixfr</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <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
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Usage”</a>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">request-ixfr</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See the description of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">request-ixfr</strong></span> in
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <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
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Usage”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">treat-cr-as-space</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This option was used in <acronym class="acronym">BIND</acronym>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the server treat carriage return ("<span><strong class="command">\r</strong></span>") characters the same way
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews as a space or tab character,
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews to facilitate loading of zone files on a UNIX system that
71eeac3530eabb7f70f4b6bdba5addb40a5bca27Mark Andrews were generated
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User on an NT or DOS machine. In <acronym class="acronym">BIND</acronym> 9, both UNIX "<span><strong class="command">\n</strong></span>"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and NT/DOS "<span><strong class="command">\r\n</strong></span>" newlines
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are always accepted,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These options control the behavior of an authoritative
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein answering queries which have additional data, or when
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt following CNAME
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and DNAME chains.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When both of these options are set to <strong class="userinput"><code>yes</code></strong>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User (the default) and a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt query is being answered from authoritative data (a zone
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt configured into the server), the additional data section of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt reply will be filled in using data from other authoritative
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and from the cache. In some situations this is undesirable,
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews as when there is concern over the correctness of the cache,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in servers where slave zones may be added and modified by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein untrusted third parties. Also, avoiding
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the search for this additional data will speed up server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein at the possible expense of additional queries to resolve
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein otherwise be provided in the additional section.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User For example, if a query asks for an MX record for host <code class="literal">foo.example.com</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and the record found is "<code class="literal">MX 10 mail.example.net</code>", normally the address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein records (A and AAAA) for <code class="literal">mail.example.net</code> will be provided as well,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if known, even though they are not in the example.com zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Setting these options to <span><strong class="command">no</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disables this behavior and makes
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the server only search for additional data in the zone it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein answers from.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User These options are intended for use in authoritative-only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers, or in authoritative-only views. Attempts to set
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein them to <span><strong class="command">no</strong></span> without also
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">recursion no</strong></span> will cause the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ignore the options and log a warning message.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Specifying <span><strong class="command">additional-from-cache no</strong></span> actually
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disables the use of the cache not only for additional data
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein but also when looking up the answer. This is usually the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein behavior in an authoritative-only server where the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User correctness of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the cached data is an issue.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt When a name server is non-recursively queried for a name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein below the apex of any served zone, it normally answers with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "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 This option was introduced to work around a kernel quirk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in some operating systems that causes IPv4 TCP
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt connections, such as zone transfers, to be accepted on an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 socket using mapped addresses. This caused address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein match lists designed for IPv4 to fail to match. However,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> now solves this problem
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein internally. The use of this option is discouraged.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">filter-aaaa-on-v4</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option is only available when
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <acronym class="acronym">BIND</acronym> 9 is compiled with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>--enable-filter-aaaa</code></strong> option on the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "configure" command line. It is intended to help the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein transition from IPv4 to IPv6 by not giving IPv6 addresses
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to DNS clients unless they have connections to the IPv6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Internet. This is not recommended unless absolutely
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein necessary. The default is <strong class="userinput"><code>no</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">filter-aaaa-on-v4</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may also be specified in <span><strong class="command">view</strong></span> statements
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to override the global <span><strong class="command">filter-aaaa-on-v4</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>yes</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the DNS client is at an IPv4 address, in <span><strong class="command">filter-aaaa</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and if the response does not include DNSSEC signatures,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then all AAAA records are deleted from the response.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This filtering applies to all responses and not only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authoritative responses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>break-dnssec</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then AAAA records are deleted even when DNSSEC is enabled.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein As suggested by the name, this makes the response not verify,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein because the DNSSEC protocol is designed detect deletions.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This mechanism can erroneously cause other servers to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein not give AAAA records to their clients.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A recursing server with both IPv6 and IPv4 network connections
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that queries an authoritative server using this mechanism
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein via IPv4 will be denied AAAA records even if its client is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This mechanism is applied to authoritative as well as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein non-authoritative records.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A client using IPv4 that is not allowed recursion can
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein erroneously be given AAAA records because the server is not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allowed to check for A records.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Some AAAA records are given to IPv4 clients in glue records.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 clients that are servers can then erroneously
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein answer requests for AAAA records received via IPv4.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">filter-aaaa-on-v6</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Identical to <span><strong class="command">filter-aaaa-on-v4</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein except it filters AAAA responses to queries from IPv6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein clients instead of IPv4 clients. To filter all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein responses, set both options to <strong class="userinput"><code>yes</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">ixfr-from-differences</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When <strong class="userinput"><code>yes</code></strong> and the server loads a new
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein version of a master zone from its zone file or receives a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein new version of a slave file via zone transfer, it will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein compare the new version to the previous one and calculate
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a set of differences. The differences are then logged in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the zone's journal file such that the changes can be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein transmitted to downstream slaves as an incremental zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein By allowing incremental zone transfers to be used for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein non-dynamic zones, this option saves bandwidth at the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt expense of increased CPU and memory consumption at the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein temporarily allocate memory to hold this complete
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein difference set.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">ixfr-from-differences</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein also accepts <span><strong class="command">master</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">slave</strong></span> at the view and options
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein levels which causes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">ixfr-from-differences</strong></span> to be enabled for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein all <span><strong class="command">master</strong></span> or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">slave</strong></span> zones respectively.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It is off by default.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">multi-master</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This should be set when you have multiple masters for a zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein addresses refer to different machines. If <strong class="userinput"><code>yes</code></strong>, <span><strong class="command">named</strong></span> will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein when the serial number on the master is less than what <span><strong class="command">named</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein has. The default is <strong class="userinput"><code>no</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dnssec-enable</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Enable DNSSEC support in <span><strong class="command">named</strong></span>. Unless set to <strong class="userinput"><code>yes</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> behaves as if it does not support DNSSEC.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is <strong class="userinput"><code>yes</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dnssec-validation</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Enable DNSSEC validation in <span><strong class="command">named</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note <span><strong class="command">dnssec-enable</strong></span> also needs to be
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User set to <strong class="userinput"><code>yes</code></strong> to be effective.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If set to <strong class="userinput"><code>no</code></strong>, DNSSEC validation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is disabled. If set to <strong class="userinput"><code>auto</code></strong>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt DNSSEC validation is enabled, and a default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein trust-anchor for the DNS root zone is used. If set to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <strong class="userinput"><code>yes</code></strong>, DNSSEC validation is enabled,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt but a trust anchor must be manually configured using
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a <span><strong class="command">trusted-keys</strong></span> or
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews <span><strong class="command">managed-keys</strong></span> statement. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is <strong class="userinput"><code>yes</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">dnssec-accept-expired</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Accept expired signatures when verifying DNSSEC signatures.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The default is <strong class="userinput"><code>no</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Setting this option to <strong class="userinput"><code>yes</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein leaves <span><strong class="command">named</strong></span> vulnerable to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein replay attacks.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">querylog</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specify whether query logging should be started when <span><strong class="command">named</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If <span><strong class="command">querylog</strong></span> is not specified,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then the query logging
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User is determined by the presence of the logging category <span><strong class="command">queries</strong></span>.
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews<dt><span class="term"><span><strong class="command">check-names</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This option is used to restrict the character set and syntax
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User certain domain names in master files and/or DNS responses
aa1905addf2f33d90aa020080e4e77a8651e829aTinderbox User from the network. The default varies according to usage
aa1905addf2f33d90aa020080e4e77a8651e829aTinderbox User <span><strong class="command">master</strong></span> zones the default is <span><strong class="command">fail</strong></span>.
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User For <span><strong class="command">slave</strong></span> zones the default
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is <span><strong class="command">warn</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User For answers received from the network (<span><strong class="command">response</strong></span>)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the default is <span><strong class="command">ignore</strong></span>.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews The rules for legal hostnames and mail domains are derived
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from RFC 952 and RFC 821 as modified by RFC 1123.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<p><span><strong class="command">check-names</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt applies to the owner names of A, AAAA and MX records.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It also applies to the domain names in the RDATA of NS, SOA,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User MX, and SRV records.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It also applies to the RDATA of PTR records where the owner
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User name indicated that it is a reverse lookup of a hostname
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (the owner name ends in IN-ADDR.ARPA, IP6.ARPA, or IP6.INT).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-dup-records</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Check master zones for records that are treated as different
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User by DNSSEC but are semantically equal in plain DNS. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein default is to <span><strong class="command">warn</strong></span>. Other possible
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews values are <span><strong class="command">fail</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">ignore</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-mx</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Check whether the MX record appears to refer to a IP address.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The default is to <span><strong class="command">warn</strong></span>. Other possible
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User values are <span><strong class="command">fail</strong></span> and
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User <span><strong class="command">ignore</strong></span>.
58021df88940e55ec62b2788dc727988208bd065Tinderbox User<dt><span class="term"><span><strong class="command">check-wildcard</strong></span></span></dt>
58021df88940e55ec62b2788dc727988208bd065Tinderbox User This option is used to check for non-terminal wildcards.
58021df88940e55ec62b2788dc727988208bd065Tinderbox User The use of non-terminal wildcards is almost always as a
58021df88940e55ec62b2788dc727988208bd065Tinderbox User result of a failure
58021df88940e55ec62b2788dc727988208bd065Tinderbox User to understand the wildcard matching algorithm (RFC 1034).
58021df88940e55ec62b2788dc727988208bd065Tinderbox User affects master zones. The default (<span><strong class="command">yes</strong></span>) is to check
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User for non-terminal wildcards and issue a warning.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">check-integrity</strong></span></span></dt>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Perform post load zone integrity checks on master
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews zones. This checks that MX and SRV records refer
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews to address (A or AAAA) records and that glue
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein address records exist for delegated zones. For
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User MX and SRV records only in-zone hostnames are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt checked (for out-of-zone hostnames use
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">named-checkzone</strong></span>).
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews For NS records only names below top of zone are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein checked (for out-of-zone names and glue consistency
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews checks use <span><strong class="command">named-checkzone</strong></span>).
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The default is <span><strong class="command">yes</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Check that the two forms of Sender Policy Framework
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein records (TXT records starting with "v=spf1" and SPF) either
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User both exist or both don't exist. Warnings are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein emitted it they don't and be suppressed with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">check-spf</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">check-mx-cname</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">check-integrity</strong></span> is set then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fail, warn or ignore MX records that refer
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to CNAMES. The default is to <span><strong class="command">warn</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">check-srv-cname</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">check-integrity</strong></span> is set then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fail, warn or ignore SRV records that refer
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to CNAMES. The default is to <span><strong class="command">warn</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">check-sibling</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When performing integrity checks, also check that
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User sibling glue exists. The default is <span><strong class="command">yes</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">check-spf</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt When performing integrity checks, check that the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein two forms of Sender Policy Framwork records (TXT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein records starting with "v=spf1" and SPF) both exist
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or both don't exist and issue a warning if not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein met. The default is <span><strong class="command">warn</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">zero-no-soa-ttl</strong></span></span></dt>
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews When returning authoritative negative responses to
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews SOA queries set the TTL of the SOA record returned in
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews the authority section to zero.
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews The default is <span><strong class="command">yes</strong></span>.
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews<dt><span class="term"><span><strong class="command">zero-no-soa-ttl-cache</strong></span></span></dt>
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews When caching a negative response to a SOA query
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User set the TTL to zero.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default is <span><strong class="command">no</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">update-check-ksk</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When set to the default value of <code class="literal">yes</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein check the KSK bit in each key to determine how the key
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein should be used when generating RRSIGs for a secure zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Ordinarily, zone-signing keys (that is, keys without the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt KSK bit set) are used to sign the entire zone, while
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein key-signing keys (keys with the KSK bit set) are only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used to sign the DNSKEY RRset at the zone apex.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein However, if this option is set to <code class="literal">no</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then the KSK bit is ignored; KSKs are treated as if they
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein were ZSKs and are used to sign the entire zone. This is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User similar to the <span><strong class="command">dnssec-signzone -z</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt command line option.
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User When this option is set to <code class="literal">yes</code>, there
53f41dd99da107af4e4e1e673d9c19a185463b24Tinderbox User must be at least two active keys for every algorithm
53f41dd99da107af4e4e1e673d9c19a185463b24Tinderbox User represented in the DNSKEY RRset: at least one KSK and one
53f41dd99da107af4e4e1e673d9c19a185463b24Tinderbox User ZSK per algorithm. If there is any algorithm for which
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt this requirement is not met, this option will be ignored
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for that algorithm.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">dnssec-dnskey-kskonly</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User When this option and <span><strong class="command">update-check-ksk</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt are both set to <code class="literal">yes</code>, only key-signing
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User keys (that is, keys with the KSK bit set) will be used
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to sign the DNSKEY RRset at the zone apex. Zone-signing
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt keys (keys without the KSK bit set) will be used to sign
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the remainder of the zone, but not the DNSKEY RRset.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This is similar to the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">dnssec-signzone -x</strong></span> command line option.
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User The default is <span><strong class="command">no</strong></span>. If
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User <span><strong class="command">update-check-ksk</strong></span> is set to
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User <code class="literal">no</code>, this option is ignored.
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User<dt><span class="term"><span><strong class="command">dnssec-loadkeys-interval</strong></span></span></dt>
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User When a zone is configured with <span><strong class="command">auto-dnssec
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User maintain;</strong></span> its key repository must be checked
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User periodically to see if any new keys have been added
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User or any existing keys' timing metadata has been updated
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User (see <a href="man.dnssec-keygen.html" title="dnssec-keygen"><span class="refentrytitle"><span class="application">dnssec-keygen</span></span>(8)</a> and
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User <a href="man.dnssec-settime.html" title="dnssec-settime"><span class="refentrytitle"><span class="application">dnssec-settime</span></span>(8)</a>). The
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User <span><strong class="command">dnssec-loadkeys-interval</strong></span> option
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt sets the frequency of automatic repository checks, in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User minutes. The default is <code class="literal">60</code> (1 hour),
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the minimum is <code class="literal">1</code> (1 minute), and the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User maximum is <code class="literal">1440</code> (24 hours); any higher
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User value is silently reduced.
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User<dt><span class="term"><span><strong class="command">try-tcp-refresh</strong></span></span></dt>
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User Try to refresh the zone using TCP if UDP queries fail.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User For BIND 8 compatibility, the default is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">yes</strong></span>.
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User<dt><span class="term"><span><strong class="command">dnssec-secure-to-insecure</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Allow a dynamic zone to transition from secure to
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User insecure (i.e., signed to unsigned) by deleting all
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User of the DNSKEY records. The default is <span><strong class="command">no</strong></span>.
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User If set to <span><strong class="command">yes</strong></span>, and if the DNSKEY RRset
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User at the zone apex is deleted, all RRSIG and NSEC records
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User will be removed from the zone as well.
27963ad22062efe8eac2beed51ff70d8f0b35900Tinderbox User If the zone uses NSEC3, then it is also necessary to
27963ad22062efe8eac2beed51ff70d8f0b35900Tinderbox User delete the NSEC3PARAM RRset from the zone apex; this will
95d0bdf2b427478c4a8ed8e06f9e316c7880140eTinderbox User cause the removal of all corresponding NSEC3 records.
aa1905addf2f33d90aa020080e4e77a8651e829aTinderbox User (It is expected that this requirement will be eliminated
aa1905addf2f33d90aa020080e4e77a8651e829aTinderbox User in a future release.)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Note that if a zone has been configured with
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">auto-dnssec maintain</strong></span> and the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein private keys remain accessible in the key repository,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User then the zone will be automatically signed again the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein next time <span><strong class="command">named</strong></span> is started.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="id2583774"></a>Forwarding</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The forwarding facility can be used to create a large site-wide
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cache on a few servers, reducing traffic over links to external
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User name servers. It can also be used to allow queries by servers that
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User do not have direct access to the Internet, but wish to look up
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User names anyway. Forwarding occurs only on those queries for which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server is not authoritative and does not have the answer in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">forward</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This option is only meaningful if the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein forwarders list is not empty. A value of <code class="varname">first</code>,
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews the default, causes the server to query the forwarders
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt first — and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt if that doesn't answer the question, the server will then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the answer itself. If <code class="varname">only</code> is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt specified, the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User server will only query the forwarders.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">forwarders</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Specifies the IP addresses to be used
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for forwarding. The default is the empty list (no
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews forwarding).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Forwarding can also be configured on a per-domain basis, allowing
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for the global forwarding options to be overridden in a variety
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt of ways. You can set particular domains to use different
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User or have a different <span><strong class="command">forward only/first</strong></span> behavior,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt or not forward at all, see <a href="Bv9ARM.ch06.html#zone_statement_grammar" title="zone
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Statement Grammar">the section called “<span><strong class="command">zone</strong></span>
3e80f25d33be14eaa4aca8b487d68808fa42a797Tinderbox User Statement Grammar”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h4 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2583901"></a>Dual-stack Servers</h4></div></div></div>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Dual-stack servers are used as servers of last resort to work
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt problems in reachability due the lack of support for either IPv4
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on the host machine.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">dual-stack-servers</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies host names or addresses of machines with access to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User both IPv4 and IPv6 transports. If a hostname is used, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server must be able
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to resolve the name using only the transport it has. If the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein machine is dual
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stacked, then the <span><strong class="command">dual-stack-servers</strong></span> have no effect unless
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User access to a transport has been disabled on the command line
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (e.g. <span><strong class="command">named -4</strong></span>).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="access_control"></a>Access Control</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Access to the server can be restricted based on the IP address
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein details on how to specify IP address lists.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies which hosts are allowed to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein notify this server, a slave, of zone changes in addition
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the zone masters.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-notify</strong></span> may also be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">zone</strong></span> statement, in which case
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it overrides the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">options allow-notify</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement. It is only meaningful
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for a slave zone. If not specified, the default is to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein process notify messages
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User only from a zone's master.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-query</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Specifies which hosts are allowed to ask ordinary
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNS questions. <span><strong class="command">allow-query</strong></span> may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein also be specified in the <span><strong class="command">zone</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement, in which case it overrides the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">options allow-query</strong></span> statement.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If not specified, the default is to allow queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from all hosts.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query-cache</strong></span> is now
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used to specify access to the cache.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">allow-query-on</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies which local addresses can accept ordinary
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNS questions. This makes it possible, for instance,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to allow queries on internal-facing interfaces but
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disallow them on external-facing ones, without
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein necessarily knowing the internal network's addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that <span><strong class="command">allow-query-on</strong></span> is only
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein checked for queries that are permitted by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query</strong></span>. A query must be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein allowed by both ACLs, or it will be refused.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">allow-query-on</strong></span> may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein also be specified in the <span><strong class="command">zone</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement, in which case it overrides the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">options allow-query-on</strong></span> statement.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If not specified, the default is to allow queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on all addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater <span><strong class="command">allow-query-cache</strong></span> is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User used to specify access to the cache.
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater<dt><span class="term"><span><strong class="command">allow-query-cache</strong></span></span></dt>
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater Specifies which hosts are allowed to get answers
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater from the cache. If <span><strong class="command">allow-query-cache</strong></span>
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater is not set then <span><strong class="command">allow-recursion</strong></span>
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater is used if set, otherwise <span><strong class="command">allow-query</strong></span>
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater is used if set unless <span><strong class="command">recursion no;</strong></span> is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt set in which case <span><strong class="command">none;</strong></span> is used,
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater otherwise the default (<span><strong class="command">localnets;</strong></span>
04ecc85ca69027c4d56b4a11ce5bafb21ebf3966Automatic Updater <span><strong class="command">localhost;</strong></span>) is used.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">allow-query-cache-on</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Specifies which local addresses can give answers
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater from the cache. If not specified, the default is
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater to allow cache queries on any address,
cd0df9459e87097d01fc6c0de0a283c7e8d3c401Automatic Updater <span><strong class="command">localnets</strong></span> and
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater <span><strong class="command">localhost</strong></span>.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<dt><span class="term"><span><strong class="command">allow-recursion</strong></span></span></dt>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater Specifies which hosts are allowed to make recursive
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt queries through this server. If
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">allow-recursion</strong></span> is not set
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then <span><strong class="command">allow-query-cache</strong></span> is
996dbb19570bb25601a3611db5d59ccda0a064c5Automatic Updater used if set, otherwise <span><strong class="command">allow-query</strong></span>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater is used if set, otherwise the default
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User (<span><strong class="command">localnets;</strong></span>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater <span><strong class="command">localhost;</strong></span>) is used.
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User<dt><span class="term"><span><strong class="command">allow-recursion-on</strong></span></span></dt>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater Specifies which local addresses can accept recursive
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater queries. If not specified, the default is to allow
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater recursive queries on all addresses.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<dt><span class="term"><span><strong class="command">allow-update</strong></span></span></dt>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater Specifies which hosts are allowed to
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater submit Dynamic DNS updates for master zones. The default is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User updates from all hosts. Note that allowing updates based
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User on the requestor's IP address is insecure; see
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User <a href="Bv9ARM.ch07.html#dynamic_update_security" title="Dynamic Update Security">the section called “Dynamic Update Security”</a> for details.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater<dt><span class="term"><span><strong class="command">allow-update-forwarding</strong></span></span></dt>
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater Specifies which hosts are allowed to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User submit Dynamic DNS updates to slave zones to be forwarded to
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater master. The default is <strong class="userinput"><code>{ none; }</code></strong>,
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater means that no update forwarding will be performed. To
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater update forwarding, specify
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <strong class="userinput"><code>allow-update-forwarding { any; };</code></strong>.
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater Specifying values other than <strong class="userinput"><code>{ none; }</code></strong> or
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater <strong class="userinput"><code>{ any; }</code></strong> is usually
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater counterproductive, since
e4adb07cc1f8253b3c39aeeeb3ea03dc5b7011ccAutomatic Updater the responsibility for update access control should rest
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt master server, not the slaves.
2cc7515f8a0c2f5f86ec85a853c7cb855b3d9536Tinderbox User Note that enabling the update forwarding feature on a slave
4cfb5ea3a5dd28477df37004d6345992d5f41a3fTinderbox User may expose master servers relying on insecure IP address
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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.
2a1d6afad5c725cbc796c10f1d2b9041eda9f077Automatic Updater<dt><span class="term"><span><strong class="command">allow-v6-synthesis</strong></span></span></dt>
2a1d6afad5c725cbc796c10f1d2b9041eda9f077Automatic Updater This option was introduced for the smooth transition from
2a1d6afad5c725cbc796c10f1d2b9041eda9f077Automatic Updater to A6 and from "nibble labels" to binary labels.
2a1d6afad5c725cbc796c10f1d2b9041eda9f077Automatic Updater However, since both A6 and binary labels were then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this option was also deprecated.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">blackhole</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Specifies a list of addresses that the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server will not accept queries from or use to resolve a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt query. Queries
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt from these addresses will not be responded to. The default
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is <strong class="userinput"><code>none</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">filter-aaaa</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Specifies a list of addresses to which
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">filter-aaaa-on-v4</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is applies. The default is <strong class="userinput"><code>any</code></strong>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">resolver-query-timeout</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The amount of time the resolver will spend attempting
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to resolve a recursive query before failing. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and minimum is <code class="literal">10</code> and the maximum is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <code class="literal">30</code>. Setting it to <code class="literal">0</code>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt will result in the default being used.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User<div class="titlepage"><div><div><h4 class="title">
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User<a name="id2584462"></a>Interfaces</h4></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The interfaces and ports that the server will answer queries
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User from may be specified using the <span><strong class="command">listen-on</strong></span> option. <span><strong class="command">listen-on</strong></span> takes
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt an optional port and an <code class="varname">address_match_list</code>.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User The server will listen on all interfaces allowed by the address
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User match list. If a port is not specified, port 53 will be used.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User Multiple <span><strong class="command">listen-on</strong></span> statements are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt For example,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting">listen-on { 5.6.7.8; };
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User will enable the name server on port 53 for the IP address
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 5.6.7.8, and on port 1234 of an address on the machine in net
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User 1.2 that is not 1.2.3.4.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User If no <span><strong class="command">listen-on</strong></span> is specified, the
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User server will listen on port 53 on all IPv4 interfaces.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">listen-on-v6</strong></span> option is used to
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User specify the interfaces and the ports on which the server will
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt listen for incoming queries sent using IPv6. If not specified,
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User the server will listen on port 53 on all IPv6 interfaces.
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User as the <code class="varname">address_match_list</code> for the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">listen-on-v6</strong></span> option,
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User the server does not bind a separate socket to each IPv6 interface
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt address as it does for IPv4 if the operating system has enough API
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User support for IPv6 (specifically if it conforms to RFC 3493 and RFC
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Instead, it listens on the IPv6 wildcard address.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If the system only has incomplete API support for IPv6, however,
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User the behavior is the same as that for IPv4.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A list of particular IPv6 addresses can also be specified, in
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater the server listens on a separate socket for each specified
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater regardless of whether the desired API is supported by the system.
ebabe300b615154d08f5577822cfd8726d2643c8Automatic Updater Multiple <span><strong class="command">listen-on-v6</strong></span> options can
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt For example,
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User<pre class="programlisting">listen-on-v6 { any; };
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userlisten-on-v6 port 1234 { !2001:db8::/32; any; };
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User will enable the name server on port 53 for any IPv6 addresses
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User (with a single wildcard socket),
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User and on port 1234 of IPv6 addresses that is not in the prefix
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 2001:db8::/32 (with separate sockets for each matched address.)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User To make the server not listen on any IPv6 address, use
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<pre class="programlisting">listen-on-v6 { none; };
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h4 class="title">
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater<a name="query_address"></a>Query Address</h4></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If the server doesn't know the answer to a question, it will
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User query other name servers. <span><strong class="command">query-source</strong></span> specifies
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the address and port used for such queries. For queries sent over
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews IPv6, there is a separate <span><strong class="command">query-source-v6</strong></span> option.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If <span><strong class="command">address</strong></span> is <span><strong class="command">*</strong></span> (asterisk) or is omitted,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a wildcard IP address (<span><strong class="command">INADDR_ANY</strong></span>)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt will be used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <span><strong class="command">port</strong></span> is <span><strong class="command">*</strong></span> or is omitted,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a random port number from a pre-configured
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein range is picked up and will be used for each query.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The port range(s) is that specified in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">use-v4-udp-ports</strong></span> (for IPv4)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and <span><strong class="command">use-v6-udp-ports</strong></span> (for IPv6)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein options, excluding the ranges specified in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">avoid-v4-udp-ports</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and <span><strong class="command">avoid-v6-udp-ports</strong></span> options, respectively.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The defaults of the <span><strong class="command">query-source</strong></span> and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">query-source-v6</strong></span> options
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews<pre class="programlisting">query-source address * port *;
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsquery-source-v6 address * port *;
f02216f5b390ff0a589fa080f29350fd7794bf5cMark Andrews If <span><strong class="command">use-v4-udp-ports</strong></span> or
72628d3a5ef809d995c759130a81a1b1ae1395e0Automatic Updater <span><strong class="command">use-v6-udp-ports</strong></span> is unspecified,
72628d3a5ef809d995c759130a81a1b1ae1395e0Automatic Updater <span><strong class="command">named</strong></span> will check if the operating
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews system provides a programming interface to retrieve the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews system's default range for ephemeral ports.
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews If such an interface is available,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> will use the corresponding system
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User default range; otherwise, it will use its own defaults:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<pre class="programlisting">use-v4-udp-ports { range 1024 65535; };
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updateruse-v6-udp-ports { range 1024 65535; };
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Note: make sure the ranges be sufficiently large for
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt security. A desirable size depends on various parameters,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User but we generally recommend it contain at least 16384 ports
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (14 bits of entropy).
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Note also that the system's default range when used may be
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews too small for this purpose, and that the range may even be
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt changed while <span><strong class="command">named</strong></span> is running; the new
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt range will automatically be applied when <span><strong class="command">named</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is reloaded.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User It is encouraged to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt configure <span><strong class="command">use-v4-udp-ports</strong></span> and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">use-v6-udp-ports</strong></span> explicitly so that the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ranges are sufficiently large and are reasonably
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein independent from the ranges used by other applications.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note: the operational configuration
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt where <span><strong class="command">named</strong></span> runs may prohibit the use
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of some ports. For example, UNIX systems will not allow
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">named</strong></span> running without a root privilege
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to use ports less than 1024.
7be2f6d5df28b207e3e385c555eb4f740150528dTinderbox User If such ports are included in the specified (or detected)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User set of query ports, the corresponding query attempts will
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews fail, resulting in resolution failures or delay.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews It is therefore important to configure the set of ports
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews that can be safely used in the expected operational environment.
dc91524e4b73ee70908a295e3f2f62305680c5c2Automatic Updater The defaults of the <span><strong class="command">avoid-v4-udp-ports</strong></span> and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">avoid-v6-udp-ports</strong></span> options
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntavoid-v6-udp-ports {};
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User Note: BIND 9.5.0 introduced
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User the <span><strong class="command">use-queryport-pool</strong></span>
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User option to support a pool of such random ports, but this
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User option is now obsolete because reusing the same ports in
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User the pool may not be sufficiently secure.
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User For the same reason, it is generally strongly discouraged to
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User specify a particular port for the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">query-source</strong></span> or
7be2f6d5df28b207e3e385c555eb4f740150528dTinderbox User <span><strong class="command">query-source-v6</strong></span> options;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User it implicitly disables the use of randomized port numbers.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">use-queryport-pool</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This option is obsolete.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">queryport-pool-ports</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This option is obsolete.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">queryport-pool-updateinterval</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This option is obsolete.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The address specified in the <span><strong class="command">query-source</strong></span> option
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is used for both UDP and TCP queries, but the port applies only
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User to UDP queries. TCP queries always use a random
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User unprivileged port.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews Solaris 2.5.1 and earlier does not support setting the source
01b18d4c7c14ccb93708ab7ffdece3ac67b15a7cAutomatic Updater address for TCP sockets.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews See also <span><strong class="command">transfer-source</strong></span> and
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews <span><strong class="command">notify-source</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h4 class="title">
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater<a name="zone_transfers"></a>Zone Transfers</h4></div></div></div>
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater <acronym class="acronym">BIND</acronym> has mechanisms in place to
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater facilitate zone transfers
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User and set limits on the amount of load that transfers place on the
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater system. The following options apply to zone transfers.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater<dt><span class="term"><span><strong class="command">also-notify</strong></span></span></dt>
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater Defines a global list of IP addresses of name servers
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt that are also sent NOTIFY messages whenever a fresh copy of
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater zone is loaded, in addition to the servers listed in the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User zone's NS records.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater This helps to ensure that copies of the zones will
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater quickly converge on stealth servers.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater Optionally, a port may be specified with each
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater <span><strong class="command">also-notify</strong></span> address to send
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater the notify messages to a port other than the
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater default of 53.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater An optional TSIG key can also be specified with each
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User address to cause the notify messages to be signed; this
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt can be useful when sending notifies to multiple views.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater In place of explicit addresses, one or more named
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">masters</strong></span> lists can be used.
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater If an <span><strong class="command">also-notify</strong></span> list
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater is given in a <span><strong class="command">zone</strong></span> statement,
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater it will override
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater the <span><strong class="command">options also-notify</strong></span>
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater statement. When a <span><strong class="command">zone notify</strong></span>
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater is set to <span><strong class="command">no</strong></span>, the IP
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User addresses in the global <span><strong class="command">also-notify</strong></span> list will
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt not be sent NOTIFY messages for that zone. The default is
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater list (no global notification list).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">max-transfer-time-in</strong></span></span></dt>
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews Inbound zone transfers running longer than
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews this many minutes will be terminated. The default is 120
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User (2 hours). The maximum value is 28 days (40320 minutes).
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater<dt><span class="term"><span><strong class="command">max-transfer-idle-in</strong></span></span></dt>
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater Inbound zone transfers making no progress
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater in this many minutes will be terminated. The default is 60
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (1 hour). The maximum value is 28 days (40320 minutes).
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater<dt><span class="term"><span><strong class="command">max-transfer-time-out</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Outbound zone transfers running longer than
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater this many minutes will be terminated. The default is 120
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater (2 hours). The maximum value is 28 days (40320 minutes).
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater<dt><span class="term"><span><strong class="command">max-transfer-idle-out</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Outbound zone transfers making no progress
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater in this many minutes will be terminated. The default is 60
7a0d680aa507f1b9beaa5c350e4d562aab534323Automatic Updater hour). The maximum value is 28 days (40320 minutes).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">serial-query-rate</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Slave servers will periodically query master
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User servers to find out if zone serial numbers have
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User changed. Each such query uses a minute amount of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the slave server's network bandwidth. To limit
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User the amount of bandwidth used, BIND 9 limits the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User rate at which queries are sent. The value of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">serial-query-rate</strong></span> option, an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein integer, is the maximum number of queries sent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein per second. The default is 20.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In addition to controlling the rate SOA refresh
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein queries are issued at
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">serial-query-rate</strong></span> also controls
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the rate at which NOTIFY messages are sent from
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User both master and slave zones.
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>
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User as defined using the <span><strong class="command">serial-query-rate</strong></span> option.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">many-answers</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <span><strong class="command">transfer-format</strong></span> option is used
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User on the master server to determine which format it sends.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <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.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">many-answers</strong></span> is more efficient, but is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt only supported by relatively new slave servers,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein such as <acronym class="acronym">BIND</acronym> 9, <acronym class="acronym">BIND</acronym>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 8.x and <acronym class="acronym">BIND</acronym> 4.9.5 onwards.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">many-answers</strong></span> format is also supported by
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User recent Microsoft Windows nameservers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is <span><strong class="command">many-answers</strong></span>.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User <span><strong class="command">transfer-format</strong></span> may be overridden on a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that can be running concurrently. The default value is <code class="literal">10</code>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Increasing <span><strong class="command">transfers-in</strong></span> may
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt speed up the convergence
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of slave zones, but it also may increase the load on the
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt that can be running concurrently. Zone transfer requests in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The maximum number of inbound zone transfers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that can be concurrently transferring from a given remote
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name server.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the load on the remote name server. <span><strong class="command">transfers-per-ns</strong></span> may
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt be overridden on a per-server basis by using the <span><strong class="command">transfers</strong></span> phrase
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<p><span><strong class="command">transfer-source</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein determines which local address will be bound to IPv4
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt TCP connections used to fetch zones transferred
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein inbound by the server. It also determines the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the interface "closest to" the remote end. This
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User address must appear in the remote end's
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">allow-transfer</strong></span> option for the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone being transferred, if one is specified. This
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User statement sets the
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews <span><strong class="command">transfer-source</strong></span> for all zones,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt but can be overridden on a per-view or per-zone
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt basis by including a
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews <span><strong class="command">transfer-source</strong></span> statement within
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the <span><strong class="command">view</strong></span> or
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews <span><strong class="command">zone</strong></span> block in the configuration
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Solaris 2.5.1 and earlier does not support setting the
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews source address for TCP sockets.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">transfer-source-v6</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The same as <span><strong class="command">transfer-source</strong></span>,
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews except zone transfers are performed using IPv6.
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<dt><span class="term"><span><strong class="command">alt-transfer-source</strong></span></span></dt>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews An alternate transfer source if the one listed in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">transfer-source</strong></span> fails and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">use-alt-transfer-source</strong></span> is
21e01d1a464c9b3c694534a5e283bcde361e72bdTinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If you do not wish the alternate transfer source
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to be used, you should set
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">use-alt-transfer-source</strong></span>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews appropriately and you should not depend upon
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt getting an answer back to the first refresh
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<dt><span class="term"><span><strong class="command">alt-transfer-source-v6</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User An alternate transfer source if the one listed in
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <span><strong class="command">transfer-source-v6</strong></span> fails and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">use-alt-transfer-source</strong></span> is
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<dt><span class="term"><span><strong class="command">use-alt-transfer-source</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Use the alternate transfer sources or not. If views are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt specified this defaults to <span><strong class="command">no</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User otherwise it defaults to
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <span><strong class="command">yes</strong></span> (for BIND 8
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt compatibility).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">notify-source</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<p><span><strong class="command">notify-source</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt determines which local source address, and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt optionally UDP port, will be used to send NOTIFY
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User messages. This address must appear in the slave
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt server's <span><strong class="command">masters</strong></span> zone clause or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in an <span><strong class="command">allow-notify</strong></span> clause. This
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews statement sets the <span><strong class="command">notify-source</strong></span>
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews for all zones, but can be overridden on a per-zone or
a404eb87dc8f91fe81bedce8bb3957fc3c7684a5Mark Andrews per-view basis by including a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">notify-source</strong></span> statement within
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the <span><strong class="command">zone</strong></span> or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">view</strong></span> block in the configuration
035992291cb70ec3be4046fcea921b4a6acb1c77Mark Andrews<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Solaris 2.5.1 and earlier does not support setting the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt source address for TCP sockets.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">notify-source-v6</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Like <span><strong class="command">notify-source</strong></span>,
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews but applies to notify messages sent to IPv6 addresses.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2585592"></a>UDP Port Lists</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">use-v4-udp-ports</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">avoid-v4-udp-ports</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">use-v6-udp-ports</strong></span>, and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">avoid-v6-udp-ports</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User specify a list of IPv4 and IPv6 UDP ports that will be
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt used or not used as source ports for UDP messages.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See <a href="Bv9ARM.ch06.html#query_address" title="Query Address">the section called “Query Address”</a> about how the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User available ports are determined.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, with the following configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinuse-v6-udp-ports { range 32768 65535; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinavoid-v6-udp-ports { 40000; range 50000 60000; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UDP ports of IPv6 messages sent
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from <span><strong class="command">named</strong></span> will be in one
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of the following ranges: 32768 to 39999, 40001 to 49999,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and 60001 to 65535.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">avoid-v4-udp-ports</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">avoid-v6-udp-ports</strong></span> can be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to prevent <span><strong class="command">named</strong></span> from choosing as its random source port a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User port that is blocked by your firewall or a port that is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used by other applications;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if a query went out with a source port blocked by a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein firewall, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein answer would not get by the firewall and the name server would
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt have to query again.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note: the desired range can also be represented only with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">use-v4-udp-ports</strong></span> and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">use-v6-udp-ports</strong></span>, and the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">avoid-</strong></span> options are redundant in that
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User sense; they are provided for backward compatibility and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to possibly simplify the port specification.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2585652"></a>Operating System Resource Limits</h4></div></div></div>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The server's usage of many system resources can be limited.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Scaled values are allowed when specifying resource limits. For
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt gigabyte. <span><strong class="command">unlimited</strong></span> requests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unlimited use, or the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of <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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User unsupported limit is used.
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater<dt><span class="term"><span><strong class="command">coresize</strong></span></span></dt>
07ee99c7d0c2cd7f3e72263c29bd76ebd6d7ed43Automatic Updater The maximum size of a core dump. The default
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">datasize</strong></span></span></dt>
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User The maximum amount of data memory the server
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User may use. The default is <code class="literal">default</code>.
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User This is a hard limit on server memory usage.
d9184858dd5d7677050a813d444c281c56f697aaTinderbox User If the server attempts to allocate memory in excess of this
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User limit, the allocation will fail, which may in turn leave
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the server unable to perform DNS service. Therefore,
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User this option is rarely useful as a way of limiting the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User amount of memory used by the server, but it can be used
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User to raise an operating system data size limit that is
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User too small by default. If you wish to limit the amount
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt of memory used by the server, use the
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User <span><strong class="command">max-cache-size</strong></span> and
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User <span><strong class="command">recursive-clients</strong></span>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User options instead.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">files</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The maximum number of files the server
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User may have open concurrently. The default is <code class="literal">unlimited</code>.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User<dt><span class="term"><span><strong class="command">stacksize</strong></span></span></dt>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User The maximum amount of stack memory the server
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User may use. The default is <code class="literal">default</code>.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User<div class="titlepage"><div><div><h4 class="title">
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User<a name="server_resource_limits"></a>Server Resource Limits</h4></div></div></div>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User The following options set limits on the server's
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User resource consumption that are enforced internally by the
a24330c4805a224191ab687d0291963062fe3355Tinderbox User server rather than the operating system.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User<dt><span class="term"><span><strong class="command">max-ixfr-log-size</strong></span></span></dt>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User This option is obsolete; it is accepted
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User and ignored for BIND 8 compatibility. The option
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">max-journal-size</strong></span> performs a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt similar function in BIND 9.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User<dt><span class="term"><span><strong class="command">max-journal-size</strong></span></span></dt>
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User Sets a maximum size for each journal file
a24330c4805a224191ab687d0291963062fe3355Tinderbox User (see <a href="Bv9ARM.ch04.html#journal" title="The journal file">the section called “The journal file”</a>). When the journal file
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User the specified size, some of the oldest transactions in the
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User will be automatically removed. The largest permitted
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User value is 2 gigabytes. The default is
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User <code class="literal">unlimited</code>, which also
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User means 2 gigabytes.
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User This may also be set on a per-zone basis.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">host-statistics-max</strong></span></span></dt>
7e3f5fbcf871f22707e7da5e4c69573a4fdc64b5Tinderbox User In BIND 8, specifies the maximum number of host statistics
7e3f5fbcf871f22707e7da5e4c69573a4fdc64b5Tinderbox User entries to be kept.
7e3f5fbcf871f22707e7da5e4c69573a4fdc64b5Tinderbox User Not implemented in BIND 9.
7e3f5fbcf871f22707e7da5e4c69573a4fdc64b5Tinderbox User<dt><span class="term"><span><strong class="command">recursive-clients</strong></span></span></dt>
7e3f5fbcf871f22707e7da5e4c69573a4fdc64b5Tinderbox User The maximum number of simultaneous recursive lookups
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the server will perform on behalf of clients. The default
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <code class="literal">1000</code>. Because each recursing
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User client uses a fair
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein bit of memory, on the order of 20 kilobytes, the value of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">recursive-clients</strong></span> option may
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein have to be decreased
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt on hosts with limited memory.
0efe2893b6a53d11b84b6ac0fe4508a0e9d1daddTinderbox User<dt><span class="term"><span><strong class="command">tcp-clients</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum number of simultaneous client TCP
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein connections that the server will accept.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is <code class="literal">100</code>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">reserved-sockets</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The number of file descriptors reserved for TCP, stdio,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein etc. This needs to be big enough to cover the number of
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce interfaces <span><strong class="command">named</strong></span> listens on, <span><strong class="command">tcp-clients</strong></span> as well as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to provide room for outgoing TCP queries and incoming zone
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User transfers. The default is <code class="literal">512</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The minimum value is <code class="literal">128</code> and the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein maximum value is <code class="literal">128</code> less than
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein maxsockets (-S). This option may be removed in the future.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This option has little effect on Windows.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">max-cache-size</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The maximum amount of memory to use for the
f9aef05653eeb454c489d5bd2bde6daab774ad4aTinderbox User server's cache, in bytes.
f9aef05653eeb454c489d5bd2bde6daab774ad4aTinderbox User When the amount of data in the cache
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein reaches this limit, the server will cause records to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User expire prematurely based on an LRU based strategy so
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that the limit is not exceeded.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The keyword <strong class="userinput"><code>unlimited</code></strong>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or the value 0, will place no limit on cache size;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein records will be purged from the cache only when their
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein TTLs expire.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Any positive values less than 2MB will be ignored
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and reset to 2MB.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In a server with multiple views, the limit applies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein separately to the cache of each view.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is <strong class="userinput"><code>unlimited</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">tcp-listen-queue</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The listen queue depth. The default and minimum is 10.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If the kernel supports the accept filter "dataready" this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein also controls how
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein many TCP connections that will be queued in kernel space
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein some data before being passed to accept. Nonzero values
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein less than 10 will be silently raised. A value of 0 may also
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt be used; on most platforms this sets the listen queue
0efe2893b6a53d11b84b6ac0fe4508a0e9d1daddTinderbox User length to a system-defined default value.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2586214"></a>Periodic Task Intervals</h4></div></div></div>
3eb9ec750c9088869170dda63e8899b2ba462823Mark Andrews<dt><span class="term"><span><strong class="command">cleaning-interval</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This interval is effectively obsolete. Previously,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server would remove expired resource records
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from the cache every <span><strong class="command">cleaning-interval</strong></span> minutes.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <acronym class="acronym">BIND</acronym> 9 now manages cache
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein memory in a more sophisticated manner and does not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein rely on the periodic cleaning any more.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Specifying this option therefore has no effect on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the server's behavior.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">heartbeat-interval</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The server will perform zone maintenance tasks
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User for all zones marked as <span><strong class="command">dialup</strong></span> whenever this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interval expires. The default is 60 minutes. Reasonable
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews values are up
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to 1 day (1440 minutes). The maximum value is 28 days
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (40320 minutes).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If set to 0, no zone maintenance for these zones will occur.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">interface-interval</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The server will scan the network interface list
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein every <span><strong class="command">interface-interval</strong></span>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater minutes. The default
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User is 60 minutes. The maximum value is 28 days (40320 minutes).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If set to 0, interface scanning will only occur when
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater the configuration file is loaded. After the scan, the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater begin listening for queries on any newly discovered
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt interfaces (provided they are allowed by the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">listen-on</strong></span> configuration), and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt stop listening on interfaces that have gone away.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<dt><span class="term"><span><strong class="command">statistics-interval</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Name server statistics will be logged
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater 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).
3970098dcd2a7122541667b4b56cea8abce8ccf2Mark Andrews If set to 0, no statistics will be logged.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Not yet implemented in
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <acronym class="acronym">BIND</acronym> 9.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<div class="titlepage"><div><div><h4 class="title">
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<a name="topology"></a>Topology</h4></div></div></div>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater All other things being equal, when the server chooses a name
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater to query from a list of name servers, it prefers the one that is
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater topologically closest to itself. The <span><strong class="command">topology</strong></span> statement
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater takes an <span><strong class="command">address_match_list</strong></span> and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in a special way. Each top-level list element is assigned a
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Non-negated elements get a distance based on their position in the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater list, where the closer the match is to the start of the list, the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt shorter the distance is between it and the server. A negated match
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt will be assigned the maximum distance from the server. If there
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater is no match, the address will get a distance which is further than
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater any non-negated list element, and closer than any negated element.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater will prefer servers on network 10 the most, followed by hosts
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater on network 1.2.0.0 (netmask 255.255.0.0) and network 3, with the
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater exception of hosts on network 1.2.3 (netmask 255.255.255.0), which
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater is preferred least of all.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default topology is
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<pre class="programlisting"> topology { localhost; localnets; };
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">topology</strong></span> option
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater is not implemented in <acronym class="acronym">BIND</acronym> 9.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<div class="titlepage"><div><div><h4 class="title">
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater<a name="the_sortlist_statement"></a>The <span><strong class="command">sortlist</strong></span> Statement</h4></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The response to a DNS query may consist of multiple resource
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater records (RRs) forming a resource records set (RRset).
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The name server will normally return the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User RRs within the RRset in an indeterminate order
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (but see the <span><strong class="command">rrset-order</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User statement in <a href="Bv9ARM.ch06.html#rrset_ordering" title="RRset Ordering">the section called “RRset Ordering”</a>).
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater The client resolver code should rearrange the RRs as appropriate,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User that is, using any addresses on the local net in preference to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt other addresses.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User However, not all resolvers can do this or are correctly
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User When a client is using a local server, the sorting can be performed
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in the server, based on the client's address. This only requires
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User configuring the name servers, not all the clients.
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews The <span><strong class="command">sortlist</strong></span> statement (see below)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an <span><strong class="command">address_match_list</strong></span> and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User interprets it even
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt more specifically than the <span><strong class="command">topology</strong></span>
89bc48260b64a8859ae717e9e5bae380e275fef4Mark 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User one or two elements. The first element (which may be an IP
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an IP prefix, an ACL name or a nested <span><strong class="command">address_match_list</strong></span>)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of each top level list is checked against the source address of
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews the query until a match is found.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Once the source address of the query has been matched, if
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the top level statement contains only one element, the actual
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User element that matched the source address is used to select the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in the response to move to the beginning of the response. If the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein statement is a list of two elements, then the second element is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User treated the same as the <span><strong class="command">address_match_list</strong></span> in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a <span><strong class="command">topology</strong></span> statement. Each top
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User level element
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is assigned a distance and the address in the response with the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User distance is moved to the beginning of the response.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In the following example, any queries received from any of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the addresses of the host itself will get responses preferring
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User on any of the locally connected networks. Next most preferred are
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 192.168.3/24 networks. Queries received from a host on the
58d9e9169e7ab4355a0b0bfc13bc616bc5247dfeAutomatic Updater or the 192.168.5/24 network will only prefer other addresses on
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt their directly connected networks.
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater // IF the local host
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater // THEN first fit on the following nets
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User // IF on class C 192.168.1 THEN use .1, or .2 or .3
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt // IF on class C 192.168.2 THEN use .2, or .1 or .3
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt // IF on class C 192.168.3 THEN use .3, or .1 or .2
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater // IF .4 or .5 THEN prefer that net
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following example will give reasonable behavior for the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein local host and hosts on directly connected networks. It is similar
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the behavior of the address sort in <acronym class="acronym">BIND</acronym> 4.9.x. Responses sent
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to queries from the local host will favor any of the directly
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User networks. Responses sent to queries from any other hosts on a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein connected network will prefer addresses on that same network.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to other queries will not be sorted.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User { localhost; localnets; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein { localnets; };
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h4 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="rrset_ordering"></a>RRset Ordering</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When multiple records are returned in an answer it may be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein useful to configure the order of the records placed into the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">rrset-order</strong></span> statement permits
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt configuration
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of the ordering of the records in a multiple record response.
60c29cf21affb5243753e22f9ff43347013ae8ebTinderbox User See also the <span><strong class="command">sortlist</strong></span> statement,
60c29cf21affb5243753e22f9ff43347013ae8ebTinderbox User <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>.
60c29cf21affb5243753e22f9ff43347013ae8ebTinderbox User An <span><strong class="command">order_spec</strong></span> is defined as
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional">class <em class="replaceable"><code>class_name</code></em></span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional">type <em class="replaceable"><code>type_name</code></em></span>]
60c29cf21affb5243753e22f9ff43347013ae8ebTinderbox User [<span class="optional">name <em class="replaceable"><code>"domain_name"</code></em></span>]
60c29cf21affb5243753e22f9ff43347013ae8ebTinderbox User order <em class="replaceable"><code>ordering</code></em>
def82e8de9ff45e29ab21e5aba9a39539138c1f4Tinderbox User If no class is specified, the default is <span><strong class="command">ANY</strong></span>.
def82e8de9ff45e29ab21e5aba9a39539138c1f4Tinderbox User If no type is specified, the default is <span><strong class="command">ANY</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If no name is specified, the default is "<span><strong class="command">*</strong></span>" (asterisk).
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater The legal values for <span><strong class="command">ordering</strong></span> are:
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater<div class="informaltable"><table border="1">
def82e8de9ff45e29ab21e5aba9a39539138c1f4Tinderbox User <p><span><strong class="command">fixed</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Records are returned in the order they
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are defined in the zone file.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">random</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Records are returned in some random order.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">cyclic</strong></span></p>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Records are returned in a cyclic round-robin order.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If <acronym class="acronym">BIND</acronym> is configured with the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews "--enable-fixed-rrset" option at compile time, then
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the initial ordering of the RRset will match the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt one specified in the zone file.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein class IN type A name "host.example.com" order random;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein order cyclic;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will cause any responses for type A records in class IN that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein have "<code class="literal">host.example.com</code>" as a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein suffix, to always be returned
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in random order. All other records are returned in cyclic order.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If multiple <span><strong class="command">rrset-order</strong></span> statements
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein appear, they are not combined — the last one applies.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein By default, all records are returned in random order.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt In this release of <acronym class="acronym">BIND</acronym> 9, the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">rrset-order</strong></span> statement does not support
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt "fixed" ordering by default. Fixed ordering can be enabled
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User at compile time by specifying "--enable-fixed-rrset" on
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the "configure" command line.
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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt lame server indication. 0 disables caching. (This is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="bold"><strong>NOT</strong></span> recommended.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is <code class="literal">600</code> (10 minutes) and the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt maximum value is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Lame-ttl also controls the amount of time DNSSEC
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt validation failures are cached. There is a minimum
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of 30 seconds applied to bad cache entries if the
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews lame-ttl is set to less than 30 seconds.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">max-ncache-ttl</strong></span></span></dt>
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews To reduce network traffic and increase performance,
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews the server stores negative answers. <span><strong class="command">max-ncache-ttl</strong></span> is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User used to set a maximum retention time for these answers in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in seconds. The default
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">max-ncache-ttl</strong></span> is <code class="literal">10800</code> seconds (3 hours).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">max-ncache-ttl</strong></span> cannot exceed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 7 days and will
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User be silently truncated to 7 days if set to a greater value.
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews<dt><span class="term"><span><strong class="command">max-cache-ttl</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Sets the maximum time for which the server will
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt cache ordinary (positive) answers. The default is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt one week (7 days).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A value of zero may cause all queries to return
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews SERVFAIL, because of lost caches of intermediate
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User RRsets (such as NS and glue AAAA/A records) in the
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews resolution process.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<dt><span class="term"><span><strong class="command">min-roots</strong></span></span></dt>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The minimum number of root servers that
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater is required for a request for the root servers to be
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews accepted. The default
dec590a3deb8e87380a8bd3a77d535dba3729bf6Tinderbox User is <strong class="userinput"><code>2</code></strong>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Not implemented in <acronym class="acronym">BIND</acronym> 9.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">sig-validity-interval</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies the number of days into the future when
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt DNSSEC signatures automatically generated as a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein result of dynamic updates (<a href="Bv9ARM.ch04.html#dynamic_update" title="Dynamic Update">the section called “Dynamic Update”</a>) will expire. There
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is an optional second field which specifies how
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein long before expiry that the signatures will be
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User regenerated. If not specified, the signatures will
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt be regenerated at 1/4 of base interval. The second
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews field is specified in days if the base interval is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User greater than 7 days otherwise it is specified in hours.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The default base interval is <code class="literal">30</code> days
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein giving a re-signing interval of 7 1/2 days. The maximum
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein values are 10 years (3660 days).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The signature inception time is unconditionally
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews set to one hour before the current time to allow
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for a limited amount of clock skew.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">sig-validity-interval</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein should be, at least, several multiples of the SOA
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews expire interval to allow for reasonable interaction
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User between the various timer and expiry dates.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<dt><span class="term"><span><strong class="command">sig-signing-nodes</strong></span></span></dt>
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews Specify the maximum number of nodes to be
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User examined in each quantum when signing a zone with
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a new DNSKEY. The default is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">sig-signing-signatures</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Specify a threshold number of signatures that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will terminate processing a quantum when signing
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a zone with a new DNSKEY. The default is
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User<dt><span class="term"><span><strong class="command">sig-signing-type</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Specify a private RDATA type to be used when generating
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt key signing records. The default is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It is expected that this parameter may be removed
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater in a future version once there is a standard type.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater These records can be removed from the zone once named
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater has completed signing the zone with the matching key
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater using <span><strong class="command">nsupdate</strong></span> or
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater <span><strong class="command">rndc signing -clear</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">rndc signing -clear</strong></span> is the only supported
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater way to remove these records from
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">inline-signing</strong></span> zones.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<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>
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater These options control the server's behavior on refreshing a
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater (querying for SOA changes) or retrying failed transfers.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater Usually the SOA values for the zone are used, but these
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater are set by the master, giving slave server administrators
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt control over their contents.
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater These options allow the administrator to set a minimum and
984c2e9f76e66e86f7d9aca99a774836ddf196eaAutomatic Updater refresh and retry time either per-zone, per-view, or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User These options are valid for slave and stub zones,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and clamp the SOA refresh and retry times to the specified
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following defaults apply.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">min-refresh-time</strong></span> 300 seconds,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">max-refresh-time</strong></span> 2419200 seconds
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (4 weeks), <span><strong class="command">min-retry-time</strong></span> 500 seconds,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and <span><strong class="command">max-retry-time</strong></span> 1209600 seconds
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">edns-udp-size</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Sets the initial advertised EDNS UDP buffer size in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein bytes, to control the size of packets received from
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authoritative servers in response to recursive queries.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Valid values are 512 to 4096 (values outside this range
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will be silently adjusted). The default value is 4096.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The usual reason for setting
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">edns-udp-size</strong></span> to a non-default value
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is to get UDP answers to pass through broken firewalls
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User that block fragmented packets and/or block UDP DNS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein packets that are greater than 512 bytes.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt When <span><strong class="command">named</strong></span> first queries a remote
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User server, it will advertise a UDP buffer size of 512, as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this has the greatest chance of success on the first try.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If the initial response times out, <span><strong class="command">named</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will try again with plain DNS, and if that is successful,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it will be taken as evidence that the server does not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein support EDNS. After enough failures using EDNS and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein successes using plain DNS, <span><strong class="command">named</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will default to plain DNS for future communications
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with that server. (Periodically, <span><strong class="command">named</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will an EDNS query to see if the situation has improved.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein However, if the initial query is successful with
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User EDNS advertising a buffer size of 512, then
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">named</strong></span> will advertise progressively
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User larger buffer sizes on successive queries, until
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein responses begin timing out or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">edns-udp-size</strong></span> is reached.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The default buffer sizes used by <span><strong class="command">named</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are 512, 1232, 1432, and 4096, but never exceeding
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">edns-udp-size</strong></span>. (The values 1232 and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 1432 are chosen to allow for an IPv4/IPv6 encapsulated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UDP message to be sent without fragmentation at Ethernet
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User and IPv6 network mimimum MTU sizes.)
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater<dt><span class="term"><span><strong class="command">max-udp-size</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Sets the maximum EDNS UDP message size
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> will send in bytes.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Valid values are 512 to 4096 (values outside this
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User range will be silently adjusted). The default
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt value is 4096.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This value applies to responses sent by a server; to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt set the advertised buffer size in queries, see
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span><strong class="command">edns-udp-size</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The usual reason for setting
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">max-udp-size</strong></span> to a non-default
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt value is to get UDP answers to pass through broken
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein block UDP packets that are greater than 512 bytes.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is independent of the advertised receive
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User buffer (<span><strong class="command">edns-udp-size</strong></span>).
bae169ea64bf736d6ea6074c2af3d7c117079972Tinderbox User Setting this to a low value will encourage additional
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater TCP traffic to the nameserver.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">masterfile-format</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the file format of zone files (see
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="Bv9ARM.ch06.html#zonefile_format" title="Additional File Formats">the section called “Additional File Formats”</a>).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default value is <code class="constant">text</code>, which is the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User standard textual representation, except for slave zones,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in which the default value is <code class="constant">raw</code>.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User Files in other formats than <code class="constant">text</code> are
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User typically expected to be generated by the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">named-compilezone</strong></span> tool, or dumped by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span>.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User Note that when a zone file in a different format than
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="constant">text</code> is loaded, <span><strong class="command">named</strong></span>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User may omit some of the checks which would be performed for a
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User file in the <code class="constant">text</code> format. In particular,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">check-names</strong></span> checks do not apply
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User for the <code class="constant">raw</code> format. This means
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User a zone file in the <code class="constant">raw</code> format
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User must be generated with the same check level as that
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User specified in the <span><strong class="command">named</strong></span> configuration
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User file. Also, <code class="constant">map</code> format files are
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User loaded directly into memory via memory mapping, with only
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User minimal checking.
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User This statement sets the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">masterfile-format</strong></span> for all zones,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User but can be overridden on a per-zone or per-view basis
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User by including a <span><strong class="command">masterfile-format</strong></span>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User statement within the <span><strong class="command">zone</strong></span> or
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">view</strong></span> block in the configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="clients-per-query"></a><span class="term"><span><strong class="command">clients-per-query</strong></span>, </span><span class="term"><span><strong class="command">max-clients-per-query</strong></span></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<p>These set the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User initial value (minimum) and maximum number of recursive
b96b01ed26f27cb9bb2fef7b088a331256fc5804Tinderbox User simultaneous clients for any given query
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User (<qname,qtype,qclass>) that the server will accept
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User before dropping additional clients. <span><strong class="command">named</strong></span> will attempt to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User self tune this value and changes will be logged. The
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User default values are 10 and 100.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This value should reflect how many queries come in for
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User a given name in the time it takes to resolve that name.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User If the number of queries exceed this value, <span><strong class="command">named</strong></span> will
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User assume that it is dealing with a non-responsive zone
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User and will drop additional queries. If it gets a response
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User after dropping queries, it will raise the estimate. The
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User estimate will then be lowered in 20 minutes if it has
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt remained unchanged.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User If <span><strong class="command">clients-per-query</strong></span> is set to zero,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User then there is no limit on the number of clients per query
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User and no queries will be dropped.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If <span><strong class="command">max-clients-per-query</strong></span> is set to zero,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User then there is no upper bound other than imposed by
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">recursive-clients</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">notify-delay</strong></span></span></dt>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The delay, in seconds, between sending sets of notify
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User messages for a zone. The default is five (5) seconds.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The overall rate that NOTIFY messages are sent for all
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User zones is controlled by <span><strong class="command">serial-query-rate</strong></span>.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<dt><span class="term"><span><strong class="command">max-rsa-exponent-size</strong></span></span></dt>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The maximum RSA exponent size, in bits, that will
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User be accepted when validating. Valid values are 35
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User to 4096 bits. The default zero (0) is also accepted
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User and is equivalent to 4096.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<dt><span class="term"><span><strong class="command">prefetch</strong></span></span></dt>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User When a query is received for cached data which
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User is to expire shortly, <span><strong class="command">named</strong></span> can
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User refresh the data from the authoritative server
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User immediately, ensuring that the cache always has an
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User answer available.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The <code class="option">prefetch</code> specifies the the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User "trigger" TTL value at which prefetch of the current
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User query will take place: when a cache record with a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User lower TTL value is encountered during query processing,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User it will be refreshed. Valid trigger TTL values are 1 to
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User 10 seconds. Setting a trigger TTL to zero disables
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User An optional second argument can be used
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User to set the smallest <span class="emphasis"><em>original</em></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User TTL value that will be accepted for a record to be
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt eligible for prefetching. The difference between
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User the trigger TTL and the eligibility TTL must be
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User at least 6 seconds.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The default trigger and eligibility TTLs are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="literal">2</code> and <code class="literal">9</code>,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User respectively.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<div class="titlepage"><div><div><h4 class="title">
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<a name="builtin"></a>Built-in server information zones</h4></div></div></div>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The server provides some helpful diagnostic information
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User through a number of built-in zones under the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User pseudo-top-level-domain <code class="literal">bind</code> in the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">CHAOS</strong></span> class. These zones are part
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User 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
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">CHAOS</strong></span> which is separate from the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User default view of class <span><strong class="command">IN</strong></span>. Most global
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User configuration options (<span><strong class="command">allow-query</strong></span>,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User etc) will apply to this view, but some are locally
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User overridden: <span><strong class="command">notify</strong></span>,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">recursion</strong></span> and
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">allow-new-zones</strong></span> are
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User always set to <strong class="userinput"><code>no</code></strong>, and
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">rate-limit</strong></span> is set to allow
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User three responses per second.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User If you need to disable these zones, use the options
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User below, or hide the built-in <span><strong class="command">CHAOS</strong></span>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User defining an explicit view of class <span><strong class="command">CHAOS</strong></span>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User that matches all clients.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">version</strong></span></span></dt>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The version the server should report
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User via a query of the name <code class="literal">version.bind</code>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User with type <span><strong class="command">TXT</strong></span>, class <span><strong class="command">CHAOS</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default is the real version number of this server.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User Specifying <span><strong class="command">version none</strong></span>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User disables processing of the queries.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<dt><span class="term"><span><strong class="command">hostname</strong></span></span></dt>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The hostname the server should report via a query of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the name <code class="filename">hostname.bind</code>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User with type <span><strong class="command">TXT</strong></span>, class <span><strong class="command">CHAOS</strong></span>.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User This defaults to the hostname of the machine hosting the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt name server as
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt found by the gethostname() function. The primary purpose of such queries
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User identify which of a group of anycast servers is actually
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User answering your queries. Specifying <span><strong class="command">hostname none;</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User disables processing of the queries.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<dt><span class="term"><span><strong class="command">server-id</strong></span></span></dt>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The ID the server should report when receiving a Name
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User Server Identifier (NSID) query, or a query of the name
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <code class="filename">ID.SERVER</code> with type
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User <span><strong class="command">TXT</strong></span>, class <span><strong class="command">CHAOS</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The primary purpose of such queries is to
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User identify which of a group of anycast servers is actually
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User answering your queries. Specifying <span><strong class="command">server-id none;</strong></span>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User disables processing of the queries.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User Specifying <span><strong class="command">server-id hostname;</strong></span> will cause <span><strong class="command">named</strong></span> to
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User use the hostname as found by the gethostname() function.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User The default <span><strong class="command">server-id</strong></span> is <span><strong class="command">none</strong></span>.
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<div class="titlepage"><div><div><h4 class="title">
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User<a name="empty"></a>Built-in Empty Zones</h4></div></div></div>
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User Named has some built-in empty zones (SOA and NS records only).
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User These are for zones that should normally be answered locally
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User and which queries should not be sent to the Internet's root
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User servers. The official servers which cover these namespaces
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User return NXDOMAIN responses to these queries. In particular,
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User these cover the reverse namespaces for addresses from
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User RFC 1918, RFC 4193, RFC 5737 and RFC 6598. They also include the
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User reverse namespace for IPv6 local address (locally assigned),
c0cbdeedb5e119c640f098da1851cb1b9adcc739Tinderbox User IPv6 link local addresses, the IPv6 loopback address and the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IPv6 unknown address.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Named will attempt to determine if a built-in zone already exists
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater or is active (covered by a forward-only forwarding declaration)
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater and will not create an empty zone in that case.
4a71c59d2bf32585c5dd18f4630d5f10e56a1ab3Automatic Updater The current list of empty zones is:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Empty zones are settable at the view level and only apply to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein views of class IN. Disabled empty zones are only inherited
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User from options if there are no disabled empty zones specified
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User at the view level. To override the options list of disabled
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zones, you can disable the root zone at the view level, for example:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disable-empty-zone ".";
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If you are using the address ranges covered here, you should
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein already have reverse zones covering the addresses you use.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In practice this appears to not be the case with many queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein being made to the infrastructure servers for names in these
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein spaces. So many in fact that sacrificial servers were needed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be deployed to channel the query load away from the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein infrastructure servers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The real parent servers for these zones should disable all
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein empty zone under the parent zone they serve. For the real
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce root servers, this is all built-in empty zones. This will
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce enable them to return referrals to deeper in the tree.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<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.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">empty-contact</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Enable or disable all empty zones. By default, they
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews are enabled.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">disable-empty-zone</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Disable individual 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="acache"></a>Additional Section Caching</h4></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The additional section cache, also called <span><strong class="command">acache</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is an internal cache to improve the response performance of BIND 9.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When additional section caching is enabled, BIND 9 will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cache an internal short-cut to the additional section content for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein each answer RR.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note that <span><strong class="command">acache</strong></span> is an internal caching
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews mechanism of BIND 9, and is not related to the DNS caching
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server function.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Additional section caching does not change the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt response content (except the RRsets ordering of the additional
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein section, see below), but can improve the response performance
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt significantly.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It is particularly effective when BIND 9 acts as an authoritative
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt server for a zone that has many delegations with many glue RRs.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt In order to obtain the maximum performance improvement
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt from additional section caching, setting
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">additional-from-cache</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to <span><strong class="command">no</strong></span> is recommended, since the current
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt implementation of <span><strong class="command">acache</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein does not short-cut of additional section information from the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNS cache data.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein One obvious disadvantage of <span><strong class="command">acache</strong></span> is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that it requires much more
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein memory for the internal cached data.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Thus, if the response performance does not matter and memory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein consumption is much more critical, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">acache</strong></span> mechanism can be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein disabled by setting <span><strong class="command">acache-enable</strong></span> to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Additional section caching also has a minor effect on the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein first caches an RRset for the additional section, and the same
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ordering will be kept in succeeding responses, regardless of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein setting of <span><strong class="command">rrset-order</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The effect of this should be minor, however, since an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RRset in the additional section
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein typically only contains a small number of RRs (and in many cases
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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>.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater<dt><span class="term"><span><strong class="command">acache-enable</strong></span></span></dt>
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater If <span><strong class="command">yes</strong></span>, additional section caching is
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater enabled. The default value is <span><strong class="command">no</strong></span>.
4e243fdc6b33a6371208b48d64912d8e327b4f5cAndreas Gustafsson<dt><span class="term"><span><strong class="command">acache-cleaning-interval</strong></span></span></dt>
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The server will remove stale cache entries, based on an LRU
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce algorithm, every <span><strong class="command">acache-cleaning-interval</strong></span> minutes.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The default is 60 minutes.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater If set to 0, no periodic cleaning will occur.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<dt><span class="term"><span><strong class="command">max-acache-size</strong></span></span></dt>
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater The maximum amount of memory in bytes to use for the server's acache.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater When the amount of data in the acache reaches this limit,
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater will clean more aggressively so that the limit is not
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce In a server with multiple views, the limit applies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein separately to the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User acache of each view.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is <code class="literal">16M</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2588756"></a>Content Filtering</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <acronym class="acronym">BIND</acronym> 9 provides the ability to filter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein out DNS responses from external DNS servers containing
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein certain types of data in the answer section.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifically, it can reject address (A or AAAA) records if
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce the corresponding IPv4 or IPv6 addresses match the given
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce <code class="varname">address_match_list</code> of the
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce <span><strong class="command">deny-answer-addresses</strong></span> option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It can also reject CNAME or DNAME records if the "alias"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User name (i.e., the CNAME alias or the substituted query name
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User due to DNAME) matches the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein given <code class="varname">namelist</code> of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">deny-answer-aliases</strong></span> option, where
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User "match" means the alias name is a subdomain of one of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <code class="varname">name_list</code> elements.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If the optional <code class="varname">namelist</code> is specified
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with <span><strong class="command">except-from</strong></span>, records whose query name
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt matches the list will be accepted regardless of the filter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Likewise, if the alias name is a subdomain of the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt corresponding zone, the <span><strong class="command">deny-answer-aliases</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt filter will not apply;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for example, even if "example.com" is specified for
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">deny-answer-aliases</strong></span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">www.example.com. CNAME xxx.example.com.</pre>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User returned by an "example.com" server will be accepted.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In the <code class="varname">address_match_list</code> of the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span><strong class="command">deny-answer-addresses</strong></span> option, only
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt are meaningful;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt any <code class="varname">key_id</code> will be silently ignored.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If a response message is rejected due to the filtering,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the entire message is discarded without being cached, and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a SERVFAIL error will be returned to the client.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This filtering is intended to prevent "DNS rebinding attacks," in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt which an attacker, in response to a query for a domain name the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein attacker controls, returns an IP address within your own network or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an alias name within your own domain.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A naive web browser or script could then serve as an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unintended proxy, allowing the attacker
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to get access to an internal node of your local network
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that couldn't be externally accessed otherwise.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the paper available at
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <a href="http://portal.acm.org/citation.cfm?id=1315245.1315298" target="_top">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein http://portal.acm.org/citation.cfm?id=1315245.1315298
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for more details about the attacks.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, if you own a domain named "example.net" and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein your internal network uses an IPv4 prefix 192.0.2.0/24,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt you might specify the following rules:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">deny-answer-addresses { 192.0.2.0/24; } except-from { "example.net"; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeindeny-answer-aliases { "example.net"; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If an external attacker lets a web browser in your local
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein network look up an IPv4 address of "attacker.example.com",
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the attacker's DNS server would return a response like this:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting">attacker.example.com. A 192.0.2.1</pre>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in the answer section.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Since the rdata of this record (the IPv4 address) matches
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater the specified prefix 192.0.2.0/24, this response will be
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater On the other hand, if the browser looks up a legitimate
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater internal web server "www.example.net" and the
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater following response is returned to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <acronym class="acronym">BIND</acronym> 9 server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">www.example.net. A 192.0.2.2</pre>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User it will be accepted since the owner name "www.example.net"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User matches the <span><strong class="command">except-from</strong></span> element,
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Note that this is not really an attack on the DNS per se.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce In fact, there is nothing wrong for an "external" name to
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce be mapped to your "internal" IP address or domain name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein from the DNS point of view.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User It might actually be provided for a legitimate purpose,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein such as for debugging.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein As long as the mapping is provided by the correct owner,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it is not possible or does not make sense to detect
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein whether the intent of the mapping is legitimate or not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein within the DNS.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The "rebinding" attack must primarily be protected at the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt application that uses the DNS.
c92c50783e4e93699f2a42643b8f200b9b719c87Automatic Updater For a large site, however, it may be difficult to protect
c92c50783e4e93699f2a42643b8f200b9b719c87Automatic Updater all possible applications at once.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This filtering feature is provided only to help such an
c92c50783e4e93699f2a42643b8f200b9b719c87Automatic Updater operational environment;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it is generally discouraged to turn it on unless you are
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User very sure you have no other choice and the attack is a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein real threat for your applications.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Care should be particularly taken if you want to use this
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater option for addresses within 127.0.0.0/8.
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater These addresses are obviously "internal", but many
9ef82979c49da3dd3647273b1cd6ed7d3352c003Automatic Updater applications conventionally rely on a DNS mapping from
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein some name to such an address.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Filtering out DNS records containing this address
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User spuriously can break such applications.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h4 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2588950"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <acronym class="acronym">BIND</acronym> 9 includes a limited
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein mechanism to modify DNS responses for requests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein analogous to email anti-spam DNS blacklists.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews Responses can be changed to deny the existence of domains(NXDOMAIN),
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews deny the existence of IP addresses for domains (NODATA),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or contain other IP addresses or data.
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User Response policy zones are named in the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">response-policy</strong></span> option for the view or among the
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User global options if there is no response-policy option for the view.
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User Response policy zones are ordinary DNS zones containing RRsets
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User that can be queried normally if allowed.
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User It is usually best to restrict those queries with something like
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User <span><strong class="command">allow-query { localhost; };</strong></span>.
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User Five policy triggers can be encoded in RPZ records.
e2b184f84e846bbcb764b6f0aef5dcd583d3d7a1Tinderbox User<dt><span class="term"><span><strong class="command">RPZ-CLIENT-IP</strong></span></span></dt>
e2b184f84e846bbcb764b6f0aef5dcd583d3d7a1Tinderbox User IP records are triggered by the IP address of the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Client IP address triggers are encoded in records that have
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt owner names that are subdomains of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">rpz-client-ip</strong></span> relativized to the
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews policy zone origin name
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and encode an address or address block.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 addresses are represented as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>prefixlength.B4.B3.B2.B1.rpz-ip</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The IPv4 prefix length must be between 1 and 32.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt All four bytes, B4, B3, B2, and B1, must be present.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt B4 is the decimal value of the least significant byte of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 address as in IN-ADDR.ARPA.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt IPv6 addresses are encoded in a format similar
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to the standard IPv6 text representation,
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews <strong class="userinput"><code>prefixlength.W8.W7.W6.W5.W4.W3.W2.W1.rpz-ip</code></strong>.
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User Each of W8,...,W1 is a one to four digit hexadecimal number
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User representing 16 bits of the IPv6 address as in the standard
cd3ee12f1d34107678bde7be68b1d7f0f45cf2c9Automatic Updater text representation of IPv6 addresses,
cd3ee12f1d34107678bde7be68b1d7f0f45cf2c9Automatic Updater but reversed as in IN-ADDR.ARPA.
cd3ee12f1d34107678bde7be68b1d7f0f45cf2c9Automatic Updater All 8 words must be present except when one set of consecutive
cd3ee12f1d34107678bde7be68b1d7f0f45cf2c9Automatic Updater zero words is replaced with <strong class="userinput"><code>.zz.</code></strong>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User analogous to double colons (::) in standard IPv6 text
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The IPv6 prefix length must be between 64 and 128.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">QNAME</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein QNAME policy records are triggered by query names of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein requests and targets of CNAME records resolved to generate
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the response.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The owner name of a QNAME policy record is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the query name relativized to the policy zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">RPZ-IP</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IP triggers are IP addresses in an
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A or AAAA record in the ANSWER section of a response.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater They are encoded like client-IP triggers except as
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User subdomains of <span><strong class="command">rpz-ip</strong></span>.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">RPZ-NSDNAME</strong></span></span></dt>
d3907d27cc138f45772d3d63082ae02c7659148aAutomatic Updater NSDNAME triggers match names of authoritative servers
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater for the query name, a parent of the query name, a CNAME for
9fbbfb5757a1e3e86d7dea62c4e63ffc2303ca2bAutomatic Updater query name, or a parent of a CNAME.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater They are encoded as subdomains of
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">rpz-nsdname</strong></span> relativized
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater to the RPZ origin name.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater NSIP triggers match IP addresses in A and
2914684df93e6c3aa4d402b5a14fbe6137f538aeAutomatic Updater AAAA RRsets for domains that can be checked against NSDNAME
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater policy records.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">RPZ-NSIP</strong></span></span></dt>
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater NSIP triggers are encoded like IP triggers except as
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater subdomains of <span><strong class="command">rpz-nsip</strong></span>.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater NSDNAME and NSIP triggers are checked only for names with at
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User least <span><strong class="command">min-ns-dots</strong></span> dots.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default value of <span><strong class="command">min-ns-dots</strong></span> is 1 to
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater exclude top level domains.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The query response is checked against all response policy zones,
2914684df93e6c3aa4d402b5a14fbe6137f538aeAutomatic Updater so two or more policy records can be triggered by a response.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater Because DNS responses are rewritten according to at most one
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater policy record, a single record encoding an action (other than
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater <span><strong class="command">DISABLED</strong></span> actions) must be chosen.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Triggers or the records that encode them are chosen for the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt rewriting in the following order:
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<li>Choose the triggered record in the zone that appears
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater first in the <span><strong class="command">response-policy</strong></span> option.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<li>Prefer CLIENT-IP to QNAME to IP to NSDNAME to NSIP
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt triggers in a single zone.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<li>Among NSDNAME triggers, prefer the
2914684df93e6c3aa4d402b5a14fbe6137f538aeAutomatic Updater trigger that matches the smallest name under the DNSSEC ordering.
54e57d8ff46096e9c6a9af95f2522b56cb3877b2Automatic Updater<li>Among IP or NSIP triggers, prefer the trigger
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater with the longest prefix.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<li>Among triggers with the same prefex length,
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater prefer the IP or NSIP trigger that matches
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater the smallest IP address.
74ae031d9d7780015c11242b71cecca905ada695Tinderbox User When the processing of a response is restarted to resolve
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt DNAME or CNAME records and a policy record set has
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt not been triggered,
74ae031d9d7780015c11242b71cecca905ada695Tinderbox User all response policy zones are again consulted for the
74ae031d9d7780015c11242b71cecca905ada695Tinderbox User DNAME or CNAME names and addresses.
74ae031d9d7780015c11242b71cecca905ada695Tinderbox User RPZ record sets are any types of DNS record except
74ae031d9d7780015c11242b71cecca905ada695Tinderbox User DNAME or DNSSEC that encode actions or responses to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt individual queries.
e839bf134fb138920d4833cf05cb8b8906787a8dAutomatic Updater Any of the policies can be used with any of the triggers.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User For example, while the <span><strong class="command">TCP-only</strong></span> policy is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein commonly used with <span><strong class="command">client-IP</strong></span> triggers,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt it cn be used with any type of trigger to force the use of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein TCP for responses with owner names in a zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">PASSTHRU</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The whitelist policy is specified
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein by a CNAME whose target is <span><strong class="command">rpz-passthru</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It causes the response to not be rewritten
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and is most often used to "poke holes" in policies for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein CIDR blocks.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">DROP</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The blacklist policy is specified
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User by a CNAME whose target is <span><strong class="command">rpz-drop</strong></span>.
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User It causes the response to be discarded.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Nothing is sent to the DNS client.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">TCP-Only</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The "slip" policy is specified
fde6bfde6ec1d7a5f9907aeea8618db9dbd02f4cAutomatic Updater by a CNAME whose target is <span><strong class="command">rpz-tcp-only</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It changes UDP responses to short, truncated DNS responses
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt that require the DNS client to try again with TCP.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It is used to mitigate distributed DNS reflection attacks.
fde6bfde6ec1d7a5f9907aeea8618db9dbd02f4cAutomatic Updater<dt><span class="term"><span><strong class="command">NXDOMAIN</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The domain undefined response is encoded
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt by a CNAME whose target is the root domain (.)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">NODATA</strong></span></span></dt>
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User The empty set of resource records is specified by
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User CNAME whose target is the wildcard top-level
04bbadfbcb8a755cb208c4034073a3c0eb96b9aaTinderbox User It rewrites the response to NODATA or ANCOUNT=1.
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User<dt><span class="term"><span><strong class="command">Local Data</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A set of ordinary DNS records can be used to answer queries.
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User Queries for record types not the set are answered with
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User A special form of local data is a CNAME whose target is a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt wildcard such as *.example.com.
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User It is used as if were an ordinary CNAME after the astrisk (*)
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User has been replaced with the query name.
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User The purpose for this special form is query logging in the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User walled garden's authority DNS server.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt All of the actions specified in all of the individual records
04bbadfbcb8a755cb208c4034073a3c0eb96b9aaTinderbox User in a policy zone
04bbadfbcb8a755cb208c4034073a3c0eb96b9aaTinderbox User can be overridden with a <span><strong class="command">policy</strong></span> clause in the
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User <span><strong class="command">response-policy</strong></span> option.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User An organization using a policy zone provided by another
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User organization might use this mechanism to redirect domains
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User to its own walled garden.
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User<dt><span class="term"><span><strong class="command">GIVEN</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dd><p>The placeholder policy says "do not override but
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater perform the action specified in the zone."
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">DISABLED</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The testing override policy causes policy zone records to do
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User nothing but log what they would have done if the
04bbadfbcb8a755cb208c4034073a3c0eb96b9aaTinderbox User policy zone were not disabled.
04bbadfbcb8a755cb208c4034073a3c0eb96b9aaTinderbox User The response to the DNS query will be written (or not)
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater according to any triggered policy records that are not
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Disabled policy zones should appear first,
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater because they will often not be logged
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User if a higher precedence trigger is found first.
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater<span class="term"><span><strong class="command">PASSTHRU</strong></span>, </span><span class="term"><span><strong class="command">DROP</strong></span>, </span><span class="term"><span><strong class="command">TCP-Only</strong></span>, </span><span class="term"><span><strong class="command">NXDOMAIN</strong></span>, </span><span class="term"><span><strong class="command">NODATA</strong></span></span>
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User override with the corresponding per-record policy.
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User<dt><span class="term"><span><strong class="command">CNAME domain</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt causes all RPZ policy records to act as if they were
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User "cname domain" records.
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater By default, the actions encoded in a response policy zone
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews are applied only to queries that ask for recursion (RD=1).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt That default can be changed for a single policy zone or
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater all response policy zones in a view
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User with a <span><strong class="command">recursive-only no</strong></span> clause.
f7b2875691497b292eacb60609be23a813d14e63Automatic Updater This feature is useful for serving the same zone files
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater both inside and outside an RFC 1918 cloud and using RPZ to
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater delete answers that would otherwise contain RFC 1918 values
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User on the externally visible name server or view.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Also by default, RPZ actions are applied only to DNS requests
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews that either do not request DNSSEC metadata (DO=0) or when no
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt DNSSEC records are available for request name in the original
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews zone (not the response policy zone). This default can be
be75fd4f49dc3e96e43fdcd6bacf8d3b8749a0e0Automatic Updater changed for all response policy zones in a view with a
be75fd4f49dc3e96e43fdcd6bacf8d3b8749a0e0Automatic Updater <span><strong class="command">break-dnssec yes</strong></span> clause. In that case, RPZ
be75fd4f49dc3e96e43fdcd6bacf8d3b8749a0e0Automatic Updater actions are applied regardless of DNSSEC. The name of the
be75fd4f49dc3e96e43fdcd6bacf8d3b8749a0e0Automatic Updater clause option reflects the fact that results rewritten by RPZ
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt actions cannot verify.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User No DNS records are needed for a QNAME or Client-IP trigger.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The name or IP address itself is sufficient,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt so in principle the query name need not be recursively resolved.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews However, not resolving the requested
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews name can leak the fact that response policy rewriting is in use
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and that the name is listed in a policy zone to operators of
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews servers for listed names. To prevent that information leak, by
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews default any recursion needed for a request is done before any
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews policy triggers are considered. Because listed domains often
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt have slow authoritative servers, this default behavior can cost
43b94483957d3168796a816ed86cf097518817dcTinderbox User significant time.
dba3c818ae00b10388d31703e86a28415db398acTinderbox User The <span><strong class="command">qname-wait-recurse no</strong></span> option
dba3c818ae00b10388d31703e86a28415db398acTinderbox User overrides that default behavior when recursion cannot
dba3c818ae00b10388d31703e86a28415db398acTinderbox User change a non-error response.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The option does not affect QNAME or client-IP triggers
dba3c818ae00b10388d31703e86a28415db398acTinderbox User in policy zones listed
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt after other zones containing IP, NSIP and NSDNAME triggers, because
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews those may depend on the A, AAAA, and NS records that would be
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt found during recursive resolution. It also does not affect
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt DNSSEC requests (DO=1) unless <span><strong class="command">break-dnssec yes</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is in use, because the response would depend on whether or not
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews RRSIG records were found during resolution.
be75fd4f49dc3e96e43fdcd6bacf8d3b8749a0e0Automatic Updater The option can cause appear to rewrite error responses
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User such as SERVFAIL when no recursion is done to discover problems
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt at the authoritative server.
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User The TTL of a record modified by RPZ policies is set from the
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User TTL of the relevant record in policy zone. It is then limited
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User to a maximum value.
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User The <span><strong class="command">max-policy-ttl</strong></span> clause changes that
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User maximum from its default of 5.
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User For example, you might use this option statement
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User<pre class="programlisting"> response-policy { zone "badlist"; };</pre>
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User and this zone statement
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User<pre class="programlisting"> zone "badlist" {type master; file "master/badlist"; allow-query {none;}; };</pre>
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User with this zone file
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User@ SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h)
68abac6cb23aa2c6489ccc16663e051d7aad3ad9Mark Andrews NS LOCALHOST.
d6984fd680db88faad5be52edef2416dd20488baTinderbox User; QNAME policy records. There are no periods (.) after the owner names.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usernxdomain.domain.com CNAME . ; NXDOMAIN policy
d6984fd680db88faad5be52edef2416dd20488baTinderbox User*.nxdomain.domain.com CNAME . ; NXDOMAIN policy
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox Usernodata.domain.com CNAME *. ; NODATA policy
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox User*.nodata.domain.com CNAME *. ; NODATA policy
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox Userbad.domain.com A 10.0.0.1 ; redirect to a walled garden
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox User AAAA 2001:2::1
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox User; do not rewrite (PASSTHRU) OK.DOMAIN.COM
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userok.domain.com CNAME rpz-passthru.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt; redirect x.bzone.domain.com to x.bzone.domain.com.garden.example.com
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox User*.bzone.domain.com CNAME *.garden.example.com.
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox User; IP policy records that rewrite all responses containing A records in 127/8
795beed7207cb3501cd3f89cec165c07ad86dee2Tinderbox User; except 127.0.0.1
dec590a3deb8e87380a8bd3a77d535dba3729bf6Tinderbox User32.1.0.0.127.rpz-ip CNAME rpz-passthru.
c60ee6edf129596fa04db86c6865d75b5a412598Tinderbox User; NSDNAME and NSIP policy records
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User; blacklist and whitelist some DNS clients
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User; force some DNS clients and responses in the example.com zone to TCP
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater16.0.0.1.10.rpz-client-ip CNAME rpz-tcp-only.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntexample.com CNAME rpz-tcp-only.
6100dfd774ab9b4040b6f348ef1de01bc902ae07Automatic Updater*.example.com CNAME rpz-tcp-only.
edaa0648858316d9f4ad2a4093f16e05dbf2fe50Tinderbox User RPZ can affect server performance.
edaa0648858316d9f4ad2a4093f16e05dbf2fe50Tinderbox User Each configured response policy zone requires the server to
edaa0648858316d9f4ad2a4093f16e05dbf2fe50Tinderbox User perform one to four additional database lookups before a
edaa0648858316d9f4ad2a4093f16e05dbf2fe50Tinderbox User query can be answered.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User For example, a DNS server with four policy zones, each with all
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt four kinds of response triggers, QNAME, IP, NSIP, and
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User NSDNAME, requires a total of 17 times as many database
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User lookups as a similar DNS server with no response policy zones.
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User A <acronym class="acronym">BIND9</acronym> server with adequate memory and one
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt response policy zone with QNAME and IP triggers might achieve a
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User maximum queries-per-second rate about 20% lower.
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User A server with four response policy zones with QNAME and IP
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User triggers might have a maximum QPS rate about 50% lower.
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User Responses rewritten by RPZ are counted in the
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User <span><strong class="command">RPZRewrites</strong></span> statistics.
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User<div class="titlepage"><div><div><h4 class="title">
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User<a name="id2589717"></a>Response Rate Limiting</h4></div></div></div>
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User Excessive almost identical UDP <span class="emphasis"><em>responses</em></span>
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User can be controlled by configuring a
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User <span><strong class="command">rate-limit</strong></span> clause in an
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">options</strong></span> or <span><strong class="command">view</strong></span> statement.
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User This mechanism keeps authoritative BIND 9 from being used
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User in amplifying reflection denial of service (DoS) attacks.
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User Short truncated (TC=1) responses can be sent to provide
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User rate-limited responses to legitimate clients within
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User a range of forged, attacked IP addresses.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Legitimate clients react to dropped or truncated response
1f30da8ae0a25e6a7b686ffc46238cb58cddccb2Tinderbox User by retrying with UDP or with TCP respectively.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This mechanism is intended for authoritative DNS servers.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It can be used on recursive servers but can slow
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User applications such as SMTP servers (mail receivers) and
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User HTTP clients (web browsers) that repeatedly request the
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User same domains.
8f70b6b48364b58f2823e735c35bf77787de0860Tinderbox User When possible, closing "open" recursive servers is better.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Response rate limiting uses a "credit" or "token bucket" scheme.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Each combination of identical response and client
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein has a conceptual account that earns a specified number
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of credits every second.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User A prospective response debits its account by one.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses are dropped or truncated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein while the account is negative.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses are tracked within a rolling window of time
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt which defaults to 15 seconds, but can be configured with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the <span><strong class="command">window</strong></span> option to any value from
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 1 to 3600 seconds (1 hour).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The account cannot become more positive than
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the per-second limit
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt or more negative than <span><strong class="command">window</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt times the per-second limit.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User When the specified number of credits for a class of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses is set to 0, those responses are not rate limited.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User The notions of "identical response" and "DNS client"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for rate limiting are not simplistic.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User All responses to an address block are counted as if to a
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User single client.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The prefix lengths of addresses blocks are
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User specified with <span><strong class="command">ipv4-prefix-length</strong></span> (default 24)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and <span><strong class="command">ipv6-prefix-length</strong></span> (default 56).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein All non-empty responses for a valid domain name (qname)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and record type (qtype) are identical and have a limit specified
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User by the base <span><strong class="command">responses-per-second</strong></span> option
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (that is, <span><strong class="command">responses-per-second</strong></span> with only a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User single argument and no additional modifiers).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is 0, which indicates that there should be no limit.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein All empty (NODATA) responses for a valid domain,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt regardless of query type, are identical.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses in the NODATA class are limited by
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">nodata-per-second</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (default base <span><strong class="command">responses-per-second</strong></span>).
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Requests for any and all undefined subdomains of a given
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt valid domain result in NXDOMAIN errors, and are identical
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User regardless of query type.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein They are limited by <span><strong class="command">nxdomain-per-second</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (default base <span><strong class="command">responses-per-second</strong></span>).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This controls some attacks using random names, but
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein can be relaxed or turned off (set to 0)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on servers that expect many legitimate
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews NXDOMAIN responses, such as from anti-spam blacklists.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Referrals or delegations to the server of a given
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein domain are identical and are limited by
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">referrals-per-second</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (default base <span><strong class="command">responses-per-second</strong></span>).
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Responses generated from local wildcards are counted and limited
9011c72c568aedd03709f56f21d639fd55944a74Automatic Updater as if they were for the parent domain name.
9011c72c568aedd03709f56f21d639fd55944a74Automatic Updater This controls flooding using random.wild.example.com.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein All requests that result in DNS errors other
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein than NXDOMAIN, such as SERVFAIL and FORMERR, are identical
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt regardless of requested name (qname) or record type (qtype).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This controls attacks using invalid requests or distant,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt broken authoritative servers.
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews By default the limit on errors is the same as the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt default base <span><strong class="command">responses-per-second</strong></span> value,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User but it can be set separately with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">errors-per-second</strong></span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In addition to the base
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews <span><strong class="command">responses-per-second</strong></span> value,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User up to four (4) additional
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">responses-per-second</strong></span> options can be
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User configured, with additional parameters to indicate that
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews they apply to responses larger than a given size,
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews or with an amplification factor larger than a given
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews The <span><strong class="command">size</strong></span> parameter sets the minimum
77dccf2a5d9327d16b4374a135cdb99bdd48620eAutomatic Updater DNS response size that will trigger the use of this
e67b52444aa179d82a1dea2da9bd4388ce7ded52Tinderbox User <span><strong class="command">responses-per-second</strong></span> option.
77dccf2a5d9327d16b4374a135cdb99bdd48620eAutomatic Updater The <span><strong class="command">ratio</strong></span> parameter sets the minimum
77dccf2a5d9327d16b4374a135cdb99bdd48620eAutomatic Updater DNS response-size / request-size ratio that falls into the
77dccf2a5d9327d16b4374a135cdb99bdd48620eAutomatic Updater band, to two decimal places.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews These selective rate limits are applied after any other
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User rate limits have been applied, and they only apply to
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User positive answers. For example:
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews responses-per-second 10;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User responses-per-second size 1100 5;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ...indicates that responses should be limited to ten per second
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for responses up to 1099 bytes in size, but only five per second
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for responses larger than that. This configuration:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses-per-second 10;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses-per-second ratio 7.25 5;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses-per-second ratio 15.00 2;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ...indicates that responses should be limited to ten per
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt second if the amplification factor is below 7.25, five per
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt second if above 7.25 but below 15, and two per second if
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Both sizes and ratios can be used together. For example:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses-per-second 10;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses-per-second size 1000 ratio 5.00 5;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses-per-second ratio 10.00 2;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This configuration will rate-limit to five per second if
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the ratio is over 5 <span class="emphasis"><em>or</em></span> the size is over
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 1000, and to two per second if the ratio is over 10. In the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt event that two bands might be chosen (i.e., because the size
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is over 1000 <span class="emphasis"><em>and</em></span> the ratio is over 10),
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the one that appears last in the configuration file is the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt one chosen. To eliminate any ambiguity, it is recommended
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt that under normal circumstnaces, rate limiting bands should
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt be configured using either <span><strong class="command">size</strong></span> or
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">ratio</strong></span> parameters, but not both.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Many attacks using DNS involve UDP requests with forged source
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Rate limiting prevents the use of BIND 9 to flood a network
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt with responses to requests with forged source addresses,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt but could let a third party block responses to legitimate requests.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt There is a mechanism that can answer some legitimate
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt requests from a client whose address is being forged in a flood.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Setting <span><strong class="command">slip</strong></span> to 2 (its default) causes every
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt other UDP request to be answered with a small truncated (TC=1)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The small size and reduced frequency, and so lack of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt amplification, of "slipped" responses make them unattractive
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for reflection DoS attacks.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">slip</strong></span> must be between 0 and 10.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A value of 0 does not "slip":
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt no truncated responses are sent due to rate limiting,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt all responses are dropped.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A value of 1 causes every response to slip;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt values between 2 and 10 cause every n'th response to slip.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Some error responses including REFUSED and SERVFAIL
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt cannot be replaced with truncated responses and are instead
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt leaked at the <span><strong class="command">slip</strong></span> rate.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (NOTE: Dropped responses from an authoritative server may
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt reduce the difficulty of a third party successfully forging
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt a response to a recursive resolver. The best security
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt against forged responses is for authoritative operators
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to sign their zones using DNSSEC and for resolver operators
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to validate the responses. When this is not an option,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt operators who are more concerned with response integrity
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt than with flood mitigation may consider setting
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">slip</strong></span> to 1, causing all rate-limited
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt responses to be truncated rather than dropped. This reduces
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the effectiveness of rate-limiting against reflection attacks.)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt When the approximate query per second rate exceeds
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the <span><strong class="command">qps-scale</strong></span> value,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then the <span><strong class="command">responses-per-second</strong></span>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">errors-per-second</strong></span>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">nxdomains-per-second</strong></span> and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">all-per-second</strong></span> values are reduced by the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ratio of the current rate to the <span><strong class="command">qps-scale</strong></span> value.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This feature can tighten defenses during attacks.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt For example, with
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">qps-scale 250; responses-per-second 20;</strong></span> and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt a total query rate of 1000 queries/second for all queries from
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt all DNS clients including via TCP,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then the effective responses/second limit changes to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Responses sent via TCP are not limited
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt but are counted to compute the query per second rate.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The optional <span><strong class="command">domain</strong></span> clause specifies
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the namespace to which rate limits will apply. It
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews is possible to use different rate limits for different names
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews by specifying multiple <span><strong class="command">rate-limit</strong></span> blocks
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews with different <span><strong class="command">domain</strong></span> clauses.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">rate-limit</strong></span> statement's
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews <span><strong class="command">domain</strong></span> most closely matches the query
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews name will be the one applied to a given query.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews Rate limiters for different name spaces maintain
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews separate counters: If, for example, there is a
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews <span><strong class="command">rate-limit</strong></span> statement for "com" and
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews another for "example.com", queries matching "example.com"
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews will not be debited against the rate limiter for "com".
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If a <span><strong class="command">rate-limit</strong></span> statement does not specify a
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <span><strong class="command">domain</strong></span>, then it applies to the root domain
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews (".") and thus affects the entire DNS namespace, except those
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews portions covered by other <span><strong class="command">rate-limit</strong></span>
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews Communities of DNS clients can be given their own parameters or no
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews rate limiting by putting
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">rate-limit</strong></span> statements in <span><strong class="command">view</strong></span>
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews statements instead of the global <span><strong class="command">option</strong></span>
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews A <span><strong class="command">rate-limit</strong></span> statement in a view replaces,
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews rather than supplementing, a <span><strong class="command">rate-limit</strong></span>
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater statement among the main options.
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews DNS clients within a view can be exempted from rate limits
dec590a3deb8e87380a8bd3a77d535dba3729bf6Tinderbox User with the <span><strong class="command">exempt-clients</strong></span> clause.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt UDP responses of all kinds can be limited with the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">all-per-second</strong></span> phrase. This rate
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews limiting is unlike the rate limiting provided by
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <span><strong class="command">responses-per-second</strong></span>,
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews <span><strong class="command">errors-per-second</strong></span>, and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">nxdomains-per-second</strong></span> on a DNS server
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt which are often invisible to the victim of a DNS
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User reflection attack. Unless the forged requests of the
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews attack are the same as the legitimate requests of the
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews victim, the victim's requests are not affected. Responses
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews affected by an <span><strong class="command">all-per-second</strong></span> limit
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User are always dropped; the <span><strong class="command">slip</strong></span> value
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt has no effect. An <span><strong class="command">all-per-second</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User limit should be at least 4 times as large as the other
9fbbfb5757a1e3e86d7dea62c4e63ffc2303ca2bAutomatic Updater limits, because single DNS clients often send bursts
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews of legitimate requests. For example, the receipt of a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User single mail message can prompt requests from an SMTP
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt server for NS, PTR, A, and AAAA records as the incoming
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User SMTP/TCP/IP connection is considered. The SMTP server
9fbbfb5757a1e3e86d7dea62c4e63ffc2303ca2bAutomatic Updater can need additional NS, A, AAAA, MX, TXT, and SPF records
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews as it considers the STMP <span><strong class="command">Mail From</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User command. Web browsers often repeatedly resolve the
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews same names that are repeated in HTML <IMG> tags
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in a page. <span><strong class="command">All-per-second</strong></span> is similar
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to the rate limiting offered by firewalls but often
1586d8cbac5d73031716561386f60758c6c332d5Mark Andrews inferior. Attacks that justify ignoring the contents
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of DNS responses are likely to be attacks on the DNS
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User server itself. They usually should be discarded before
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the DNS server spends resources make TCP connections
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews or parsing DNS requests, but that rate limiting must
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews be done before the DNS server sees the requests.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The maximum size of the table used to track requests and
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews rate limit responses is set with <span><strong class="command">max-table-size</strong></span>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Each entry in the table is between 40 and 80 bytes.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The table needs approximately as many entries as the number
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of requests received per second.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The default is 20,000.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To reduce the cold start of growing the table,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">min-table-size</strong></span> (default 500)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein can set the minimum table size.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Enable <span><strong class="command">rate-limit</strong></span> category logging to monitor
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews expansions of the table and inform
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein choices for the initial and maximum table size.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Use <span><strong class="command">log-only yes</strong></span> to test rate limiting parameters
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt without actually dropping any requests.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Responses dropped by rate limits are included in the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span><strong class="command">RateDropped</strong></span> and <span><strong class="command">QryDropped</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Responses that truncated by rate limits are included in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">RateSlipped</strong></span> and <span><strong class="command">RespTruncated</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h3 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="server_statement_grammar"></a><span><strong class="command">server</strong></span> Statement Grammar</h3></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting"><span><strong class="command">server</strong></span> <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>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<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>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> edns-udp-size <em class="replaceable"><code>number</code></em> ; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> max-udp-size <em class="replaceable"><code>number</code></em> ; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> transfers <em class="replaceable"><code>number</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> transfer-format <em class="replaceable"><code>( one-answer | many-answers )</code></em> ; ]</span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </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 class="optional">dscp <em class="replaceable"><code>ip_dscp</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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> query-source [<span class="optional"> address ( <em class="replaceable"><code>ip_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> query-source-v6 [<span class="optional"> address ( <em class="replaceable"><code>ip_addr</code></em> | <em class="replaceable"><code>*</code></em> ) </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> port ( <em class="replaceable"><code>ip_port</code></em> | <em class="replaceable"><code>*</code></em> ) </span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<span class="optional"> use-queryport-pool <em class="replaceable"><code>yes_or_no</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> queryport-pool-ports <em class="replaceable"><code>number</code></em>; </span>]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<span class="optional"> queryport-pool-updateinterval <em class="replaceable"><code>number</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h3 class="title">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="server_statement_definition_and_usage"></a><span><strong class="command">server</strong></span> Statement Definition and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">server</strong></span> statement defines
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User characteristics
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to be associated with a remote name server. If a prefix length is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User specified, then a range of servers is covered. Only the most
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server clause applies regardless of the order in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">server</strong></span> statement can occur at
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the top level of the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein any top-level <span><strong class="command">server</strong></span> statements are
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User If you discover that a remote server is giving out bad data,
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater marking it as bogus will prevent further queries to it. The
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User value of <span><strong class="command">bogus</strong></span> is <span><strong class="command">no</strong></span>.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater The <span><strong class="command">provide-ixfr</strong></span> clause determines
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater the local server, acting as master, will respond with an
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zone transfer when the given remote server, a slave, requests it.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater If set to <span><strong class="command">yes</strong></span>, incremental transfer
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater will be provided
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater whenever possible. If set to <span><strong class="command">no</strong></span>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt to the remote server will be non-incremental. If not set, the
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater of the <span><strong class="command">provide-ixfr</strong></span> option in the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt global options block is used as a default.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater The <span><strong class="command">request-ixfr</strong></span> clause determines
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater the local server, acting as a slave, will request incremental zone
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater transfers from the given remote server, a master. If not set, the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt value of the <span><strong class="command">request-ixfr</strong></span> option in
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater the view or global options block is used as a default. It may
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater also be set in the zone block and, if set there, it will
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User override the global or view setting for that zone.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IXFR requests to servers that do not support IXFR will
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fall back to AXFR. Therefore, there is no need to manually list
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater which servers support IXFR and which ones do not; the global
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater of <span><strong class="command">yes</strong></span> should always work.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater The purpose of the <span><strong class="command">provide-ixfr</strong></span> and
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">request-ixfr</strong></span> clauses is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to make it possible to disable the use of IXFR even when both
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater and slave claim to support it, for example if one of the servers
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater is buggy and crashes or corrupts data when IXFR is used.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater The <span><strong class="command">edns</strong></span> clause determines whether
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater the local server will attempt to use EDNS when communicating
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater with the remote server. The default is <span><strong class="command">yes</strong></span>.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater The <span><strong class="command">edns-udp-size</strong></span> option sets the EDNS UDP size
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater that is advertised by <span><strong class="command">named</strong></span> when querying the remote server.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Valid values are 512 to 4096 bytes (values outside this range will be
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater silently adjusted). This option is useful when you wish to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User advertises a different value to this server than the value you
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater advertise globally, for example, when there is a firewall at the
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater remote site that is blocking large replies.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">max-udp-size</strong></span> option sets the
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater maximum EDNS UDP message size <span><strong class="command">named</strong></span> will send. Valid
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater values are 512 to 4096 bytes (values outside this range will
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater be silently adjusted). This option is useful when you
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater know that there is a firewall that is blocking large
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater replies from <span><strong class="command">named</strong></span>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The server supports two zone transfer methods. The first, <span><strong class="command">one-answer</strong></span>,
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater uses one DNS message per resource record transferred. <span><strong class="command">many-answers</strong></span> packs
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater as many resource records as possible into a message. <span><strong class="command">many-answers</strong></span> is
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater more efficient, but is only known to be understood by <acronym class="acronym">BIND</acronym> 9, <acronym class="acronym">BIND</acronym>
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater 8.x, and patched versions of <acronym class="acronym">BIND</acronym>
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater 4.9.5. You can specify which method
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to use for a server with the <span><strong class="command">transfer-format</strong></span> option.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater If <span><strong class="command">transfer-format</strong></span> is not
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater specified, the <span><strong class="command">transfer-format</strong></span>
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater by the <span><strong class="command">options</strong></span> statement will be
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater<p><span><strong class="command">transfers</strong></span>
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater is used to limit the number of concurrent inbound zone
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater transfers from the specified server. If no
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">transfers</strong></span> clause is specified, the
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater limit is set according to the
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">transfers-per-ns</strong></span> option.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">keys</strong></span> clause identifies a
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">key_id</strong></span> defined by the <span><strong class="command">key</strong></span> statement,
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater to be used for transaction security (TSIG, <a href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called “TSIG”</a>)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User when talking to the remote server.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater When a request is sent to the remote server, a request signature
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater will be generated using the key specified here and appended to the
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater message. A request originating from the remote server is not
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater to be signed by this key.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Although the grammar of the <span><strong class="command">keys</strong></span>
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater allows for multiple keys, only a single key per server is
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater The <span><strong class="command">transfer-source</strong></span> and
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">transfer-source-v6</strong></span> clauses specify
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater the IPv4 and IPv6 source
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater address to be used for zone transfer with the remote server,
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater For an IPv4 remote server, only <span><strong class="command">transfer-source</strong></span> can
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User be specified.
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater Similarly, for an IPv6 remote server, only
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">transfer-source-v6</strong></span> can be
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater For more details, see the description of
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">transfer-source</strong></span> and
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <span><strong class="command">transfer-source-v6</strong></span> in
afb33f777af856f8c3382604a7a8ffdfe2b512c5Automatic Updater <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The <span><strong class="command">notify-source</strong></span> and
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater <span><strong class="command">notify-source-v6</strong></span> clauses specify the
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User IPv4 and IPv6 source address to be used for notify
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User messages sent to remote servers, respectively. For an
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User IPv4 remote server, only <span><strong class="command">notify-source</strong></span>
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User can be specified. Similarly, for an IPv6 remote server,
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User only <span><strong class="command">notify-source-v6</strong></span> can be specified.
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater The <span><strong class="command">query-source</strong></span> and
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater <span><strong class="command">query-source-v6</strong></span> clauses specify the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IPv4 and IPv6 source address to be used for queries
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater sent to remote servers, respectively. For an IPv4
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt remote server, only <span><strong class="command">query-source</strong></span> can
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater be specified. Similarly, for an IPv6 remote server,
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User only <span><strong class="command">query-source-v6</strong></span> can be specified.
2ba8603ca962450068fe45f04c5caf8219b0d5f1Tinderbox User<div class="titlepage"><div><div><h3 class="title">
2ba8603ca962450068fe45f04c5caf8219b0d5f1Tinderbox User<a name="statschannels"></a><span><strong class="command">statistics-channels</strong></span> Statement Grammar</h3></div></div></div>
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater<pre class="programlisting"><span><strong class="command">statistics-channels</strong></span> {
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [ inet ( ip_addr | * ) [ port ip_port ]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [ allow { <em class="replaceable"><code> address_match_list </code></em> } ]; ]
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User [ inet ...; ]
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User<div class="titlepage"><div><div><h3 class="title">
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User<a name="id2591047"></a><span><strong class="command">statistics-channels</strong></span> Statement Definition and
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User The <span><strong class="command">statistics-channels</strong></span> statement
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User declares communication channels to be used by system
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt administrators to get access to statistics information of
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User the name server.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User This statement intends to be flexible to support multiple
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User communication protocols in the future, but currently only
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User HTTP access is supported.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It requires that BIND 9 be compiled with libxml2 and/or
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User json-c (also known as libjson0); the
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">statistics-channels</strong></span> statement is
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User still accepted even if it is built without the library,
0da3028ccf1172617852a46382146f1e5cabd246Tinderbox User but any HTTP access will fail with an error.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User An <span><strong class="command">inet</strong></span> control channel is a TCP socket
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User listening at the specified <span><strong class="command">ip_port</strong></span> on the
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User specified <span><strong class="command">ip_addr</strong></span>, which can be an IPv4 or IPv6
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User address. An <span><strong class="command">ip_addr</strong></span> of <code class="literal">*</code>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User (asterisk) is
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User interpreted as the IPv4 wildcard address; connections will be
0da3028ccf1172617852a46382146f1e5cabd246Tinderbox User accepted on any of the system's IPv4 addresses.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User To listen on the IPv6 wildcard address,
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User use an <span><strong class="command">ip_addr</strong></span> of <code class="literal">::</code>.
0da3028ccf1172617852a46382146f1e5cabd246Tinderbox User If no port is specified, port 80 is used for HTTP channels.
0da3028ccf1172617852a46382146f1e5cabd246Tinderbox User The asterisk "<code class="literal">*</code>" cannot be used for
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">ip_port</strong></span>.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User The attempt of opening a statistics channel is
0da3028ccf1172617852a46382146f1e5cabd246Tinderbox User restricted by the optional <span><strong class="command">allow</strong></span> clause.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User Connections to the statistics channel are permitted based on the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">address_match_list</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If no <span><strong class="command">allow</strong></span> clause is present,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">named</strong></span> accepts connection
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User attempts from any address; since the statistics may
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User contain sensitive internal information, it is highly
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User recommended to restrict the source of connection requests
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User appropriately.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If no <span><strong class="command">statistics-channels</strong></span> statement is present,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">named</strong></span> will not open any communication channels.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User The statistics are available in various formats and views
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt depending on the URI used to access them. For example, if
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the statistics channel is configured to listen on 127.0.0.1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt port 8888, then the statistics are accessible in XML format at
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="http://127.0.0.1:8888/" target="_top">http://127.0.0.1:8888/</a> or
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <a href="http://127.0.0.1:8888/xml" target="_top">http://127.0.0.1:8888/xml</a>. A CSS file is
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User included which can format the XML statistics into tables
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User when viewed with a stylesheet-capable browser, and into
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User charts and graphs using the Google Charts API when using a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt javascript-capable browser.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User Applications that depend on a particular XML schema
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="http://127.0.0.1:8888/xml/v2" target="_top">http://127.0.0.1:8888/xml/v2</a> for version 2
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt of the statistics XML schema or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="http://127.0.0.1:8888/xml/v3" target="_top">http://127.0.0.1:8888/xml/v3</a> for version 3.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User If the requested schema is supported by the server, then
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt it will respond; if not, it will return a "page not found"
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User Broken-out subsets of the statistics can be viewed at
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="http://127.0.0.1:8888/xml/v3/status" target="_top">http://127.0.0.1:8888/xml/v3/status</a>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User (server uptime and last reconfiguration time),
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <a href="http://127.0.0.1:8888/xml/v3/server" target="_top">http://127.0.0.1:8888/xml/v3/server</a>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User (server and resolver statistics),
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="http://127.0.0.1:8888/xml/v3/zones" target="_top">http://127.0.0.1:8888/xml/v3/zones</a>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User (zone statistics),
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <a href="http://127.0.0.1:8888/xml/v3/net" target="_top">http://127.0.0.1:8888/xml/v3/net</a>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User (network status and socket statistics),
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User <a href="http://127.0.0.1:8888/xml/v3/mem" target="_top">http://127.0.0.1:8888/xml/v3/mem</a>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (memory manager statistics),
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <a href="http://127.0.0.1:8888/xml/v3/tasks" target="_top">http://127.0.0.1:8888/xml/v3/tasks</a>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User (task manager statistics).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The full set of statistics can also be read in JSON format at
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <a href="http://127.0.0.1:8888/json" target="_top">http://127.0.0.1:8888/json</a>,
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater with the broken-out subsets at
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <a href="http://127.0.0.1:8888/json/v1/status" target="_top">http://127.0.0.1:8888/json/v1/status</a>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User (server uptime and last reconfiguration time),
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater <a href="http://127.0.0.1:8888/json/v1/server" target="_top">http://127.0.0.1:8888/json/v1/server</a>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (server and resolver statistics),
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User <a href="http://127.0.0.1:8888/json/v1/zones" target="_top">http://127.0.0.1:8888/json/v1/zones</a>
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater (zone statistics),
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <a href="http://127.0.0.1:8888/json/v1/net" target="_top">http://127.0.0.1:8888/json/v1/net</a>
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater (network status and socket statistics),
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater <a href="http://127.0.0.1:8888/json/v1/mem" target="_top">http://127.0.0.1:8888/json/v1/mem</a>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (memory manager statistics),
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User <a href="http://127.0.0.1:8888/json/v1/tasks" target="_top">http://127.0.0.1:8888/json/v1/tasks</a>
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater (task manager statistics).
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater<div class="titlepage"><div><div><h3 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="trusted-keys"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div>
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater<pre class="programlisting"><span><strong class="command">trusted-keys</strong></span> {
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User <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> ;
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User [<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>]
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<div class="titlepage"><div><div><h3 class="title">
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<a name="id2591532"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">trusted-keys</strong></span> statement defines
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt DNSSEC security roots. DNSSEC is described in <a href="Bv9ARM.ch04.html#DNSSEC" title="DNSSEC">the section called “DNSSEC”</a>. A security root is defined when the
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User public key for a non-authoritative zone is known, but
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User cannot be securely obtained through DNS, either because
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater it is the DNS root zone or because its parent zone is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User unsigned. Once a key has been configured as a trusted
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt key, it is treated as if it had been validated and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User proven secure. The resolver attempts DNSSEC validation
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User on all DNS data in subdomains of a security root.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User All keys (and corresponding zones) listed in
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">trusted-keys</strong></span> are deemed to exist regardless
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of what parent zones say. Similarly for all keys listed in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">trusted-keys</strong></span> only those keys are
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User used to validate the DNSKEY RRset. The parent's DS RRset
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User will not be used.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User The <span><strong class="command">trusted-keys</strong></span> statement can contain
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User multiple key entries, each consisting of the key's
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt domain name, flags, protocol, algorithm, and the Base-64
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User representation of the key data.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User Spaces, tabs, newlines and carriage returns are ignored
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in the key data, so the configuration may be split up into
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User multiple lines.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">trusted-keys</strong></span> may be set at the top level
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt of <code class="filename">named.conf</code> or within a view. If it is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User set in both places, they are additive: keys defined at the top
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User level are inherited by all views, but keys defined in a view
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User are only used within that view.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<div class="titlepage"><div><div><h3 class="title">
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<a name="id2591579"></a><span><strong class="command">managed-keys</strong></span> Statement Grammar</h3></div></div></div>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<pre class="programlisting"><span><strong class="command">managed-keys</strong></span> {
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <em class="replaceable"><code>name</code></em> <code class="literal">initial-key</code> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key-data</code></em> ;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> <em class="replaceable"><code>name</code></em> <code class="literal">initial-key</code> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key-data</code></em> ; [<span class="optional">...</span>]</span>]
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<div class="titlepage"><div><div><h3 class="title">
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<a name="managed-keys"></a><span><strong class="command">managed-keys</strong></span> Statement Definition
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User The <span><strong class="command">managed-keys</strong></span> statement, like
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">trusted-keys</strong></span>, defines DNSSEC
dec590a3deb8e87380a8bd3a77d535dba3729bf6Tinderbox User security roots. The difference is that
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">managed-keys</strong></span> can be kept up to date
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User automatically, without intervention from the resolver
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User Suppose, for example, that a zone's key-signing
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater key was compromised, and the zone owner had to revoke and
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater replace the key. A resolver which had the old key in a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">trusted-keys</strong></span> statement would be
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User unable to validate this zone any longer; it would
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User reply with a SERVFAIL response code. This would
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt continue until the resolver operator had updated the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">trusted-keys</strong></span> statement with the new key.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User If, however, the zone were listed in a
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater <span><strong class="command">managed-keys</strong></span> statement instead, then the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User zone owner could add a "stand-by" key to the zone in advance.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">named</strong></span> would store the stand-by key, and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User when the original key was revoked, <span><strong class="command">named</strong></span>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User would be able to transition smoothly to the new key. It would
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User also recognize that the old key had been revoked, and cease
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt using that key to validate answers, minimizing the damage that
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the compromised key could do.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User A <span><strong class="command">managed-keys</strong></span> statement contains a list of
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User the keys to be managed, along with information about how the
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User keys are to be initialized for the first time. The only
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User initialization method currently supported (as of
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <acronym class="acronym">BIND</acronym> 9.7.0) is <code class="literal">initial-key</code>.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User This means the <span><strong class="command">managed-keys</strong></span> statement must
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User contain a copy of the initializing key. (Future releases may
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User allow keys to be initialized by other methods, eliminating this
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User requirement.)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Consequently, a <span><strong class="command">managed-keys</strong></span> statement
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User appears similar to a <span><strong class="command">trusted-keys</strong></span>, differing
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in the presence of the second field, containing the keyword
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="literal">initial-key</code>. The difference is, whereas the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User keys listed in a <span><strong class="command">trusted-keys</strong></span> continue to be
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User trusted until they are removed from
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <code class="filename">named.conf</code>, an initializing key listed
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in a <span><strong class="command">managed-keys</strong></span> statement is only trusted
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span class="emphasis"><em>once</em></span>: for as long as it takes to load the
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater managed key database and start the RFC 5011 key maintenance
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User The first time <span><strong class="command">named</strong></span> runs with a managed key
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User configured in <code class="filename">named.conf</code>, it fetches the
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User DNSKEY RRset directly from the zone apex, and validates it
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt using the key specified in the <span><strong class="command">managed-keys</strong></span>
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User statement. If the DNSKEY RRset is validly signed, then it is
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User used as the basis for a new managed keys database.
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User From that point on, whenever <span><strong class="command">named</strong></span> runs, it
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User sees the <span><strong class="command">managed-keys</strong></span> statement, checks to
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User make sure RFC 5011 key maintenance has already been initialized
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User for the specified domain, and if so, it simply moves on. The
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User key specified in the <span><strong class="command">managed-keys</strong></span> is not
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User used to validate answers; it has been superseded by the key or
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User keys stored in the managed keys database.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User The next time <span><strong class="command">named</strong></span> runs after a name
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User has been <span class="emphasis"><em>removed</em></span> from the
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User <span><strong class="command">managed-keys</strong></span> statement, the corresponding
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User zone will be removed from the managed keys database,
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User and RFC 5011 key maintenance will no longer be used for that
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">named</strong></span> only maintains a single managed keys
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User database; consequently, unlike <span><strong class="command">trusted-keys</strong></span>,
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User <span><strong class="command">managed-keys</strong></span> may only be set at the top
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User level of <code class="filename">named.conf</code>, not within a view.
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User In the current implementation, the managed keys database is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt stored as a master-format zone file called
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <code class="filename">managed-keys.bind</code>. When the key database
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User is changed, the zone is updated. As with any other dynamic
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User zone, changes will be written into a journal file,
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <code class="filename">managed-keys.bind.jnl</code>. They are committed
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User to the master file as soon as possible afterward; in the case
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User of the managed key database, this will usually occur within 30
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User seconds. So, whenever <span><strong class="command">named</strong></span> is using
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt automatic key maintenance, those two files can be expected to
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User exist in the working directory. (For this reason among others,
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User the working directory should be always be writable by
892503bd484c106493e3c8053155b364a522ec03Tinderbox User <span><strong class="command">named</strong></span>.)
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User If the <span><strong class="command">dnssec-validation</strong></span> option is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User set to <strong class="userinput"><code>auto</code></strong>, <span><strong class="command">named</strong></span>
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User will automatically initialize a managed key for the
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User root zone. Similarly, if the <span><strong class="command">dnssec-lookaside</strong></span>
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User option is set to <strong class="userinput"><code>auto</code></strong>,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">named</strong></span> will automatically initialize
1acae3ea5e3048ebd121d4837ef989b57a05e54cTinderbox User a managed key for the zone <code class="literal">dlv.isc.org</code>.
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User In both cases, the key that is used to initialize the key
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User maintenance process is built into <span><strong class="command">named</strong></span>,
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater and can be overridden from <span><strong class="command">bindkeys-file</strong></span>.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater<div class="titlepage"><div><div><h3 class="title">
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater<a name="view_statement_grammar"></a><span><strong class="command">view</strong></span> Statement Grammar</h3></div></div></div>
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater<pre class="programlisting"><span><strong class="command">view</strong></span> <em class="replaceable"><code>view_name</code></em>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater match-clients { <em class="replaceable"><code>address_match_list</code></em> };
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater match-destinations { <em class="replaceable"><code>address_match_list</code></em> };
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater match-recursive-only <em class="replaceable"><code>yes_or_no</code></em> ;
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater [<span class="optional"> <em class="replaceable"><code>view_option</code></em>; ...</span>]
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater [<span class="optional"> <em class="replaceable"><code>zone_statement</code></em>; ...</span>]
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater<div class="titlepage"><div><div><h3 class="title">
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User<a name="id2592021"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater The <span><strong class="command">view</strong></span> statement is a powerful
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater of <acronym class="acronym">BIND</acronym> 9 that lets a name server
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater answer a DNS query differently
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User depending on who is asking. It is particularly useful for
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater split DNS setups without having to run multiple servers.
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater Each <span><strong class="command">view</strong></span> statement defines a view
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User DNS namespace that will be seen by a subset of clients. A client
29651c3a80835482fa1612c24653c9b0c0e2e205Tinderbox User a view if its source IP address matches the
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater <code class="varname">address_match_list</code> of the view's
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater <span><strong class="command">match-clients</strong></span> clause and its
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater destination IP address matches
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater the <code class="varname">address_match_list</code> of the
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">match-destinations</strong></span> clause. If not
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User specified, both
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">match-clients</strong></span> and <span><strong class="command">match-destinations</strong></span>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User default to matching all addresses. In addition to checking IP
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User <span><strong class="command">match-clients</strong></span> and <span><strong class="command">match-destinations</strong></span>
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User can also take <span><strong class="command">keys</strong></span> which provide an
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User mechanism for the
c11135d39e82f0cd1c67869c535f4af77cd8eda6Tinderbox User client to select the view. A view can also be specified
5329b4137e5c0c309e589d1b019014dc6a383e3dAutomatic Updater as <span><strong class="command">match-recursive-only</strong></span>, which
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User means that only recursive
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User requests from matching clients will match that view.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User The order of the <span><strong class="command">view</strong></span> statements is
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User significant —
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User a client request will be resolved in the context of the first
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User <span><strong class="command">view</strong></span> that it matches.
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User Zones defined within a <span><strong class="command">view</strong></span>
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User statement will
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User only be accessible to clients that match the <span><strong class="command">view</strong></span>.
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User By defining a zone of the same name in multiple views, different
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User zone data can be given to different clients, for example,
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User and "external" clients in a split DNS setup.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Many of the options given in the <span><strong class="command">options</strong></span> statement
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User can also be used within a <span><strong class="command">view</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User statement, and then
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt apply only when resolving queries with that view. When no
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User view-specific
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User value is given, the value in the <span><strong class="command">options</strong></span> statement
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User is used as a default. Also, zone options can have default values
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in the <span><strong class="command">view</strong></span> statement; these
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User view-specific defaults
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User take precedence over those in the <span><strong class="command">options</strong></span> statement.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User Views are class specific. If no class is given, class IN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is assumed. Note that all non-IN views must contain a hint zone,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt since only the IN class has compiled-in default hints.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User If there are no <span><strong class="command">view</strong></span> statements in
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User file, a default view that matches any client is automatically
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User in class IN. Any <span><strong class="command">zone</strong></span> statements
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the top level of the configuration file are considered to be part
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User this default view, and the <span><strong class="command">options</strong></span>
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User statement will
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User apply to the default view. If any explicit <span><strong class="command">view</strong></span>
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User statements are present, all <span><strong class="command">zone</strong></span>
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User statements must
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User occur inside <span><strong class="command">view</strong></span> statements.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User Here is an example of a typical split DNS setup implemented
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User using <span><strong class="command">view</strong></span> statements:
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User // This should match our internal networks.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User match-clients { 10.0.0.0/8; };
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User // Provide recursive service to internal
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt // clients only.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User recursion yes;
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User // Provide a complete view of the example.com
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt // zone including addresses of internal hosts.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox Userview "external" {
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User // Match all clients not matched by the
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User // previous view.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User match-clients { any; };
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt // Refuse recursive service to external clients.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User recursion no;
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User // Provide a restricted view of the example.com
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User // zone containing only publicly accessible hosts.
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User<div class="titlepage"><div><div><h3 class="title">
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User<a name="zone_statement_grammar"></a><span><strong class="command">zone</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting"><span><strong class="command">zone</strong></span> <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> allow-query-on { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> allow-transfer { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> allow-update { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> update-check-ksk <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> dnssec-dnskey-kskonly <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> dnssec-loadkeys-interval <em class="replaceable"><code>number</code></em>; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> update-policy <em class="replaceable"><code>local</code></em> | { <em class="replaceable"><code>update_policy_rule</code></em> [<span class="optional">...</span>] }; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<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">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ;
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; ... </span>] }; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> check-names (<code class="constant">warn</code>|<code class="constant">fail</code>|<code class="constant">ignore</code>) ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> check-mx (<code class="constant">warn</code>|<code class="constant">fail</code>|<code class="constant">ignore</code>) ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> check-wildcard <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> check-spf ( <em class="replaceable"><code>warn</code></em> | <em class="replaceable"><code>fail</code></em> | <em class="replaceable"><code>ignore</code></em> ); </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> check-integrity <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> dialup <em class="replaceable"><code>dialup_option</code></em> ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> file <em class="replaceable"><code>string</code></em> ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> masterfile-format (<code class="constant">text</code>|<code class="constant">raw</code>|<code class="constant">map</code>) ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> journal <em class="replaceable"><code>string</code></em> ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> max-journal-size <em class="replaceable"><code>size_spec</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> forward (<code class="constant">only</code>|<code class="constant">first</code>) ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; ... </span>] }; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> ixfr-base <em class="replaceable"><code>string</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> ixfr-from-differences <em class="replaceable"><code>yes_or_no</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> ixfr-tmp-file <em class="replaceable"><code>string</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> request-ixfr <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> maintain-ixfr-base <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> max-ixfr-log-size <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> max-transfer-idle-out <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> max-transfer-time-out <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<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>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> notify-delay <em class="replaceable"><code>seconds</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> notify-to-soa <em class="replaceable"><code>yes_or_no</code></em>; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<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>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> zone-statistics <em class="replaceable"><code>full</code></em> | <em class="replaceable"><code>terse</code></em> | <em class="replaceable"><code>none</code></em>; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> sig-validity-interval <em class="replaceable"><code>number</code></em> [<span class="optional"><em class="replaceable"><code>number</code></em></span>] ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> sig-signing-nodes <em class="replaceable"><code>number</code></em> ; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> sig-signing-signatures <em class="replaceable"><code>number</code></em> ; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> sig-signing-type <em class="replaceable"><code>number</code></em> ; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> database <em class="replaceable"><code>string</code></em> ; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> min-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> max-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
d0d1dbab0fe2b940ffb4354dcadb30885f160770Tinderbox User [<span class="optional"> min-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> max-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> key-directory <em class="replaceable"><code>path_name</code></em>; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> auto-dnssec <code class="constant">allow</code>|<code class="constant">maintain</code>|<code class="constant">off</code>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> inline-signing <em class="replaceable"><code>yes_or_no</code></em>; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> zero-no-soa-ttl <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> serial-update-method <code class="constant">increment</code>|<code class="constant">unixtime</code>; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox Userzone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> allow-notify { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> allow-query-on { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> allow-transfer { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> allow-update-forwarding { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User [<span class="optional"> dnssec-update-mode ( <em class="replaceable"><code>maintain</code></em> | <em class="replaceable"><code>no-resign</code></em> ); </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> update-check-ksk <em class="replaceable"><code>yes_or_no</code></em>; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> dnssec-dnskey-kskonly <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> dnssec-loadkeys-interval <em class="replaceable"><code>number</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> dnssec-secure-to-insecure <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> try-tcp-refresh <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> also-notify [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] }; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> check-names (<code class="constant">warn</code>|<code class="constant">fail</code>|<code class="constant">ignore</code>) ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> dialup <em class="replaceable"><code>dialup_option</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> file <em class="replaceable"><code>string</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> masterfile-format (<code class="constant">text</code>|<code class="constant">raw</code>|<code class="constant">map</code>) ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> journal <em class="replaceable"><code>string</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> max-journal-size <em class="replaceable"><code>size_spec</code></em>; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> forward (<code class="constant">only</code>|<code class="constant">first</code>) ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; ... </span>] }; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> ixfr-base <em class="replaceable"><code>string</code></em> ; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> ixfr-from-differences <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> ixfr-tmp-file <em class="replaceable"><code>string</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> maintain-ixfr-base <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> masters [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] }; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> max-ixfr-log-size <em class="replaceable"><code>number</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> max-transfer-idle-in <em class="replaceable"><code>number</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> max-transfer-idle-out <em class="replaceable"><code>number</code></em> ; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> max-transfer-time-in <em class="replaceable"><code>number</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> max-transfer-time-out <em class="replaceable"><code>number</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<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>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> notify-delay <em class="replaceable"><code>seconds</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> notify-to-soa <em class="replaceable"><code>yes_or_no</code></em>; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<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>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> alt-transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>)
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> use-alt-transfer-source <em class="replaceable"><code>yes_or_no</code></em>; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> zone-statistics <em class="replaceable"><code>full</code></em> | <em class="replaceable"><code>terse</code></em> | <em class="replaceable"><code>none</code></em>; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> sig-validity-interval <em class="replaceable"><code>number</code></em> [<span class="optional"><em class="replaceable"><code>number</code></em></span>] ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> sig-signing-nodes <em class="replaceable"><code>number</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> sig-signing-signatures <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> sig-signing-type <em class="replaceable"><code>number</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> database <em class="replaceable"><code>string</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> min-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> max-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> min-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> max-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> key-directory <em class="replaceable"><code>path_name</code></em>; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> auto-dnssec <code class="constant">allow</code>|<code class="constant">maintain</code>|<code class="constant">off</code>; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> inline-signing <em class="replaceable"><code>yes_or_no</code></em>; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> multi-master <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> zero-no-soa-ttl <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntzone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User file <em class="replaceable"><code>string</code></em> ;
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> delegation-only <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> check-names (<code class="constant">warn</code>|<code class="constant">fail</code>|<code class="constant">ignore</code>) ; </span>] // Not Implemented.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntzone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> allow-query-on { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> check-names (<code class="constant">warn</code>|<code class="constant">fail</code>|<code class="constant">ignore</code>) ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> dialup <em class="replaceable"><code>dialup_option</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> delegation-only <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> file <em class="replaceable"><code>string</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> masterfile-format (<code class="constant">text</code>|<code class="constant">raw</code>|<code class="constant">map</code>) ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> forward (<code class="constant">only</code>|<code class="constant">first</code>) ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; ... </span>] }; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> masters [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em>
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] }; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> max-transfer-idle-in <em class="replaceable"><code>number</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<span class="optional"> max-transfer-time-in <em class="replaceable"><code>number</code></em> ; </span>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<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>]
65f32cd8bf0924a9d7b7fde03d1a45407dc6f422Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> alt-transfer-source-v6 (<em class="replaceable"><code>ip6_addr</code></em> | <code class="constant">*</code>)
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> use-alt-transfer-source <em class="replaceable"><code>yes_or_no</code></em>; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> zone-statistics <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> database <em class="replaceable"><code>string</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> min-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> max-refresh-time <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> min-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> max-retry-time <em class="replaceable"><code>number</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> multi-master <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userzone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt type static-stub;
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> server-addresses { [<span class="optional"> <em class="replaceable"><code>ip_addr</code></em> ; ... </span>] }; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> server-names { [<span class="optional"> <em class="replaceable"><code>namelist</code></em> </span>] }; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox User [<span class="optional"> zone-statistics <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
c7f299247ca4460807f44b43f84ba19719646cc9Tinderbox Userzone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt type forward;
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User [<span class="optional"> forward (<code class="constant">only</code>|<code class="constant">first</code>) ; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<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 class="optional">dscp <em class="replaceable"><code>ip_dscp</code></em></span>] ; ... </span>] }; </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User [<span class="optional"> delegation-only <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
8168c2873909444bdf62325b29fe118a879b22fcTinderbox Userzone <em class="replaceable"><code>"."</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
8168c2873909444bdf62325b29fe118a879b22fcTinderbox User type redirect;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User file <em class="replaceable"><code>string</code></em> ;
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [<span class="optional"> masterfile-format (<code class="constant">text</code>|<code class="constant">raw</code>|<code class="constant">map</code>) ; </span>]
8168c2873909444bdf62325b29fe118a879b22fcTinderbox User [<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
8168c2873909444bdf62325b29fe118a879b22fcTinderbox Userzone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
8168c2873909444bdf62325b29fe118a879b22fcTinderbox User type delegation-only;
8168c2873909444bdf62325b29fe118a879b22fcTinderbox Userzone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
8168c2873909444bdf62325b29fe118a879b22fcTinderbox User [<span class="optional"> in-view <em class="replaceable"><code>string</code></em> ; </span>]
8168c2873909444bdf62325b29fe118a879b22fcTinderbox User<div class="titlepage"><div><div><h3 class="title">
8168c2873909444bdf62325b29fe118a879b22fcTinderbox User<a name="id2593956"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
8168c2873909444bdf62325b29fe118a879b22fcTinderbox User<div class="titlepage"><div><div><h4 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="id2593963"></a>Zone Types</h4></div></div></div>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The server has a master copy of the data
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User for the zone and will be able to provide authoritative
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User 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
f6e04b59238a309b1be2d5415c195325edec8aa6Tinderbox User of master servers that the slave contacts to update
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User its copy of the zone.
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User Masters list elements can also be names of other
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User masters lists.
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User By default, transfers are made from port 53 on the
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater servers; this can
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User be changed for all servers by specifying a port number
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User list of IP addresses, or on a per-server basis after
a404eb87dc8f91fe81bedce8bb3957fc3c7684a5Mark Andrews the IP address.
89bc48260b64a8859ae717e9e5bae380e275fef4Mark Andrews Authentication to the master can also be done with
b3c2030de4cc02b8e881ca4e6f62b385d4b41b0fAutomatic Updater per-server TSIG keys.
a404eb87dc8f91fe81bedce8bb3957fc3c7684a5Mark Andrews If a file is specified, then the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein replica will be written to this file whenever the zone
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User and reloaded from this file on a server restart. Use
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of a file is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt recommended, since it often speeds server startup and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a needless waste of bandwidth. Note that for large
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt numbers (in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein tens or hundreds of thousands) of zones per server, it
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews use a two-level naming scheme for zone filenames. 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User just the first two letters of the zone name. (Most
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt operating systems
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein behave very slowly if you put 100000 files into
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt a single directory.)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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 <acronym class="acronym">BIND</acronym> 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zone entry and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a set of name server addresses in <code class="filename">named.conf</code>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This usage is not recommended for new configurations,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein supports it only in a limited way.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In <acronym class="acronym">BIND</acronym> 4/8, zone
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User configuring child stubs
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt only in the master server for the parent zone. <acronym class="acronym">BIND</acronym>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 9 never mixes together zone data from different zones
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein way. Therefore, if a <acronym class="acronym">BIND</acronym> 9 master serving a parent
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zone has child stub zones configured, all the slave
eea6be913f9928255cab5f58ff27da41c1e8e23aAutomatic Updater servers for the
eea6be913f9928255cab5f58ff27da41c1e8e23aAutomatic Updater 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt authoritative servers.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt For example, the caching name servers on a private
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt network using
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RFC1918 addressing may be configured with stub zones
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to use a set of internal name servers as the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein authoritative
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User servers for that domain.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User A static-stub zone is similar to a stub zone
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt with the following exceptions:
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews the zone data is statically configured, rather
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt than transferred from a master server;
00124ad0406365d39f4b2d1011ef6a76706e9df0Mark Andrews when recursion is necessary for a query that
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User matches a static-stub zone, the locally
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt configured data (nameserver names and glue addresses)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt is always used even if different authoritative
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User information is cached.
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User Zone data is configured via the
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User <span><strong class="command">server-addresses</strong></span> and
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User <span><strong class="command">server-names</strong></span> zone options.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The zone data is maintained in the form of NS
9c716f839c5dc2a9e236dada3af83b03e863078bTinderbox User and (if necessary) glue A or AAAA RRs
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt internally, which can be seen by dumping zone
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt databases by <span><strong class="command">rndc dumpdb -all</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The configured RRs are considered local configuration
9c716f839c5dc2a9e236dada3af83b03e863078bTinderbox User parameters rather than public data.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Non recursive queries (i.e., those with the RD
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User bit off) to a static-stub zone are therefore
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User prohibited and will be responded with REFUSED.
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User Since the data is statically configured, no
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User zone maintenance action takes place for a static-stub
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User For example, there is no periodic refresh
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User attempt, and an incoming notify message
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User will be rejected with an rcode of NOTAUTH.
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User Each static-stub zone is configured with
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User internally generated NS and (if necessary)
8908291ce54a924176de1e28f158ed7323472f26Tinderbox User glue A or AAAA RRs
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User A "forward zone" is a way to configure
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User forwarding on a per-domain basis. A <span><strong class="command">zone</strong></span> statement
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User of type <span><strong class="command">forward</strong></span> can
88a2182a1ad4fc7af07272af6b05b74db7f28e52Tinderbox User contain a <span><strong class="command">forward</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User and/or <span><strong class="command">forwarders</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt which will apply to queries within the domain given by
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews name. If no <span><strong class="command">forwarders</strong></span>
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews statement is present or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein an empty list for <span><strong class="command">forwarders</strong></span> is given, then no
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt forwarding will be done for the domain, canceling the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 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
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt behavior of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein global <span><strong class="command">forward</strong></span> option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (that is, "forward first"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User to, then "forward only", or vice versa, but want to
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews use the same
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein servers as set globally) you need to re-specify the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt global forwarders.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The initial set of root name servers is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specified using a "hint zone". When the server starts
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the root hints to find a root name server and get the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein list of root name servers. If no hint zone is
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User specified for class
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt IN, the server uses a compiled-in default set of root
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt servers hints.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Classes other than IN have no built-in defaults hints.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Redirect zones are used to provide answers to
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User queries when normal resolution would result in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt NXDOMAIN being returned.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Only one redirect zone is supported
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews per view. <span><strong class="command">allow-query</strong></span> can be
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews used to restrict which clients see these answers.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt If the client has requested DNSSEC records (DO=1) and
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews the NXDOMAIN response is signed then no substitution
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews To redirect all NXDOMAIN responses to
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews 100.100.100.2 and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt 2001:ffff:ffff::100.100.100.2, one would
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews configure a type redirect zone named ".",
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt with the zone file containing wildcard records
dca44b90c96352111e0f1cdfdeccde1a13732161Mark Andrews that point to the desired addresses:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <code class="literal">"*. IN A 100.100.100.2"</code>
27963ad22062efe8eac2beed51ff70d8f0b35900Tinderbox User <code class="literal">"*. IN AAAA 2001:ffff:ffff::100.100.100.2"</code>.
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User To redirect all Spanish names (under .ES) one
27963ad22062efe8eac2beed51ff70d8f0b35900Tinderbox User would use similar entries but with the names
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User "*.ES." instead of "*.". To redirect all
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt commercial Spanish names (under COM.ES) one
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User would use wildcard entries called "*.COM.ES.".
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Note that the redirect zone supports all
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User possible types; it is not limited to A and
1879ff49326b49a9e4eadaca193c631409bf8575Tinderbox User AAAA records.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Because redirect zones are not referenced
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein directly by name, they are not kept in the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zone lookup table with normal master and slave
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zones. Consequently, it is not currently possible
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater <em class="replaceable"><code>zonename</code></em></strong></span>
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater to reload a redirect zone. However, when using
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater <span><strong class="command">rndc reload</strong></span> without specifying
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a zone name, redirect zones will be reloaded along
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User with other zones.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater <code class="varname">delegation-only</code>
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater This is used to enforce the delegation-only
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater status of infrastructure zones (e.g. COM,
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User NET, ORG). Any answer that is received
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User without an explicit or implicit delegation
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in the authority section will be treated
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater as NXDOMAIN. This does not apply to the
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater zone apex. This should not be applied to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <code class="varname">delegation-only</code> has no
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt effect on answers received from forwarders.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater See caveats in <a href="Bv9ARM.ch06.html#root_delegation_only"><span><strong class="command">root-delegation-only</strong></span></a>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h4 class="title">
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater<a name="id2594776"></a>Class</h4></div></div></div>
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater The zone's name may optionally be followed by a class. If
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>),
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater is assumed. This is correct for the vast majority of cases.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater named for an information service from MIT's Project Athena. It
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater used to share information about various systems databases, such
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater as users, groups, printers and so on. The keyword
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a synonym for hesiod.
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic Updater Another MIT development is Chaosnet, a LAN protocol created
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in the mid-1970s. Zone data for it can be specified with the <code class="literal">CHAOS</code> class.
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User<div class="titlepage"><div><div><h4 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="id2594809"></a>Zone Options</h4></div></div></div>
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User<dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt>
9c1210a508fa246d62ca7d9a52f1d8b19d0ccf48Tinderbox User See the description of
9c1210a508fa246d62ca7d9a52f1d8b19d0ccf48Tinderbox User <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>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">allow-query</strong></span></span></dt>
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User See the description of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <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>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">allow-query-on</strong></span></span></dt>
9c1210a508fa246d62ca7d9a52f1d8b19d0ccf48Tinderbox User See the description of
9c1210a508fa246d62ca7d9a52f1d8b19d0ccf48Tinderbox User <span><strong class="command">allow-query-on</strong></span> in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">allow-transfer</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See the description of <span><strong class="command">allow-transfer</strong></span>
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User<dt><span class="term"><span><strong class="command">allow-update</strong></span></span></dt>
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User See the description of <span><strong class="command">allow-update</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">update-policy</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Specifies a "Simple Secure Update" policy. See
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a>.
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User<dt><span class="term"><span><strong class="command">allow-update-forwarding</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See the description of <span><strong class="command">allow-update-forwarding</strong></span>
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User in <a href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User<dt><span class="term"><span><strong class="command">also-notify</strong></span></span></dt>
990d0e893f5b70e735cdf990af66e9ec6e91fa78Tinderbox User Only meaningful if <span><strong class="command">notify</strong></span>
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User active for this zone. The set of machines that will
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User <code class="literal">DNS NOTIFY</code> message
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User for this zone is made up of all the listed name servers
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the primary master) for the zone plus any IP addresses
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User with <span><strong class="command">also-notify</strong></span>. A port
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User may be specified
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User with each <span><strong class="command">also-notify</strong></span>
40f508f08bb887b14739f7b64e4d0a892586948fTinderbox User address to send the notify
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User messages to a port other than the default of 53.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User A TSIG key may also be specified to cause the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <code class="literal">NOTIFY</code> to be signed by the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">also-notify</strong></span> is not
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt meaningful for stub zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default is the empty list.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<dt><span class="term"><span><strong class="command">check-names</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User This option is used to restrict the character set and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein certain domain names in master files and/or DNS responses
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User 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>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User zones the default is <span><strong class="command">warn</strong></span>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt It is not implemented for <span><strong class="command">hint</strong></span> zones.
6101b9f0d904a708e900a74abc16d1e0eda67264Mark Andrews<dt><span class="term"><span><strong class="command">check-mx</strong></span></span></dt>
6101b9f0d904a708e900a74abc16d1e0eda67264Mark Andrews See the description of
6101b9f0d904a708e900a74abc16d1e0eda67264Mark Andrews <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>.
6101b9f0d904a708e900a74abc16d1e0eda67264Mark Andrews<dt><span class="term"><span><strong class="command">check-spf</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">check-spf</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">check-wildcard</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See the description of
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <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>.
dcb551033f0b33eb5c113169750a61084d8250a1Mark Andrews<dt><span class="term"><span><strong class="command">check-integrity</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See the description of
6101b9f0d904a708e900a74abc16d1e0eda67264Mark Andrews <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>.
6101b9f0d904a708e900a74abc16d1e0eda67264Mark Andrews<dt><span class="term"><span><strong class="command">check-sibling</strong></span></span></dt>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater See the description of
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater <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>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">zero-no-soa-ttl</strong></span></span></dt>
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater See the description of
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater <span><strong class="command">zero-no-soa-ttl</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater<dt><span class="term"><span><strong class="command">update-check-ksk</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See the description of
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User <span><strong class="command">update-check-ksk</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User<dt><span class="term"><span><strong class="command">dnssec-update-mode</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See the description of
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater <span><strong class="command">dnssec-update-mode</strong></span> in <a href="Bv9ARM.ch06.html#options" title="options Statement Definition and
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Usage">the section called “<span><strong class="command">options</strong></span> Statement Definition and
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Usage”</a>.
ba713ac34af236ef867cc27288e599659379cd66Tinderbox User<dt><span class="term"><span><strong class="command">dnssec-dnskey-kskonly</strong></span></span></dt>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater See the description of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">dnssec-dnskey-kskonly</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">try-tcp-refresh</strong></span></span></dt>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater See the description of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">try-tcp-refresh</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">database</strong></span></span></dt>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater Specify the type of database to be used for storing the
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater zone data. The string following the <span><strong class="command">database</strong></span> keyword
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater is interpreted as a list of whitespace-delimited words.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The first word
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater identifies the database type, and any subsequent words are
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater as arguments to the database to be interpreted in a way
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater to the database type.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default is <strong class="userinput"><code>"rbt"</code></strong>, BIND 9's
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater native in-memory
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User red-black-tree database. This database does not take
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Other values are possible if additional database drivers
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt have been linked into the server. Some sample drivers are
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater with the distribution but none are linked in by default.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">dialup</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See the description of
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater <span><strong class="command">dialup</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">delegation-only</strong></span></span></dt>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater The flag only applies to hint and stub zones. If set
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater to <strong class="userinput"><code>yes</code></strong>, then the zone will also be
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater treated as if it is also a delegation-only type zone.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See caveats in <a href="Bv9ARM.ch06.html#root_delegation_only"><span><strong class="command">root-delegation-only</strong></span></a>.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">forward</strong></span></span></dt>
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater Only meaningful if the zone has a forwarders
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User list. The <span><strong class="command">only</strong></span> value causes
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the lookup to fail
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater after trying the forwarders and getting no answer, while <span><strong class="command">first</strong></span> would
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater allow a normal lookup to be tried.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">forwarders</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Used to override the list of global forwarders.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater If it is not specified in a zone of type <span><strong class="command">forward</strong></span>,
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater no forwarding is done for the zone and the global options are
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">ixfr-base</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Was used in <acronym class="acronym">BIND</acronym> 8 to
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt specify the name
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt of the transaction log (journal) file for dynamic update
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater <acronym class="acronym">BIND</acronym> 9 ignores the option
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and constructs the name of the journal
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater file by appending "<code class="filename">.jnl</code>"
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater to the name of the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">ixfr-tmp-file</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Was an undocumented option in <acronym class="acronym">BIND</acronym> 8.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater Ignored in <acronym class="acronym">BIND</acronym> 9.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">journal</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Allow the default journal's filename to be overridden.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The default is the zone's filename with "<code class="filename">.jnl</code>" appended.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This is applicable to <span><strong class="command">master</strong></span> and <span><strong class="command">slave</strong></span> zones.
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater<dt><span class="term"><span><strong class="command">max-journal-size</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See the description of
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater <span><strong class="command">max-journal-size</strong></span> in <a href="Bv9ARM.ch06.html#server_resource_limits" title="Server Resource Limits">the section called “Server Resource Limits”</a>.
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater<dt><span class="term"><span><strong class="command">max-transfer-time-in</strong></span></span></dt>
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater See the description of
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater <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>.
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater<dt><span class="term"><span><strong class="command">max-transfer-idle-in</strong></span></span></dt>
f7b2875691497b292eacb60609be23a813d14e63Automatic Updater See the description of
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater <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>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">max-transfer-time-out</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See the description of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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>.
102ccdd2c0ade46f2d668c4b4d3fbbe668a44994Automatic Updater<dt><span class="term"><span><strong class="command">max-transfer-idle-out</strong></span></span></dt>
d8620c7234281056fdfd2ee40cf16636b8281092Tinderbox User See the description of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <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>.
d8620c7234281056fdfd2ee40cf16636b8281092Tinderbox User<dt><span class="term"><span><strong class="command">notify</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See the description of
7a7a44400d49122d4cc207b43922a7b9c5afe443Automatic Updater <span><strong class="command">notify</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">notify-delay</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See the description of
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">notify-delay</strong></span> in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<dt><span class="term"><span><strong class="command">notify-to-soa</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See the description of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">notify-to-soa</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">pubkey</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User In <acronym class="acronym">BIND</acronym> 8, this option was
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein intended for specifying
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User a public zone key for verification of signatures in DNSSEC
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt zones when they are loaded from disk. <acronym class="acronym">BIND</acronym> 9 does not verify signatures
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews on load and ignores the option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">zone-statistics</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <strong class="userinput"><code>yes</code></strong>, the server will keep
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein information for this zone, which can be dumped to the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">statistics-file</strong></span> defined in
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the server options.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">server-addresses</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Only meaningful for static-stub zones.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This is a list of IP addresses to which queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein should be sent in recursive resolution for the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A non empty list for this option will internally
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt configure the apex NS RR with associated glue A or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example, if "example.com" is configured as a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt static-stub zone with 192.0.2.1 and 2001:db8::1234
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in a <span><strong class="command">server-addresses</strong></span> option,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the following RRs will be internally configured.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<pre class="programlisting">example.com. NS example.com.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These records are internally used to resolve
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein names under the static-stub zone.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt For instance, if the server receives a query for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "www.example.com" with the RD bit on, the server
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User will initiate recursive resolution and send
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">server-names</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Only meaningful for static-stub zones.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is a list of domain names of nameservers that
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User act as authoritative servers of the static-stub
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt These names will be resolved to IP addresses when
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> needs to send queries to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein these servers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To make this supplemental resolution successful,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt these names must not be a subdomain of the origin
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name of static-stub zone.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein That is, when "example.net" is the origin of a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt static-stub zone, "ns.example" and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "master.example.com" can be specified in the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">server-names</strong></span> option, but
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "ns.example.net" cannot, and will be rejected by
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the configuration parser.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A non empty list for this option will internally
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein configure the apex NS RR with the specified names.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User For example, if "example.com" is configured as a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt static-stub zone with "ns1.example.net" and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in a <span><strong class="command">server-names</strong></span> option,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the following RRs will be internally configured.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<pre class="programlisting">example.com. NS ns1.example.net.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These records are internally used to resolve
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt names under the static-stub zone.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt For instance, if the server receives a query for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "www.example.com" with the RD bit on, the server
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt initiate recursive resolution,
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User "ns2.example.net" to IP addresses, and then send
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein queries to (one or more of) these addresses.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><span><strong class="command">sig-validity-interval</strong></span></span></dt>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce See the description of
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson <span><strong class="command">sig-validity-interval</strong></span> in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater<dt><span class="term"><span><strong class="command">sig-signing-nodes</strong></span></span></dt>
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson See the description of
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater <span><strong class="command">sig-signing-nodes</strong></span> in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<dt><span class="term"><span><strong class="command">sig-signing-signatures</strong></span></span></dt>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce See the description of
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce <span><strong class="command">sig-signing-signatures</strong></span> in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson<dt><span class="term"><span><strong class="command">sig-signing-type</strong></span></span></dt>
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater See the description of
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater <span><strong class="command">sig-signing-type</strong></span> in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson<dt><span class="term"><span><strong class="command">transfer-source</strong></span></span></dt>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce See the description of
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson <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>.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater<dt><span class="term"><span><strong class="command">transfer-source-v6</strong></span></span></dt>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce See the description of
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce <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>.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<dt><span class="term"><span><strong class="command">alt-transfer-source</strong></span></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See the description of
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <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>.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">alt-transfer-source-v6</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt See the description of
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <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>.
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews<dt><span class="term"><span><strong class="command">use-alt-transfer-source</strong></span></span></dt>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews See the description of
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User <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>.
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User<dt><span class="term"><span><strong class="command">notify-source</strong></span></span></dt>
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User See the description of
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User <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>.
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews<dt><span class="term"><span><strong class="command">notify-source-v6</strong></span></span></dt>
cefd74ae81cf51692af3a38c1330261a5110fca7Tinderbox User See the description of
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews <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>.
43b94483957d3168796a816ed86cf097518817dcTinderbox User<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>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews See the description in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<dt><span class="term"><span><strong class="command">ixfr-from-differences</strong></span></span></dt>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews See the description of
eea6be913f9928255cab5f58ff27da41c1e8e23aAutomatic Updater <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>.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews (Note that the <span><strong class="command">ixfr-from-differences</strong></span>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <strong class="userinput"><code>master</code></strong> and
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <strong class="userinput"><code>slave</code></strong> choices are not
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews available at the zone level.)
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews<dt><span class="term"><span><strong class="command">key-directory</strong></span></span></dt>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews See the description of
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User <span><strong class="command">key-directory</strong></span> in <a href="Bv9ARM.ch06.html#options" title="options Statement Definition and
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User Usage">the section called “<span><strong class="command">options</strong></span> Statement Definition and
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User Usage”</a>.
aeb7938001b22e811a910e1b36cdf452f9193865Automatic Updater<dt><span class="term"><span><strong class="command">auto-dnssec</strong></span></span></dt>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews Zones configured for dynamic DNS may also use this
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews option to allow varying levels of automatic DNSSEC key
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews management. There are three possible settings:
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">auto-dnssec allow;</strong></span> permits
9ce6056d520aaf5241560fab6ab096c0d4e87b36Automatic Updater keys to be updated and the zone fully re-signed
a17029519ef25b7cb545d574b728dc81b0ab74fdTinderbox User whenever the user issues the command <span><strong class="command">rndc sign
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <em class="replaceable"><code>zonename</code></em></strong></span>.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">auto-dnssec maintain;</strong></span> includes the
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews above, but also automatically adjusts the zone's DNSSEC
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews keys on schedule, according to the keys' timing metadata
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews (see <a href="man.dnssec-keygen.html" title="dnssec-keygen"><span class="refentrytitle"><span class="application">dnssec-keygen</span></span>(8)</a> and
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <a href="man.dnssec-settime.html" title="dnssec-settime"><span class="refentrytitle"><span class="application">dnssec-settime</span></span>(8)</a>). The command
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <em class="replaceable"><code>zonename</code></em></strong></span> causes
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">named</strong></span> to load keys from the key
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews repository and sign the zone with all keys that are
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater <em class="replaceable"><code>zonename</code></em></strong></span> causes
db6353c9b89628e16f6e729ce57baabad3460c49Automatic Updater <span><strong class="command">named</strong></span> to load keys from the key
089c63b69cdf6803aa8901aae3f2fbae58969511Automatic Updater repository and schedule key maintenance events to occur
6bf6622b7b9053dc52527478473b572f042c4b5bMark Andrews in the future, but it does not sign the full zone
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User immediately. Note: once keys have been loaded for a
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater zone the first time, the repository will be searched
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User for changes periodically, regardless of whether
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater <span><strong class="command">rndc loadkeys</strong></span> is used. The recheck
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews interval is defined by
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">dnssec-loadkeys-interval</strong></span>.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default setting is <span><strong class="command">auto-dnssec off</strong></span>.
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User<dt><span class="term"><span><strong class="command">serial-update-method</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Zones configured for dynamic DNS may use this
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein option to set the update method that will be used for
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User the zone serial number in the SOA record.
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater With the default setting of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">serial-update-method increment;</strong></span>, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein SOA serial number will be incremented by one each time
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the zone is updated.
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews <span><strong class="command">serial-update-method unixtime;</strong></span>, the
7526edc7677371c366232de5f39a678b7dcda747Mark Andrews SOA serial number will be set to the number of seconds
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein since the UNIX epoch, unless the serial number is
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User already greater than or equal to that value, in which
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User case it is simply incremented by one.
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User<dt><span class="term"><span><strong class="command">inline-signing</strong></span></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If <code class="literal">yes</code>, this enables
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User "bump in the wire" signing of a zone, where a
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User unsigned zone is transferred in or loaded from
dad65f7c93330a10705384739dff3a6d4dfe1e70Tinderbox User disk and a signed version of the zone is served,
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User with possibly, a different serial number. This
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User behaviour is disabled by default.
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User<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>
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User See the description of <span><strong class="command">masterfile-format</strong></span>
15d29ab5fe89ad45b13ab8dcb74093f682a95986Tinderbox User in <a href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews<dt><span class="term"><span><strong class="command">dnssec-secure-to-insecure</strong></span></span></dt>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews See the description of
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">dnssec-secure-to-insecure</strong></span> in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<div class="titlepage"><div><div><h4 class="title">
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<a name="dynamic_update_policies"></a>Dynamic Update Policies</h4></div></div></div>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews<p><acronym class="acronym">BIND</acronym> 9 supports two alternative
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews methods of granting clients the right to perform
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews dynamic updates to a zone, configured by the
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrews <span><strong class="command">allow-update</strong></span> and
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">update-policy</strong></span> option, respectively.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews The <span><strong class="command">allow-update</strong></span> clause works the
43b94483957d3168796a816ed86cf097518817dcTinderbox User same way as in previous versions of <acronym class="acronym">BIND</acronym>.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews It grants given clients the permission to update any
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User record of any name in the zone.
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User The <span><strong class="command">update-policy</strong></span> clause
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater allows more fine-grained control over what updates are
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews allowed. A set of rules is specified, where each rule
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews either grants or denies permissions for one or more
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews names to be updated by one or more identities. If
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User the dynamic update request message is signed (that is,
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater it includes either a TSIG or SIG(0) record), the
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User identity of the signer can be determined.
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User Rules are specified in the <span><strong class="command">update-policy</strong></span>
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews zone option, and are only meaningful for master zones.
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User When the <span><strong class="command">update-policy</strong></span> statement
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews is present, it is a configuration error for the
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">allow-update</strong></span> statement to be
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews present. The <span><strong class="command">update-policy</strong></span> statement
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews only examines the signer of a message; the source
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews address is not relevant.
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews There is a pre-defined <span><strong class="command">update-policy</strong></span>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater rule which can be switched on with the command
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">update-policy local;</strong></span>.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Switching on this rule in a zone causes
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <span><strong class="command">named</strong></span> to generate a TSIG session
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User key and place it in a file, and to allow that key
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User to update the zone. (By default, the file is
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <code class="filename">/var/run/named/session.key</code>, the key
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater name is "local-ddns" and the key algorithm is HMAC-SHA256,
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews but these values are configurable with the
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">session-keyfile</strong></span>,
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews <span><strong class="command">session-keyname</strong></span> and
3a32ac2a720653083c7a22cb654b86c398f6d4c8Tinderbox User <span><strong class="command">session-keyalg</strong></span> options, respectively).
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews A client running on the local system, and with appropriate
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater permissions, may read that file and use the key to sign update
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater requests. The zone's update policy will be set to allow that
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater key to change any record within the zone. Assuming the
43b94483957d3168796a816ed86cf097518817dcTinderbox User key name is "local-ddns", this policy is equivalent to:
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User<pre class="programlisting">update-policy { grant local-ddns zonesub any; };
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews The command <span><strong class="command">nsupdate -l</strong></span> sends update
885c1096e0c296b0188f01ca7511df1f70a6cddaMark Andrews requests to localhost, and signs them using the session key.
52cc3bd9c1f5f6123e7b30f65a110a8c3557a43cTinderbox User Other rule definitions look like this:
52cc3bd9c1f5f6123e7b30f65a110a8c3557a43cTinderbox User( <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> [<span class="optional"> <em class="replaceable"><code>name</code></em> </span>] [<span class="optional"> <em class="replaceable"><code>types</code></em> </span>]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Each rule grants or denies privileges. Once a message has
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein successfully matched a rule, the operation is immediately
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User granted or denied and no further rules are examined. A rule
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User is matched when the signer matches the identity field, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name matches the name field in accordance with the nametype
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User field, and the type matches the types specified in the type
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt No signer is required for <em class="replaceable"><code>tcp-self</code></em>
dc9edc13327189fe890ed3565b4e7a9bd6776402Tinderbox User or <em class="replaceable"><code>6to4-self</code></em> however the standard
dc9edc13327189fe890ed3565b4e7a9bd6776402Tinderbox User reverse mapping / prefix conversion must match the identity
dc9edc13327189fe890ed3565b4e7a9bd6776402Tinderbox User The identity field specifies a name or a wildcard
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User name. Normally, this is the name of the TSIG or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein SIG(0) key used to sign the update request. When a
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt TKEY exchange has been used to create a shared secret,
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the identity of the shared secret is the same as the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein identity of the key used to authenticate the TKEY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein exchange. TKEY is also the negotiation method used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein by GSS-TSIG, which establishes an identity that is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the Kerberos principal of the client, such as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>"user@host.domain"</code></strong>. When the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>identity</code></em> field specifies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a wildcard name, it is subject to DNS wildcard
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein expansion, so the rule will apply to multiple identities.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <em class="replaceable"><code>identity</code></em> field must
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein contain a fully-qualified domain name.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For nametypes <code class="varname">krb5-self</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">ms-self</code>, <code class="varname">krb5-subdomain</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and <code class="varname">ms-subdomain</code> the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>identity</code></em> field specifies
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the Windows or Kerberos realm of the machine belongs to.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <em class="replaceable"><code>nametype</code></em> field has 13
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">name</code>, <code class="varname">subdomain</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">wildcard</code>, <code class="varname">self</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">selfsub</code>, <code class="varname">selfwild</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">krb5-self</code>, <code class="varname">ms-self</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">tcp-self</code>, <code class="varname">6to4-self</code>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="varname">zonesub</code>, and <code class="varname">external</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Exact-match semantics. This rule matches
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews when the name being updated is identical
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the contents of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>name</code></em> field.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This rule matches when the name being updated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is a subdomain of, or identical to, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein contents of the <em class="replaceable"><code>name</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This rule is similar to subdomain, except that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it matches when the name being updated is a
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews subdomain of the zone in which the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">update-policy</strong></span> statement
c60793c77f6b6b8b66ad57c73cd7eb67e8d7ff6fAndreas Gustafsson appears. This obviates the need to type the zone
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name twice, and enables the use of a standard
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">update-policy</strong></span> statement in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein multiple zones without modification.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When this rule is used, the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>name</code></em> field is omitted.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews The <em class="replaceable"><code>name</code></em> field
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is subject to DNS wildcard expansion, and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein this rule matches when the name being updated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name is a valid expansion of the wildcard.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews This rule matches when the name being updated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein matches the contents of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <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 the same as the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>identity</code></em> field.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <code class="varname">self</code> nametype is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein most useful when allowing using one key per
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name to update, where the key has the same
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name as the name to be updated. The
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <em class="replaceable"><code>identity</code></em> would
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater be specified as <code class="constant">*</code> (an asterisk) in
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater This rule is similar to <code class="varname">self</code>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater except that subdomains of <code class="varname">self</code>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater can also be updated.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater This rule is similar to <code class="varname">self</code>
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater except that only subdomains of
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater <code class="varname">self</code> can be updated.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater This rule takes a Windows machine principal
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater (machine$@REALM) for machine in REALM and
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User and converts it machine.realm allowing the machine
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater to update machine.realm. The REALM to be matched
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater is specified in the <em class="replaceable"><code>identity</code></em>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This rule takes a Windows machine principal
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt (machine$@REALM) for machine in REALM and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein converts it to machine.realm allowing the machine
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to update subdomains of machine.realm. The REALM
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be matched is specified in the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <em class="replaceable"><code>identity</code></em> field.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This rule takes a Kerberos machine principal
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and converts it machine.realm allowing the machine
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to update machine.realm. The REALM to be matched
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is specified in the <em class="replaceable"><code>identity</code></em>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This rule takes a Kerberos machine principal
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein converts it to machine.realm allowing the machine
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to update subdomains of machine.realm. The REALM
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to be matched is specified in the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="replaceable"><code>identity</code></em> field.
c387825f77476d046f4b3491e646889693209bd2Tinderbox User Allow updates that have been sent via TCP and
c387825f77476d046f4b3491e646889693209bd2Tinderbox User for which the standard mapping from the initiating
c387825f77476d046f4b3491e646889693209bd2Tinderbox User IP address into the IN-ADDR.ARPA and IP6.ARPA
c387825f77476d046f4b3491e646889693209bd2Tinderbox User namespaces match the name to be updated.
c387825f77476d046f4b3491e646889693209bd2Tinderbox User <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater It is theoretically possible to spoof these TCP
c387825f77476d046f4b3491e646889693209bd2Tinderbox User Allow the 6to4 prefix to be update by any TCP
c387825f77476d046f4b3491e646889693209bd2Tinderbox User connection from the 6to4 network or from the
c387825f77476d046f4b3491e646889693209bd2Tinderbox User corresponding IPv4 address. This is intended
c387825f77476d046f4b3491e646889693209bd2Tinderbox User to allow NS or DNAME RRsets to be added to the
c387825f77476d046f4b3491e646889693209bd2Tinderbox User reverse tree.
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
c387825f77476d046f4b3491e646889693209bd2Tinderbox User It is theoretically possible to spoof these TCP
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This rule allows <span><strong class="command">named</strong></span>
e658a6635dfdf44bd61e13c37b93f5ba30edb07aTinderbox User to defer the decision of whether to allow a
e658a6635dfdf44bd61e13c37b93f5ba30edb07aTinderbox User given update to an external daemon.
e658a6635dfdf44bd61e13c37b93f5ba30edb07aTinderbox User The method of communicating with the daemon is
e658a6635dfdf44bd61e13c37b93f5ba30edb07aTinderbox User specified in the <em class="replaceable"><code>identity</code></em>
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater field, the format of which is
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater "<code class="constant">local:</code><em class="replaceable"><code>path</code></em>",
8a8d38eb8e5f853835df2f6799ce0d3d7ecf8be6Automatic Updater where <em class="replaceable"><code>path</code></em> is the location
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of a UNIX-domain socket. (Currently, "local" is the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein only supported mechanism.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Requests to the external daemon are sent over the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein UNIX-domain socket as datagrams with the following
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater Protocol version number (4 bytes, network byte order, currently 1)
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater Request length (4 bytes, network byte order)
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater Signer (null-terminated string)
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater Name (null-terminated string)
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater TCP source address (null-terminated string)
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater Rdata type (null-terminated string)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Key (null-terminated string)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein TKEY token length (4 bytes, network byte order)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein TKEY token (remainder of packet)</pre>
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater The daemon replies with a four-byte value in
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater network byte order, containing either 0 or 1; 0
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt indicates that the specified update is not
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein permitted, and 1 indicates that it is.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In all cases, the <em class="replaceable"><code>name</code></em>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User field must specify a fully-qualified domain name.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If no types are explicitly specified, this rule matches
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein all types except RRSIG, NS, SOA, NSEC and NSEC3. Types
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein may be specified by name, including "ANY" (ANY matches
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User all types except NSEC and NSEC3, which can never be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein updated). Note that when an attempt is made to delete
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein all records associated with a name, the rules are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein checked for each existing record type.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2597572"></a>Multiple views</h4></div></div></div>
a1b05dea35aa30b152a47115e18bbe679d3fcf19Mark Andrews When multiple views are in use, a zone may be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein referenced by more than one of them. Often, the views
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein will contain different zones with the same name, allowing
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User different clients to receive different answers for the same
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User queries. At times, however, it is desirable for multiple
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein views to contain identical zones. The
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User <span><strong class="command">in-view</strong></span> zone option provides an efficient
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User way to do this: it allows a view to reference a zone that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt was defined in a previously configured view. Example:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntview internal {
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User match-clients { 10/8; };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein type master;
68b30890ebd441a6a1ae3fdf71744d07d02cd030Mark Andrewsview external {
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt match-clients { any; };
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User in-view internal;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User An <span><strong class="command">in-view</strong></span> option cannot refer to a view
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt that is configured later in the configuration file.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt A <span><strong class="command">zone</strong></span> statement which uses the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">in-view</strong></span> option may not use any other
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein options with the exception of <span><strong class="command">forward</strong></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and <span><strong class="command">forwarders</strong></span>. (These options control
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the behavior of the containing view, rather than changing
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the zone object itself.)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h2 class="title" style="clear: both">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a name="id2597613"></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>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This section, largely borrowed from RFC 1034, describes the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein concept of a Resource Record (RR) and explains when each is used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Since the publication of RFC 1034, several new RRs have been
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt and implemented in the DNS. These are also included.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2597768"></a>Resource Records</h4></div></div></div>
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater A domain name identifies a node. Each node has a set of
d9c707589ade5d69fb59b6837555adc4cd24d34fAutomatic Updater resource information, which may be empty. The set of resource
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt information associated with a particular name is composed of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein separate RRs. The order of RRs in a set is not significant and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein need not be preserved by name servers, resolvers, or other
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User parts of the DNS. However, sorting of multiple RRs is
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt permitted for optimization purposes, for example, to specify
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 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>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The components of a Resource Record are:
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The domain name where the RR is found.
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews An encoded 16-bit value that specifies
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the type of the resource record.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The time-to-live of the RR. This field
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User is a 32-bit integer in units of seconds, and is
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User primarily used by
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt resolvers when they cache RRs. The TTL describes how
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User long a RR can
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User be cached before it should be discarded.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt An encoded 16-bit value that identifies
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User a protocol family or instance of a protocol.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The resource data. The format of the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein data is type (and sometimes class) specific.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The following are <span class="emphasis"><em>types</em></span> of valid RRs:
38760f5b074d2974a56479fa8b3aeb4b89bf36c8Automatic Updater A host address. In the IN class, this is a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User 32-bit IP address. Described in RFC 1035.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 address. Described in RFC 1886.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IPv6 address. This can be a partial
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt address (a suffix) and an indirection to the name
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User where the rest of the
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews address (the prefix) can be found. Experimental.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Described in RFC 2874.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews Location of AFS database servers.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Experimental. Described in RFC 1183.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Address prefix list. Experimental.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Described in RFC 3123.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Holds a digital certificate.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Described in RFC 2538.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Identifies the canonical name of an alias.
a1b05dea35aa30b152a47115e18bbe679d3fcf19Mark Andrews Described in RFC 1035.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Is used for identifying which DHCP client is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein associated with this name. Described in RFC 4701.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Replaces the domain name specified with
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater another name to be looked up, effectively aliasing an
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater subtree of the domain name space rather than a single
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater as in the case of the CNAME RR.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Described in RFC 2672.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Stores a public key associated with a signed
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater DNS zone. Described in RFC 4034.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Stores the hash of a public key associated with a
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater signed DNS zone. Described in RFC 4034.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Specifies the global position. Superseded by LOC.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Identifies the CPU and OS used by a host.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Described in RFC 1035.
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater Provides a method for storing IPsec keying material in
b6f3a9131ec5bff166be3efb172c0492e53f932bAutomatic Updater DNS. Described in RFC 4025.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Representation of ISDN addresses.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Experimental. Described in RFC 1183.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Stores a public key associated with a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User DNS name. Used in original DNSSEC; replaced
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt by DNSKEY in DNSSECbis, but still used with
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User SIG(0). Described in RFCs 2535 and 2931.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Identifies a key exchanger for this
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User DNS name. Described in RFC 2230.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User For storing GPS info. Described in RFC 1876.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Experimental.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Identifies a mail exchange for the domain with
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt a 16-bit preference value (lower is better)
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater followed by the host name of the mail exchange.
ccc383f3a74bdf3559650c630bbca24b11d8f8aeAutomatic Updater Described in RFC 974, RFC 1035.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Name authority pointer. Described in RFC 2915.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User A network service access point.
bafdc1ebe80e1bc359bfbb48aa88790c7bbdc749Automatic Updater Described in RFC 1706.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The authoritative name server for the
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User domain. Described in RFC 1035.
b05106c7e68077d805893fbae006fae125494fd6Automatic Updater Used in DNSSECbis to securely indicate that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt RRs with an owner name in a certain name interval do
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a zone and indicate what RR types are present for an
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User existing name.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Described in RFC 4034.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews Used in DNSSECbis to securely indicate that
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews RRs with an owner name in a certain name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interval do not exist in a zone and indicate
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User what RR types are present for an existing
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt name. NSEC3 differs from NSEC in that it
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater prevents zone enumeration but is more
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater computationally expensive on both the server
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater and the client than NSEC. Described in RFC
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews Used in DNSSECbis to tell the authoritative
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews server which NSEC3 chains are available to use.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Described in RFC 5155.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Used in DNSSEC to securely indicate that
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt RRs with an owner name in a certain name interval do
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt not exist in
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater a zone and indicate what RR types are present for an
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User existing name.
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater Used in original DNSSEC; replaced by NSEC in
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater Described in RFC 2535.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A pointer to another part of the domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name space. Described in RFC 1035.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Provides mappings between RFC 822 and X.400
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews addresses. Described in RFC 2163.
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews Information on persons responsible
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews for the domain. Experimental. Described in RFC 1183.
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater Contains DNSSECbis signature data. Described
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater Route-through binding for hosts that
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater do not have their own direct wide area network
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Experimental. Described in RFC 1183.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Contains DNSSEC signature data. Used in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein original DNSSEC; replaced by RRSIG in
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews DNSSECbis, but still used for SIG(0).
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews Described in RFCs 2535 and 2931.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Identifies the start of a zone of authority.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Described in RFC 1035.
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater Contains the Sender Policy Framework information
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater for a given email domain. Described in RFC 4408.
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater Information about well known network
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater services (replaces WKS). Described in RFC 2782.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Provides a way to securely publish a secure shell key's
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fingerprint. Described in RFC 4255.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Text records. Described in RFC 1035.
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews Information about which well known
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews network services, such as SMTP, that a domain
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews supports. Historical.
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews Representation of X.25 network addresses.
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews Experimental. Described in RFC 1183.
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews The following <span class="emphasis"><em>classes</em></span> of resource records
7f723eabc5768f576470cd9cc82fd4af200013a1Mark Andrews are currently valid in the DNS:
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater Chaosnet, a LAN protocol created at MIT in the
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater Rarely used for its historical purpose, but reused for
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater built-in server information zones, e.g.,
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater <code class="literal">version.bind</code>.
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater Hesiod, an information service
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater developed by MIT's Project Athena. It is used to share
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater about various systems databases, such as users,
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater groups, printers
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater The owner name is often implicit, rather than forming an
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater part of the RR. For example, many name servers internally form
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater or hash structures for the name space, and chain RRs off nodes.
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater The remaining RR parts are the fixed header (type, class, TTL)
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater which is consistent for all RRs, and a variable part (RDATA)
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater fits the needs of the resource being described.
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater The meaning of the TTL field is a time limit on how long an
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater RR can be kept in a cache. This limit does not apply to
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User data in zones; it is also timed out, but by the refreshing
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater for the zone. The TTL is assigned by the administrator for the
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater zone where the data originates. While short TTLs can be used to
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater minimize caching, and a zero TTL prohibits caching, the
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater of Internet performance suggest that these times should be on
93a5136c2b37df3232d2da4db2de60f29f6f1162Automatic Updater order of days for the typical host. If a change can be
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews the TTL can be reduced prior to the change to minimize
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews inconsistency
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews during the change, and then increased back to its former value
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews The data in the RDATA section of RRs is carried as a combination
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews of binary strings and domain names. The domain names are
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews used as "pointers" to other data in the DNS.
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews<div class="titlepage"><div><div><h4 class="title">
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews<a name="id2599255"></a>Textual expression of RRs</h4></div></div></div>
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews RRs are represented in binary form in the packets of the DNS
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews protocol, and are usually represented in highly encoded form
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews stored in a name server or resolver. In the examples provided
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews RFC 1034, a style similar to that used in master files was
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews in order to show the contents of RRs. In this format, most RRs
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews are shown on a single line, although continuation lines are
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews using parentheses.
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews The start of the line gives the owner of the RR. If a line
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews begins with a blank, then the owner is assumed to be the same as
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews that of the previous RR. Blank lines are often included for
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews Following the owner, we list the TTL, type, and class of the
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews RR. Class and type use the mnemonics defined above, and TTL is
f4429c1c31ec32f05125baab1adcc4f09863f7afMark Andrews an integer before the type field. In order to avoid ambiguity
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater parsing, type and class mnemonics are disjoint, TTLs are
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater and the type mnemonic is always last. The IN class and TTL
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater are often omitted from examples in the interests of clarity.
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater The resource data or RDATA section of the RR are given using
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt knowledge of the typical representation for the data.
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater For example, we might show the RRs carried in a message as:
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater<div class="informaltable"><table border="1">
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater <code class="literal">10 VENERA.ISI.EDU.</code>
610cd6f8458d88d5696e131aee310dcbcebac8fdAutomatic Updater <code class="literal">10 VAXA.ISI.EDU</code>
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater <code class="literal">VENERA.ISI.EDU</code>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The MX RRs have an RDATA section which consists of a 16-bit
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User number followed by a domain name. The address RRs use a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IP address format to contain a 32-bit internet address.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The above example shows six RRs, with two RRs at each of three
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein domain names.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Similarly we might see:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This example shows two addresses for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="literal">XX.LCS.MIT.EDU</code>, each of a different class.
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2599844"></a>Discussion of MX Records</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein As described above, domain servers store information as a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein series of resource records, each of which contains a particular
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein piece of information about a given domain name (which is usually,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein but not always, a host). The simplest way to think of a RR is as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a typed pair of data, a domain name matched with a relevant datum,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and stored with some additional type information to help systems
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein determine when the RR is relevant.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein MX records are used to control delivery of email. The data
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews specified in the record is a priority and a domain name. The
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein controls the order in which email delivery is attempted, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lowest number first. If two priorities are the same, a server is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein chosen randomly. If no servers at a given priority are responding,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the mail transport agent will fall back to the next largest
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews MX record, the MX record is in error, and will be ignored.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the mail will be delivered to the server specified in the MX
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein pointed to by the CNAME.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For example:
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <code class="literal">mail2.example.com.</code>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Mail delivery will be attempted to <code class="literal">mail.example.com</code> and
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <code class="literal">mail2.example.com</code> (in
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User any order), and if neither of those succeed, delivery to <code class="literal">mail.backup.org</code> will
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein be attempted.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="Setting_TTLs"></a>Setting TTLs</h3></div></div></div>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The time-to-live of the RR field is a 32-bit integer represented
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein in units of seconds, and is primarily used by resolvers when they
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein cache RRs. The TTL describes how long a RR can be cached before it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein should be discarded. The following three types of TTL are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein used in a zone file.
09d72af3e9961c210d7baa6179165b6cd81e8dd0Tinderbox User The last field in the SOA is the negative
09d72af3e9961c210d7baa6179165b6cd81e8dd0Tinderbox User caching TTL. This controls how long other servers will
09d72af3e9961c210d7baa6179165b6cd81e8dd0Tinderbox User cache no-such-domain
09d72af3e9961c210d7baa6179165b6cd81e8dd0Tinderbox User (NXDOMAIN) responses from you.
09d72af3e9961c210d7baa6179165b6cd81e8dd0Tinderbox User The maximum time for
09d72af3e9961c210d7baa6179165b6cd81e8dd0Tinderbox User negative caching is 3 hours (3h).
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater The $TTL directive at the top of the
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater zone file (before the SOA) gives a default TTL for every
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater a specific TTL set.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Each RR can have a TTL as the second
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User field in the RR, which will control how long other
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User 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="id2600596"></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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and PTR records. Entries in the in-addr.arpa domain are made in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein least-to-most significant order, read left to right. This is the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews opposite order to the way IP addresses are usually written. Thus,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews a machine with an IP address of 10.1.2.3 would have a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews corresponding
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews 3.2.1.10.in-addr.arpa. This name should have a PTR resource record
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews whose data field is the name of the machine or, optionally,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews PTR records if the machine has more than one name. For example,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews in the [<span class="optional">example.com</span>] domain:
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <code class="literal">2.1.10.in-addr.arpa</code>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <code class="literal">IN PTR foo.example.com.</code>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User The <span><strong class="command">$ORIGIN</strong></span> lines in the examples
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User are for providing context to the examples only — they do not
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User appear in the actual usage. They are only used here to indicate
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User that the example is relative to the listed origin.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<div class="titlepage"><div><div><h3 class="title">
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<a name="id2600723"></a>Other Zone File Directives</h3></div></div></div>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User The Master File Format was initially defined in RFC 1035 and
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User has subsequently been extended. While the Master File Format
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User is class independent all records in a Master File must be of the
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Master File Directives include <span><strong class="command">$ORIGIN</strong></span>, <span><strong class="command">$INCLUDE</strong></span>,
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User and <span><strong class="command">$TTL.</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<div class="titlepage"><div><div><h4 class="title">
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<a name="id2600745"></a>The <span><strong class="command">@</strong></span> (at-sign)</h4></div></div></div>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User When used in the label (or name) field, the asperand or
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User at-sign (@) symbol represents the current origin.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein At the start of the zone file, it is the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <<code class="varname">zone_name</code>> (followed by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein trailing dot).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2600761"></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>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein [<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 (followed by trailing dot).
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews 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.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox UserWWW CNAME MAIN-SERVER
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User is equivalent to
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox UserWWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<div class="titlepage"><div><div><h4 class="title">
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<a name="id2600822"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater Syntax: <span><strong class="command">$INCLUDE</strong></span>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater <em class="replaceable"><code>filename</code></em>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater<em class="replaceable"><code>origin</code></em> </span>]
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater [<span class="optional"> <em class="replaceable"><code>comment</code></em> </span>]
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater Read and process the file <code class="filename">filename</code> as
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater if it were included into the file at this point. If <span><strong class="command">origin</strong></span> is
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater specified the file is processed with <span><strong class="command">$ORIGIN</strong></span> set
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 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.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h4 class="title">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="id2600891"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Syntax: <span><strong class="command">$TTL</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <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="id2600928"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Syntax: <span><strong class="command">$GENERATE</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <em class="replaceable"><code>range</code></em>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <em class="replaceable"><code>lhs</code></em>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User [<span class="optional"><em class="replaceable"><code>ttl</code></em></span>]
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User [<span class="optional"><em class="replaceable"><code>class</code></em></span>]
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <em class="replaceable"><code>type</code></em>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <em class="replaceable"><code>rhs</code></em>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User [<span class="optional"><em class="replaceable"><code>comment</code></em></span>]
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<p><span><strong class="command">$GENERATE</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User is used to create a series of resource records that only
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User differ from each other by an
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User iterator. <span><strong class="command">$GENERATE</strong></span> can be used to
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User easily generate the sets of records required to support
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User sub /24 reverse delegations described in RFC 2317:
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Classless IN-ADDR.ARPA delegation.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<pre class="programlisting">$ORIGIN 0.0.192.IN-ADDR.ARPA.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User$GENERATE 1-2 @ NS SERVER$.EXAMPLE.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User$GENERATE 1-127 $ CNAME $.0</pre>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User is equivalent to
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<pre class="programlisting">0.0.0.192.IN-ADDR.ARPA. NS SERVER1.EXAMPLE.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User1.0.0.192.IN-ADDR.ARPA. CNAME 1.0.0.0.192.IN-ADDR.ARPA.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User2.0.0.192.IN-ADDR.ARPA. CNAME 2.0.0.0.192.IN-ADDR.ARPA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein127.0.0.192.IN-ADDR.ARPA. CNAME 127.0.0.0.192.IN-ADDR.ARPA.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Generate a set of A and MX records. Note the MX's right hand
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein side is a quoted string. The quotes will be stripped when the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein right hand side is processed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$ORIGIN EXAMPLE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$GENERATE 1-127 HOST-$ A 1.2.3.$
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$GENERATE 1-127 HOST-$ MX "0 ."</pre>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User is equivalent to
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<pre class="programlisting">HOST-1.EXAMPLE. A 1.2.3.1
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">range</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User This can be one of two forms: start-stop
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User or start-stop/step. If the first form is used, then step
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User 1. All of start, stop and step must be positive.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">lhs</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User describes the owner name of the resource records
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User to be created. Any single <span><strong class="command">$</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User (dollar sign)
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User symbols within the <span><strong class="command">lhs</strong></span> string
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User are replaced by the iterator value.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User To get a $ in the output, you need to escape the
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">$</strong></span> using a backslash
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">\</strong></span>,
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User e.g. <span><strong class="command">\$</strong></span>. The
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">$</strong></span> may optionally be followed
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User by modifiers which change the offset from the
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User iterator, field width and base.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Modifiers are introduced by a
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">{</strong></span> (left brace) immediately following the
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">$</strong></span> as
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">${offset[,width[,base]]}</strong></span>.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User For example, <span><strong class="command">${-20,3,d}</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User subtracts 20 from the current value, prints the
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User result as a decimal in a zero-padded field of
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Available output forms are decimal
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User (<span><strong class="command">d</strong></span>), octal
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User (<span><strong class="command">o</strong></span>), hexadecimal
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User (<span><strong class="command">x</strong></span> or <span><strong class="command">X</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User for uppercase) and nibble
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User (<span><strong class="command">n</strong></span> or <span><strong class="command">N</strong></span>\
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User for uppercase). The default modifier is
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">${0,0,d}</strong></span>. If the
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">lhs</strong></span> is not absolute, the
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User current <span><strong class="command">$ORIGIN</strong></span> is appended
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User In nibble mode the value will be treated as
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User if it was a reversed hexadecimal string
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User with each hexadecimal digit as a separate
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User label. The width field includes the label
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User For compatibility with earlier versions,
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <span><strong class="command">$$</strong></span> is still recognized as
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User indicating a literal $ in the output.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">ttl</strong></span></p>
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews Specifies the time-to-live of the generated records. If
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews 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 Specifies the class of the generated records.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This must match the zone class if it is
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">class</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User and <span><strong class="command">ttl</strong></span> can be
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User entered in either order.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">type</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Any valid type.
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User <p><span><strong class="command">rhs</strong></span></p>
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User <span><strong class="command">rhs</strong></span>, optionally, quoted string.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User The <span><strong class="command">$GENERATE</strong></span> directive is a <acronym class="acronym">BIND</acronym> extension
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User and not part of the standard zone file format.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User BIND 8 does not support the optional TTL and CLASS fields.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User<div class="titlepage"><div><div><h3 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="zonefile_format"></a>Additional File Formats</h3></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In addition to the standard textual format, BIND 9
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein supports the ability to read or dump to zone files in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein other formats.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The <code class="constant">raw</code> format is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a binary representation of zone data in a manner similar
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to that used in zone transfers. Since it does not require
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein parsing text, load time is significantly reduced.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User An even faster alternative is the <code class="constant">map</code>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User format, which is an image of a <acronym class="acronym">BIND</acronym> 9
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User in-memory zone database; it is capable of being loaded
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User directly into memory via the <span><strong class="command">mmap()</strong></span>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User function; the zone can begin serving queries almost
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User For a primary server, a zone file in
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <code class="constant">raw</code> or <code class="constant">map</code>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User format is expected to be generated from a textual zone
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User file by the <span><strong class="command">named-compilezone</strong></span> command.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein For a secondary server or for a dynamic zone, it is automatically
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein generated (if this format is specified by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">masterfile-format</strong></span> option) when
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">named</strong></span> dumps the zone contents after
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone transfer or when applying prior updates.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If a zone file in a binary format needs manual modification,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it first must be converted to a textual form by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <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.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Note that <span><strong class="command">map</strong></span> format is extremely
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews architecture-specific. A <code class="constant">map</code>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews file <span class="emphasis"><em>cannot</em></span> be used on a system
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews with different pointer size, endianness or data alignment
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews than the system on which it was generated, and should in
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews general be used only inside a single system.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews While <code class="constant">raw</code> format uses
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews network byte order and avoids architecture-dependent
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews data alignment so that it is as portable as
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews possible, it is also primarily expected to be used
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews inside the same single system. To export a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews zone file in either <code class="constant">raw</code> or
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <code class="constant">map</code> format, or make a
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews portable backup of such a file, conversion to
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <code class="constant">text</code> format is recommended.
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater<div class="titlepage"><div><div><h2 class="title" style="clear: both">
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater<a name="statistics"></a>BIND9 Statistics</h2></div></div></div>
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater <acronym class="acronym">BIND</acronym> 9 maintains lots of statistics
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater information and provides several interfaces for users to
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater get access to the statistics.
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater The available statistics include all statistics counters
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater that were available in <acronym class="acronym">BIND</acronym> 8 and
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater are meaningful in <acronym class="acronym">BIND</acronym> 9,
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater and other information that is considered useful.
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater The statistics information is categorized into the following
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater<div class="informaltable"><table border="1">
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater The number of incoming DNS requests for each OPCODE.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User The number of incoming queries for each RR type.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The number of outgoing queries for each RR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein type sent from the internal resolver.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Maintained per view.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Statistics counters about incoming request processing.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Statistics counters regarding zone maintenance
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User operations such as zone transfers.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Statistics counters about name resolution
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein performed in the internal resolver.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Maintained per view.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The number of RRsets per RR type and nonexistent
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews names stored in the cache database.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If the exclamation mark (!) is printed for a RR
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein type, it means that particular type of RRset is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein known to be nonexistent (this is also known as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "NXRRSET"). If a hash mark (#) is present then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the RRset is marked for garbage collection.
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User Maintained per view.
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User Statistics counters about network related events.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein A subset of Name Server Statistics is collected and shown
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein per zone for which the server has the authority when
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <span><strong class="command">zone-statistics</strong></span> is set to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>yes</code></strong>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein These statistics counters are shown with their zone and view
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In some cases the view names are omitted for the default view.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews There are currently two user interfaces to get access to the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews One is in the plain text format dumped to the file specified
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews by the <span><strong class="command">statistics-file</strong></span> configuration option.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The other is remotely accessible via a statistics channel
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews when the <span><strong class="command">statistics-channels</strong></span> statement
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews is specified in the configuration file
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (see <a href="Bv9ARM.ch06.html#statschannels" title="statistics-channels Statement Grammar">the section called “<span><strong class="command">statistics-channels</strong></span> Statement Grammar”</a>.)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h4 class="title">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="statsfile"></a>The Statistics File</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The text format statistics dump begins with a line, like:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">+++ Statistics Dump +++ (973798949)</strong></span>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The number in parentheses is a standard
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Unix-style timestamp, measured as seconds since January 1, 1970.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that line is a set of statistics information, which is categorized
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein as described above.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each section begins with a line, like:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">++ Name Server Statistics ++</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Each section consists of lines, each containing the statistics
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein counter value followed by its textual description.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein See below for available counters.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews For brevity, counters that have a value of 0 are not shown
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews in the statistics file.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The statistics dump ends with the line where the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein number is identical to the number in the beginning line; for example:
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User <span><strong class="command">--- Statistics Dump --- (973798949)</strong></span>
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User<div class="titlepage"><div><div><h3 class="title">
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User<a name="statistics_counters"></a>Statistics Counters</h3></div></div></div>
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User The following tables summarize statistics counters that
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User <acronym class="acronym">BIND</acronym> 9 provides.
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User For each row of the tables, the leftmost column is the
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User abbreviated symbol name of that counter.
5091a6fed939d70cc5ae90a8ddecf2a829cdbabaTinderbox User These symbols are shown in the statistics information
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User accessed via an HTTP statistics channel.
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User The rightmost column gives the description of the counter,
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User which is also shown in the statistics file
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User (but, in this document, possibly with slight modification
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User for better readability).
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User Additional notes may also be provided in this column.
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User When a middle column exists between these two columns,
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User it gives the corresponding counter name of the
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User <acronym class="acronym">BIND</acronym> 8 statistics, if applicable.
a35017e06e34ce769b35213f72d3c0116cc6618bTinderbox User<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2601922"></a>Name Server Statistics Counters</h4></div></div></div>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater <span class="emphasis"><em>BIND8 Symbol</em></span>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater <span class="emphasis"><em>Description</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">Requestv4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RQ</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 requests received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note: this also counts non query requests.
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater <p><span><strong class="command">Requestv6</strong></span></p>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater <p><span><strong class="command">RQ</strong></span></p>
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater IPv6 requests received.
0c6ada0a814f3c5417daa1654129bc2af56ed504Automatic Updater Note: this also counts non query requests.
199045f81d2c312411fc0d6a6f8dc56968daa679Tinderbox User <p><span><strong class="command">ReqEdns0</strong></span></p>
199045f81d2c312411fc0d6a6f8dc56968daa679Tinderbox User <p><span><strong class="command"></strong></span></p>
199045f81d2c312411fc0d6a6f8dc56968daa679Tinderbox User Requests with EDNS(0) received.
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User <p><span><strong class="command">ReqBadEDNSVer</strong></span></p>
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User <p><span><strong class="command"></strong></span></p>
d758d223c902f7541538ad0ddf64b058d2b088d8Tinderbox User Requests with unsupported EDNS version received.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">ReqTSIG</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command"></strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Requests with TSIG received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">ReqSIG0</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Requests with SIG(0) received.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">ReqBadSIG</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command"></strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Requests with invalid (TSIG or SIG(0)) signature.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">ReqTCP</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">RTCP</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User TCP requests received.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">AuthQryRej</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">RUQ</strong></span></p>
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User Authoritative (non recursive) queries rejected.
a8fa482d0cc0134e2373509f8d3ac92c9f36d99aTinderbox User <p><span><strong class="command">RecQryRej</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RURQ</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Recursive queries rejected.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">XfrRej</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RUXFR</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Zone transfer requests rejected.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">UpdateRej</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RUUpd</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Dynamic update requests rejected.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">Response</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SAns</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RespTruncated</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Truncated responses sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RespEDNS0</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses with EDNS(0) sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RespTSIG</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses with TSIG sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RespSIG0</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses with SIG(0) sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QrySuccess</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries resulted in a successful answer.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This means the query which returns a NOERROR response
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein with at least one answer RR.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">success</strong></span> counter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryAuthAns</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command"></strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Queries resulted in authoritative answer.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryNoauthAns</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SNaAns</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Queries resulted in non authoritative answer.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">QryReferral</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries resulted in referral answer.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">referral</strong></span> counter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryNxrrset</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries resulted in NOERROR responses with no data.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">nxrrset</strong></span> counter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QrySERVFAIL</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SFail</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries resulted in SERVFAIL.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryFORMERR</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SFErr</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries resulted in FORMERR.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryNXDOMAIN</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SNXD</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries resulted in NXDOMAIN.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">nxdomain</strong></span> counter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryRecursion</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RFwdQ</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries which caused the server
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to perform recursion in order to find the final answer.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">recursion</strong></span> counter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryDuplicate</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RDupQ</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Queries which the server attempted to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein recurse but discovered an existing query with the same
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IP address, port, query ID, name, type and class
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein already being processed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">duplicate</strong></span> counter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryDropped</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Recursive queries for which the server
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User discovered an excessive number of existing
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews recursive queries for the same name, type and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein class and were subsequently dropped.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This is the number of dropped queries due to
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews the reason explained with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">clients-per-query</strong></span>
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews <span><strong class="command">max-clients-per-query</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (see the description about
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <a href="Bv9ARM.ch06.html#clients-per-query"><span><strong class="command">clients-per-query</strong></span></a>.)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dropped</strong></span> counter
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QryFailure</strong></span></p>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Other query failures.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews This corresponds to the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">failure</strong></span> counter
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein of previous versions of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note: this counter is provided mainly for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein backward compatibility with the previous versions.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Normally a more fine-grained counters such as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">AuthQryRej</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">RecQryRej</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that would also fall into this counter are provided,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and so this counter would not be of much
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein interest in practice.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">XfrReqDone</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Requested zone transfers completed.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">UpdateReqFwd</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Update requests forwarded.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">UpdateRespFwd</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Update responses forwarded.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <p><span><strong class="command">UpdateFwdFail</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Dynamic update forward failed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">UpdateDone</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Dynamic updates completed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">UpdateFail</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Dynamic updates failed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">UpdateBadPrereq</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Dynamic updates rejected due to prerequisite failure.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RateDropped</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses dropped by rate limits.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RateSlipped</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Responses truncated by rate limits.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RPZRewrites</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Response policy zone rewrites.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2603627"></a>Zone Maintenance Statistics Counters</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>Description</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">NotifyOutv4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 notifies sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">NotifyOutv6</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 notifies sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">NotifyInv4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 notifies received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">NotifyInv6</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IPv6 notifies received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">NotifyRej</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Incoming notifies rejected.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SOAOutv4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 SOA queries sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SOAOutv6</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 SOA queries sent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">AXFRReqv4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 AXFR requested.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">AXFRReqv6</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 AXFR requested.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">IXFRReqv4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv4 IXFR requested.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">IXFRReqv6</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 IXFR requested.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">XfrSuccess</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Zone transfer requests succeeded.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">XfrFail</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Zone transfer requests failed.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h4 class="title">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<a name="id2604078"></a>Resolver Statistics Counters</h4></div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>BIND8 Symbol</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="emphasis"><em>Description</em></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">Queryv4</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">SFwdQ</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt IPv4 queries sent.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">Queryv6</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SFwdQ</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein IPv6 queries sent.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">Responsev4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RR</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User IPv4 responses received.
9fbbfb5757a1e3e86d7dea62c4e63ffc2303ca2bAutomatic Updater <p><span><strong class="command">Responsev6</strong></span></p>
9fbbfb5757a1e3e86d7dea62c4e63ffc2303ca2bAutomatic Updater <p><span><strong class="command">RR</strong></span></p>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews IPv6 responses received.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">NXDOMAIN</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">RNXD</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein NXDOMAIN received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SERVFAIL</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RFail</strong></span></p>
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User SERVFAIL received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">FORMERR</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">RFErr</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein FORMERR received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">OtherError</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">RErr</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Other errors received.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">EDNS0Fail</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein EDNS(0) query failures.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">Mismatch</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">RDupR</strong></span></p>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Mismatch responses received.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The DNS ID, response's source address,
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User match what was expected.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User (The port must be 53 or as defined by
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt the <span><strong class="command">port</strong></span> option.)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews This may be an indication of a cache
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews poisoning attempt.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">Truncated</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Truncated responses received.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">Lame</strong></span></p>
3970098dcd2a7122541667b4b56cea8abce8ccf2Mark Andrews <p><span><strong class="command">RLame</strong></span></p>
3970098dcd2a7122541667b4b56cea8abce8ccf2Mark Andrews Lame delegations received.
07e2d9518d5d78818b469de77f398f3439106abfAutomatic Updater <p><span><strong class="command">Retry</strong></span></p>
07e2d9518d5d78818b469de77f398f3439106abfAutomatic Updater <p><span><strong class="command">SDupQ</strong></span></p>
07e2d9518d5d78818b469de77f398f3439106abfAutomatic Updater Query retries performed.
07e2d9518d5d78818b469de77f398f3439106abfAutomatic Updater <p><span><strong class="command">QueryAbort</strong></span></p>
07e2d9518d5d78818b469de77f398f3439106abfAutomatic Updater <p><span><strong class="command"></strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Queries aborted due to quota control.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">QuerySockFail</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
e4a70b8fdfc5d2db2d992d884327a1e1fec67a07Tinderbox User Failures in opening query sockets.
e4a70b8fdfc5d2db2d992d884327a1e1fec67a07Tinderbox User One common reason for such failures is a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein failure of opening a new socket due to a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein limitation on file descriptors.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">QueryTimeout</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Query timeouts.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">GlueFetchv4</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">SSysQ</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt IPv4 NS address fetches invoked.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">GlueFetchv6</strong></span></p>
8ae3bbdd860f8abe3d47ec02d1f4d2008bf46f63Automatic Updater <p><span><strong class="command">SSysQ</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt IPv6 NS address fetches invoked.
d3907d27cc138f45772d3d63082ae02c7659148aAutomatic Updater <p><span><strong class="command">GlueFetchv4Fail</strong></span></p>
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater <p><span><strong class="command"></strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt IPv4 NS address fetch failed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">GlueFetchv6Fail</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic Updater IPv6 NS address fetch failed.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">ValAttempt</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
47012ae6dbf18a2503d7b33c1c9583dc38625cb7Mark Andrews DNSSEC validation attempted.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <p><span><strong class="command">ValOk</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt DNSSEC validation succeeded.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command">ValNegOk</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNSSEC validation on negative information succeeded.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <p><span><strong class="command">ValFail</strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <p><span><strong class="command"></strong></span></p>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein DNSSEC validation failed.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <p><span><strong class="command">QryRTTnn</strong></span></p>
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <p><span><strong class="command"></strong></span></p>
dba3c818ae00b10388d31703e86a28415db398acTinderbox User Frequency table on round trip times (RTTs) of
dba3c818ae00b10388d31703e86a28415db398acTinderbox User Each <span><strong class="command">nn</strong></span> specifies the corresponding
43b94483957d3168796a816ed86cf097518817dcTinderbox User In the sequence of
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">nn_1</strong></span>,
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">nn_2</strong></span>,
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">nn_m</strong></span>,
dba3c818ae00b10388d31703e86a28415db398acTinderbox User the value of <span><strong class="command">nn_i</strong></span> is the
dba3c818ae00b10388d31703e86a28415db398acTinderbox User number of queries whose RTTs are between
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">nn_(i-1)</strong></span> (inclusive) and
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">nn_i</strong></span> (exclusive) milliseconds.
43b94483957d3168796a816ed86cf097518817dcTinderbox User For the sake of convenience we define
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">nn_0</strong></span> to be 0.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The last entry should be represented as
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">nn_m+</strong></span>, which means the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews number of queries whose RTTs are equal to or over
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">nn_m</strong></span> milliseconds.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<div class="titlepage"><div><div><h4 class="title">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="id2605100"></a>Socket I/O Statistics Counters</h4></div></div></div>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Socket I/O statistics counters are defined per socket
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User types, which are
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">UDP4</strong></span> (UDP/IPv4),
43b94483957d3168796a816ed86cf097518817dcTinderbox User <span><strong class="command">UDP6</strong></span> (UDP/IPv6),
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">TCP4</strong></span> (TCP/IPv4),
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">TCP6</strong></span> (TCP/IPv6),
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">Unix</strong></span> (Unix Domain), and
dba3c818ae00b10388d31703e86a28415db398acTinderbox User <span><strong class="command">FDwatch</strong></span> (sockets opened outside the
5d564da348e890e42f63eebf2dced9a05b41f4fbTinderbox User socket module).
dba3c818ae00b10388d31703e86a28415db398acTinderbox User In the following table <span><strong class="command"><TYPE></strong></span>
dba3c818ae00b10388d31703e86a28415db398acTinderbox User represents a socket type.
dba3c818ae00b10388d31703e86a28415db398acTinderbox User Not all counters are available for all socket types;
dba3c818ae00b10388d31703e86a28415db398acTinderbox User exceptions are noted in the description field.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span class="emphasis"><em>Symbol</em></span>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <span class="emphasis"><em>Description</em></span>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>Open</strong></span></p>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Sockets opened successfully.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This counter is not applicable to the
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <span><strong class="command">FDwatch</strong></span> type.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>OpenFail</strong></span></p>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater Failures of opening sockets.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater This counter is not applicable to the
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <span><strong class="command">FDwatch</strong></span> type.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>Close</strong></span></p>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater Sockets closed.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>BindFail</strong></span></p>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater Failures of binding sockets.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>ConnFail</strong></span></p>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater Failures of connecting sockets.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>Conn</strong></span></p>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater Connections established successfully.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>AcceptFail</strong></span></p>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater Failures of accepting incoming connection requests.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater This counter is not applicable to the
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <span><strong class="command">UDP</strong></span> and
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <span><strong class="command">FDwatch</strong></span> types.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>Accept</strong></span></p>
fc8e82904a5a53fbc8b7e2f9262e3aa74ab20a2cAutomatic Updater Incoming connections successfully accepted.
fc8e82904a5a53fbc8b7e2f9262e3aa74ab20a2cAutomatic Updater This counter is not applicable to the
fc8e82904a5a53fbc8b7e2f9262e3aa74ab20a2cAutomatic Updater <span><strong class="command">UDP</strong></span> and
e7ac7921af0a875c17af3e8cb8cca46d1776ffe7Tinderbox User <span><strong class="command">FDwatch</strong></span> types.
c821eb704848afd1f2e70c77c70e7b6ce0b92989Automatic Updater <p><span><strong class="command"><TYPE>SendErr</strong></span></p>
c821eb704848afd1f2e70c77c70e7b6ce0b92989Automatic Updater Errors in socket send operations.
c821eb704848afd1f2e70c77c70e7b6ce0b92989Automatic Updater This counter corresponds
c821eb704848afd1f2e70c77c70e7b6ce0b92989Automatic Updater to <span><strong class="command">SErr</strong></span> counter of
c821eb704848afd1f2e70c77c70e7b6ce0b92989Automatic Updater <span><strong class="command">BIND</strong></span> 8.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <p><span><strong class="command"><TYPE>RecvErr</strong></span></p>
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User Errors in socket receive operations.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This includes errors of send operations on a
ad8f23aed6c75f94f238c1f23f4e17515d28eb55Tinderbox User connected UDP socket notified by an ICMP error
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater<div class="titlepage"><div><div><h4 class="title">
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater<a name="id2605474"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater Most statistics counters that were available
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt in <span><strong class="command">BIND</strong></span> 8 are also supported in
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater <span><strong class="command">BIND</strong></span> 9 as shown in the above tables.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Here are notes about other counters that do not appear
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater in these tables.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="term"><span><strong class="command">RFwdR,SFwdR</strong></span></span></dt>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater These counters are not supported
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater because <span><strong class="command">BIND</strong></span> 9 does not adopt
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the notion of <span class="emphasis"><em>forwarding</em></span>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt as <span><strong class="command">BIND</strong></span> 8 did.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="term"><span><strong class="command">RAXFR</strong></span></span></dt>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater This counter is accessible in the Incoming Queries section.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater<dt><span class="term"><span><strong class="command">RIQ</strong></span></span></dt>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater This counter is accessible in the Incoming Requests section.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater<dt><span class="term"><span><strong class="command">ROpts</strong></span></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt This counter is not supported
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater because <span><strong class="command">BIND</strong></span> 9 does not care
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User about IP options in the first place.
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater<table width="100%" summary="Navigation footer">
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<a accesskey="p" href="Bv9ARM.ch05.html">Prev</a>�</td>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<td width="40%" align="right">�<a accesskey="n" href="Bv9ARM.ch07.html">Next</a>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<td width="40%" align="left" valign="top">Chapter�5.�The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver�</td>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
98b5a9d1099f72169c90de39712fc4f63e9d990eAutomatic Updater<td width="40%" align="right" valign="top">�Chapter�7.�<acronym class="acronym">BIND</acronym> 9 Security Considerations</td>