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