Bv9ARM.ch04.html revision 3a5fe5abf08f16b8d31ab8ee9a788063110ef000
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt - Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - Copyright (C) 2000-2003 Internet Software Consortium.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - Permission to use, copy, modify, and/or distribute this software for any
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - purpose with or without fee is hereby granted, provided that the above
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - copyright notice and this permission notice appear in all copies.
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User - PERFORMANCE OF THIS SOFTWARE.
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater<!-- $Id: Bv9ARM.ch04.html,v 1.103 2009/11/11 01:14:42 tbox Exp $ -->
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<link rel="prev" href="Bv9ARM.ch03.html" title="Chapter�3.�Name Server Configuration">
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<link rel="next" href="Bv9ARM.ch05.html" title="Chapter�5.�The BIND 9 Lightweight Resolver">
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<tr><th colspan="3" align="center">Chapter�4.�Advanced DNS Features</th></tr>
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<a accesskey="p" href="Bv9ARM.ch03.html">Prev</a>�</td>
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch05.html">Next</a>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h2 class="title">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="Bv9ARM.ch04"></a>Chapter�4.�Advanced DNS Features</h2></div></div></div>
f5ae3cca1d2832239cc821bdef77e90c1739e66dTinderbox User<dt><span class="sect1"><a href="Bv9ARM.ch04.html#notify">Notify</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570568">Split DNS</a></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570654">Example split DNS setup</a></span></dt></dl></dd>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571088">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571229">Copying the Shared Secret to Both Machines</a></span></dt>
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571240">Informing the Servers of the Key's Existence</a></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571345">Instructing the Server to Use the Key</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571539">TSIG Key Based Access Control</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571588">Errors</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571602">TKEY</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571651">SIG(0)</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
ec899c963c91c16c393e067996400ae244921110Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571719">Generating Keys</a></span></dt>
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571798">Signing the Zone</a></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571879">Configuring Servers</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572061">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572328">Address Lookups Using AAAA Records</a></span></dt>
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox User<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572349">Address to Name Lookups Using Nibble Format</a></span></dt>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h2 class="title" style="clear: both">
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<a name="notify"></a>Notify</h2></div></div></div>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <acronym class="acronym">DNS</acronym> NOTIFY is a mechanism that allows master
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt servers to notify their slave servers of changes to a zone's data. In
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User response to a <span><strong class="command">NOTIFY</strong></span> from a master server, the
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt slave will check to see that its version of the zone is the
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt current version and, if not, initiate a zone transfer.
ec899c963c91c16c393e067996400ae244921110Tinderbox User For more information about <acronym class="acronym">DNS</acronym>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <span><strong class="command">NOTIFY</strong></span>, see the description of the
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt <span><strong class="command">notify</strong></span> option in <a href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a> and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the description of the zone option <span><strong class="command">also-notify</strong></span> in
ec899c963c91c16c393e067996400ae244921110Tinderbox User <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>. The <span><strong class="command">NOTIFY</strong></span>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User protocol is specified in RFC 1996.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater As a slave zone can also be a master to other slaves, <span><strong class="command">named</strong></span>,
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater by default, sends <span><strong class="command">NOTIFY</strong></span> messages for every zone
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater it loads. Specifying <span><strong class="command">notify master-only;</strong></span> will
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater cause <span><strong class="command">named</strong></span> to only send <span><strong class="command">NOTIFY</strong></span> for master
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater zones that it loads.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<div class="titlepage"><div><div><h2 class="title" style="clear: both">
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt<a name="dynamic_update"></a>Dynamic Update</h2></div></div></div>
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt Dynamic Update is a method for adding, replacing or deleting
ec899c963c91c16c393e067996400ae244921110Tinderbox User records in a master server by sending it a special form of DNS
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt messages. The format and meaning of these messages is specified
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt Dynamic update is enabled by including an
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt <span><strong class="command">allow-update</strong></span> or an <span><strong class="command">update-policy</strong></span>
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt clause in the <span><strong class="command">zone</strong></span> statement.
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt If the zone's <span><strong class="command">update-policy</strong></span> is set to
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt <strong class="userinput"><code>local</code></strong>, updates to the zone
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt will be permitted for the key <code class="varname">local-ddns</code>,
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt which will be generated by <span><strong class="command">named</strong></span> at startup.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User See <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a> for more details.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt The <span><strong class="command">tkey-gssapi-credential</strong></span> and
ec899c963c91c16c393e067996400ae244921110Tinderbox User <span><strong class="command">tkey-domain</strong></span> clauses in the
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt <span><strong class="command">options</strong></span> statement enable the
ec899c963c91c16c393e067996400ae244921110Tinderbox User server to negotiate keys that can be matched against those
ec899c963c91c16c393e067996400ae244921110Tinderbox User in <span><strong class="command">update-policy</strong></span> or
ec899c963c91c16c393e067996400ae244921110Tinderbox User <span><strong class="command">allow-update</strong></span>.
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater Updating of secure zones (zones using DNSSEC) follows RFC
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater 3007: RRSIG, NSEC and NSEC3 records affected by updates are
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User automatically regenerated by the server using an online
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater zone key. Update authorization is based on transaction
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User signatures and an explicit server policy.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt<div class="titlepage"><div><div><h3 class="title">
7ae7246a6339bb3a79ffc9f2f9c486de9a2bf65eAutomatic Updater<a name="journal"></a>The journal file</h3></div></div></div>
ec899c963c91c16c393e067996400ae244921110Tinderbox User All changes made to a zone using dynamic update are stored
ec899c963c91c16c393e067996400ae244921110Tinderbox User in the zone's journal file. This file is automatically created
ec899c963c91c16c393e067996400ae244921110Tinderbox User by the server when the first dynamic update takes place.
2cbb4ab75757fbb656997a82c14ca07db37d481aAutomatic Updater The name of the journal file is formed by appending the extension
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User <code class="filename">.jnl</code> to the name of the
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt corresponding zone
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User file unless specifically overridden. The journal file is in a
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User binary format and should not be edited manually.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User The server will also occasionally write ("dump")
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User the complete contents of the updated zone to its zone file.
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt This is not done immediately after
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt each dynamic update, because that would be too slow when a large
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User zone is updated frequently. Instead, the dump is delayed by
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt up to 15 minutes, allowing additional updates to take place.
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt During the dump process, transient files will be created
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt with the extensions <code class="filename">.jnw</code> and
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt <code class="filename">.jbk</code>; under ordinary circumstances, these
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt will be removed when the dump is complete, and can be safely
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater When a server is restarted after a shutdown or crash, it will replay
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater the journal file to incorporate into the zone any updates that
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt place after the last zone dump.
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt Changes that result from incoming incremental zone transfers are
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater journalled in a similar way.
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt The zone files of dynamic zones cannot normally be edited by
c2258eedf2d9d0207b45b90014f8fde5413b41a3Tinderbox User hand because they are not guaranteed to contain the most recent
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt dynamic changes — those are only in the journal file.
76786c2904942b708d8a7a4659df74da5dc9446eEvan Hunt The only way to ensure that the zone file of a dynamic zone
<span><strong class="command">rndc freeze <em class="replaceable"><code>zone</code></em></strong></span>.
<span><strong class="command">rndc thaw <em class="replaceable"><code>zone</code></em></strong></span>
except queries for <code class="filename">site1.internal</code>, <code class="filename">site2.internal</code>, <code class="filename">site1.example.com</code>,
for <code class="filename">site1.example.com</code>, <code class="filename">site2.example.com</code>, <code class="filename">site1.internal</code>,
To protect the <code class="filename">site1.internal</code> and <code class="filename">site2.internal</code> domains,
be configured to serve the "public" version of the <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones.
and mail exchange (MX) records (<code class="filename">a.mx.example.com</code> and <code class="filename">b.mx.example.com</code>).
In addition, the public <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones
for information on how to configure your zone files, see <a href="Bv9ARM.ch03.html#sample_configuration" title="Sample Configurations">the section called “Sample Configurations”</a>.
zone "site1.example.com" {
zone "site2.example.com" {
zone "site1.internal" {
zone "site2.internal" {
zone "site1.example.com" {
zone "site2.example.com" {
A shared secret is generated to be shared between <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host2</em></span>.
<strong class="userinput"><code>dnssec-keygen -a hmac-sha256 -b 128 -n HOST host1-host2.</code></strong>
Imagine <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host 2</em></span>
both servers. The following is added to each server's <code class="filename">named.conf</code> file:
be told when keys are to be used. The following is added to the <code class="filename">named.conf</code> file
for <span class="emphasis"><em>host1</em></span>, if the IP address of <span class="emphasis"><em>host2</em></span> is
to that address, the message will be signed with the specified key. <span class="emphasis"><em>host1</em></span> will
configuration file (with <span class="emphasis"><em>host1</em></span>'s address) for <span class="emphasis"><em>host2</em></span> to
See <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a> for a discussion of
that the tools shipped with BIND 9.2.x and earlier are not compatible
<strong class="userinput"><code>dnssec-keygen -a RSASHA1 -b 768 -n ZONE child.example.</code></strong>
example.com. 257 3 5 "AwEAAaxPMcR2x0HbQV4WeZB6oEDX+r0QM6
<a name="id2572061"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
see <a href="Bv9ARM.ch09.html#ipv6addresses" title="IPv6 addresses (AAAA)">the section called “IPv6 addresses (AAAA)”</a>.
$ORIGIN example.com.