Bv9ARM.ch04.html revision 2cc6eb92f9443695bc32fa6eed372d983d261a35
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - Permission to use, copy, modify, and distribute this software for any
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - purpose with or without fee is hereby granted, provided that the above
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - copyright notice and this permission notice appear in all copies.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews - PERFORMANCE OF THIS SOFTWARE.
68843c99b695bf194b019d465f6d33e6297fd02aMark Andrews<!-- $Id: Bv9ARM.ch04.html,v 1.89 2009/01/09 01:11:52 tbox Exp $ -->
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<link rel="prev" href="Bv9ARM.ch03.html" title="Chapter�3.�Name Server Configuration">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<link rel="next" href="Bv9ARM.ch05.html" title="Chapter�5.�The BIND 9 Lightweight Resolver">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<table width="100%" summary="Navigation header">
95317501208f3bf5b159e6a40801b7069f68c486Mark Andrews<tr><th colspan="3" align="center">Chapter�4.�Advanced DNS Features</th></tr>
73cac2175470e9068829589476dda8bd6d88036fMark Andrews<a accesskey="p" href="Bv9ARM.ch03.html">Prev</a>�</td>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch05.html">Next</a>
01163d188b89911c3a23fe1125a4cab6764a408cMark Andrews<div class="titlepage"><div><div><h2 class="title">
01163d188b89911c3a23fe1125a4cab6764a408cMark Andrews<a name="Bv9ARM.ch04"></a>Chapter�4.�Advanced DNS Features</h2></div></div></div>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#notify">Notify</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570513">Split DNS</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570531">Example split DNS setup</a></span></dt></dl></dd>
35665db4e49e3e4c0e3776e635449f931f3732cfMark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571169">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571242">Copying the Shared Secret to Both Machines</a></span></dt>
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571253">Informing the Servers of the Key's Existence</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571292">Instructing the Server to Use the Key</a></span></dt>
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571486">TSIG Key Based Access Control</a></span></dt>
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571531">Errors</a></span></dt>
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571613">TKEY</a></span></dt>
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571662">SIG(0)</a></span></dt>
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571799">Generating Keys</a></span></dt>
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571878">Signing the Zone</a></span></dt>
bdfd62f497fe0d5281c25b61271595a4c821a040Mark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571959">Configuring Servers</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572102">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572164">Address Lookups Using AAAA Records</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572185">Address to Name Lookups Using Nibble Format</a></span></dt>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<div class="titlepage"><div><div><h2 class="title" style="clear: both">
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<a name="notify"></a>Notify</h2></div></div></div>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <acronym class="acronym">DNS</acronym> NOTIFY is a mechanism that allows master
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews servers to notify their slave servers of changes to a zone's data. In
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews response to a <span><strong class="command">NOTIFY</strong></span> from a master server, the
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews slave will check to see that its version of the zone is the
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews current version and, if not, initiate a zone transfer.
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews For more information about <acronym class="acronym">DNS</acronym>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <span><strong class="command">NOTIFY</strong></span>, see the description of the
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <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
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews the description of the zone option <span><strong class="command">also-notify</strong></span> in
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>. The <span><strong class="command">NOTIFY</strong></span>
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews protocol is specified in RFC 1996.
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews As a slave zone can also be a master to other slaves, named,
61a03692ab84504fb2bd85b71facfe0f6456b466Mark Andrews by default, sends <span><strong class="command">NOTIFY</strong></span> messages for every zone
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews it loads. Specifying <span><strong class="command">notify master-only;</strong></span> will
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews cause named to only send <span><strong class="command">NOTIFY</strong></span> for master
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews zones that it loads.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<div class="titlepage"><div><div><h2 class="title" style="clear: both">
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<a name="dynamic_update"></a>Dynamic Update</h2></div></div></div>
68843c99b695bf194b019d465f6d33e6297fd02aMark Andrews Dynamic Update is a method for adding, replacing or deleting
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews records in a master server by sending it a special form of DNS
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews messages. The format and meaning of these messages is specified
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews in RFC 2136.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Dynamic update is enabled by including an
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <span><strong class="command">allow-update</strong></span> or <span><strong class="command">update-policy</strong></span>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews clause in the <span><strong class="command">zone</strong></span> statement. The
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews <span><strong class="command">tkey-gssapi-credential</strong></span> and
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <span><strong class="command">tkey-domain</strong></span> clauses in the
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <span><strong class="command">options</strong></span> statement enable the
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews server to negotiate keys that can be matched against those
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews in <span><strong class="command">update-policy</strong></span> or
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <span><strong class="command">allow-update</strong></span>.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Updating of secure zones (zones using DNSSEC) follows RFC
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews 3007: RRSIG, NSEC and NSEC3 records affected by updates are
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews automatically regenerated by the server using an online
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews zone key. Update authorization is based on transaction
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews signatures and an explicit server policy.
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews<div class="titlepage"><div><div><h3 class="title">
d6dc0d4f584352d2e4305435599ae8c93776d9b4Mark Andrews<a name="journal"></a>The journal file</h3></div></div></div>
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews All changes made to a zone using dynamic update are stored
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews in the zone's journal file. This file is automatically created
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews by the server when the first dynamic update takes place.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews The name of the journal file is formed by appending the extension
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <code class="filename">.jnl</code> to the name of the
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews corresponding zone
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews file unless specifically overridden. The journal file is in a
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews binary format and should not be edited manually.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews The server will also occasionally write ("dump")
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews the complete contents of the updated zone to its zone file.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews This is not done immediately after
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews each dynamic update, because that would be too slow when a large
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews zone is updated frequently. Instead, the dump is delayed by
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews up to 15 minutes, allowing additional updates to take place.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews When a server is restarted after a shutdown or crash, it will replay
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews the journal file to incorporate into the zone any updates that
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews place after the last zone dump.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews Changes that result from incoming incremental zone transfers are
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews journalled in a similar way.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews The zone files of dynamic zones cannot normally be edited by
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews hand because they are not guaranteed to contain the most recent
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews dynamic changes — those are only in the journal file.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews The only way to ensure that the zone file of a dynamic zone
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews is up to date is to run <span><strong class="command">rndc stop</strong></span>.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews If you have to make changes to a dynamic zone
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews manually, the following procedure will work: Disable dynamic updates
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews to the zone using
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews <span><strong class="command">rndc freeze <em class="replaceable"><code>zone</code></em></strong></span>.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews This will also remove the zone's <code class="filename">.jnl</code> file
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews and update the master file. Edit the zone file. Run
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews <span><strong class="command">rndc thaw <em class="replaceable"><code>zone</code></em></strong></span>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews to reload the changed zone and re-enable dynamic updates.
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<div class="titlepage"><div><div><h2 class="title" style="clear: both">
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews<a name="incremental_zone_transfers"></a>Incremental Zone Transfers (IXFR)</h2></div></div></div>
d9b4174233b951f25cd53a2787b9f14314258c2fMark Andrews The incremental zone transfer (IXFR) protocol is a way for
b08e3be5dbfba22719ae9c428bd6853ac6f09798Mark Andrews slave servers to transfer only changed data, instead of having to
f91671c7dc877a52adc06d0a7d0ed1c7f6391e6eMark Andrews transfer the entire zone. The IXFR protocol is specified in RFC
f91671c7dc877a52adc06d0a7d0ed1c7f6391e6eMark Andrews 1995. See <a href="Bv9ARM.ch09.html#proposed_standards">Proposed Standards</a>.
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" { // sample master zone
zone "site2.example.com" { // sample slave zone
zone "site1.internal" {
zone "site2.internal" {
zone "site1.example.com" { // sample slave zone
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-md5 -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
<a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a>.
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+r0QM65KbhTjrW1ZaARmPhEZZe
<a name="id2572102"></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.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 14400 IN PTR host.example.com.