Bv9ARM.ch04.html revision acb72d5e2c83b597332e3eb0c7d59e1142f1adfd
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - Copyright (C) 2000-2003 Internet Software Consortium.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - Permission to use, copy, modify, and distribute this software for any
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - purpose with or without fee is hereby granted, provided that the above
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - copyright notice and this permission notice appear in all copies.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder - PERFORMANCE OF THIS SOFTWARE.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<!-- $Id: Bv9ARM.ch04.html,v 1.71 2006/12/04 20:51:24 marka Exp $ -->
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<title>Chapter�4.�Advanced DNS Features</title>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<link rel="prev" href="Bv9ARM.ch03.html" title="Chapter�3.�Name Server Configuration">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<link rel="next" href="Bv9ARM.ch05.html" title="Chapter�5.�The BIND 9 Lightweight Resolver">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<table width="100%" summary="Navigation header">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<tr><th colspan="3" align="center">Chapter�4.�Advanced DNS Features</th></tr>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<a accesskey="p" href="Bv9ARM.ch03.html">Prev</a>�</td>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch05.html">Next</a>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<div class="titlepage"><div><div><h2 class="title">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<a name="Bv9ARM.ch04"></a>Chapter�4.�Advanced DNS Features</h2></div></div></div>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#notify">Notify</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2575934">Split DNS</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2576522">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2576596">Copying the Shared Secret to Both Machines</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2576606">Informing the Servers of the Key's Existence</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2576646">Instructing the Server to Use the Key</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2576704">TSIG Key Based Access Control</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2576817">Errors</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2576830">TKEY</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2576880">SIG(0)</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2577016">Generating Keys</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2577085">Signing the Zone</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2577164">Configuring Servers</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2577307">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2577506">Address Lookups Using AAAA Records</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2577527">Address to Name Lookups Using Nibble Format</a></span></dt>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<div class="titlepage"><div><div><h2 class="title" style="clear: both">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<a name="notify"></a>Notify</h2></div></div></div>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <acronym class="acronym">DNS</acronym> NOTIFY is a mechanism that allows master
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder servers to notify their slave servers of changes to a zone's data. In
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder response to a <span><strong class="command">NOTIFY</strong></span> from a master server, the
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder slave will check to see that its version of the zone is the
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder current version and, if not, initiate a zone transfer.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder For more information about <acronym class="acronym">DNS</acronym>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <span><strong class="command">NOTIFY</strong></span>, see the description of the
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <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
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder the description of the zone option <span><strong class="command">also-notify</strong></span> in
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>. The <span><strong class="command">NOTIFY</strong></span>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder protocol is specified in RFC 1996.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder As a slave zone can also be a master to other slaves, named,
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder by default, sends <span><strong class="command">NOTIFY</strong></span> messages for every zone
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder it loads. Specifying <span><strong class="command">notify master-only;</strong></span> will
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder cause named to only send <span><strong class="command">NOTIFY</strong></span> for master
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder zones that it loads.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<div class="titlepage"><div><div><h2 class="title" style="clear: both">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<a name="dynamic_update"></a>Dynamic Update</h2></div></div></div>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder Dynamic Update is a method for adding, replacing or deleting
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder records in a master server by sending it a special form of DNS
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder messages. The format and meaning of these messages is specified
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder Dynamic update is enabled by including an
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <span><strong class="command">allow-update</strong></span> or <span><strong class="command">update-policy</strong></span>
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder clause in the <span><strong class="command">zone</strong></span> statement. The
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <span><strong class="command">tkey-gssapi-credential</strong></span> and
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <span><strong class="command">tkey-domain</strong></span> clauses in the
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <span><strong class="command">options</strong></span> statement enable the
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder server to negotiate keys that can be matched against those
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder in <span><strong class="command">update-policy</strong></span> or
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <span><strong class="command">allow-update</strong></span>.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder Updating of secure zones (zones using DNSSEC) follows
40b9c4f89adc2853a26acdbd11ed760d4ba96cf0Christian Maeder RFC 3007: RRSIG and NSEC records affected by updates are automatically
7cc20c86207c658cba9369fe0afa5204868ab90fChristian Maeder regenerated by the server using an online zone key.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder Update authorization is based
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder on transaction signatures and an explicit server policy.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<div class="titlepage"><div><div><h3 class="title">
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder<a name="journal"></a>The journal file</h3></div></div></div>
7cc20c86207c658cba9369fe0afa5204868ab90fChristian Maeder All changes made to a zone using dynamic update are stored
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder in the zone's journal file. This file is automatically created
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder by the server when the first dynamic update takes place.
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder The name of the journal file is formed by appending the extension
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder <code class="filename">.jnl</code> to the name of the
fb39798e8f7ee0648ee723a1dd7698a1efd0ffa0Christian Maeder corresponding zone
fb39798e8f7ee0648ee723a1dd7698a1efd0ffa0Christian Maeder file unless specifically overridden. The journal file is in a
<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>,<span class="emphasis"><em></em></span> <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="id2577307"></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.