Bv9ARM.ch04.html revision be75fd4f49dc3e96e43fdcd6bacf8d3b8749a0e0
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence - Copyright (C) 2000-2003 Internet Software Consortium.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - Permission to use, copy, modify, and/or distribute this software for any
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - purpose with or without fee is hereby granted, provided that the above
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson - copyright notice and this permission notice appear in all copies.
adbc1771946365942cc149f6130c36f3aca44fb8Automatic Updater - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson - PERFORMANCE OF THIS SOFTWARE.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<!-- $Id: Bv9ARM.ch04.html,v 1.145 2011/10/27 01:14:48 tbox Exp $ -->
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<title>Chapter�4.�Advanced DNS Features</title>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<link rel="prev" href="Bv9ARM.ch03.html" title="Chapter�3.�Name Server Configuration">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<link rel="next" href="Bv9ARM.ch05.html" title="Chapter�5.�The BIND 9 Lightweight Resolver">
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<table width="100%" summary="Navigation header">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<tr><th colspan="3" align="center">Chapter�4.�Advanced DNS Features</th></tr>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<a accesskey="p" href="Bv9ARM.ch03.html">Prev</a>�</td>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch05.html">Next</a>
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt<div class="titlepage"><div><div><h2 class="title">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<a name="Bv9ARM.ch04"></a>Chapter�4.�Advanced DNS Features</h2></div></div></div>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect1"><a href="Bv9ARM.ch04.html#notify">Notify</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570918">Split DNS</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570936">Example split DNS setup</a></span></dt></dl></dd>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571506">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571579">Copying the Shared Secret to Both Machines</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571590">Informing the Servers of the Key's Existence</a></span></dt>
6d12fdf96621801e80f3f4c2a8a569fe48766a20David Lawrence<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571694">Instructing the Server to Use the Key</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571752">TSIG Key Based Access Control</a></span></dt>
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571801">Errors</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571815">TKEY</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571864">SIG(0)</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572069">Generating Keys</a></span></dt>
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572148">Signing the Zone</a></span></dt>
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572229">Configuring Servers</a></span></dt>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563415">Converting from insecure to secure</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563452">Dynamic DNS update method</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563625">Fully automatic zone signing</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2580113">Private-type records</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2580218">DNSKEY rollovers</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2580231">Dynamic DNS update method</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2580264">Automatic key rollovers</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2607870">NSEC3PARAM rollovers via UPDATE</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2607880">Converting from NSEC to NSEC3</a></span></dt>
70c7f4fb4fc589b04a68d67479d34eecd99c1991Evan Hunt<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2607890">Converting from NSEC3 to NSEC</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2607902">Converting from secure to insecure</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608418">Periodic re-signing</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608427">NSEC3 and OPTOUT</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect1"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608459">Validating Resolver</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563904">Authoritative Server</a></span></dt>
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉<dt><span class="sect1"><a href="Bv9ARM.ch04.html#pkcs11">PKCS #11 (Cryptoki) support</a></span></dt>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610644">Prerequisites</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608730">Building BIND 9 with PKCS#11</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609030">PKCS #11 Tools</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609061">Using the HSM</a></span></dt>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611512">Specifying the engine on the command line</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2611558">Running named with automatic zone re-signing</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572517">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572715">Address Lookups Using AAAA Records</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572737">Address to Name Lookups Using Nibble Format</a></span></dt>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<div class="titlepage"><div><div><h2 class="title" style="clear: both">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<a name="notify"></a>Notify</h2></div></div></div>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <acronym class="acronym">DNS</acronym> NOTIFY is a mechanism that allows master
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein servers to notify their slave servers of changes to a zone's data. In
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson response to a <span><strong class="command">NOTIFY</strong></span> from a master server, the
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein slave will check to see that its version of the zone is the
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson current version and, if not, initiate a zone transfer.
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein For more information about <acronym class="acronym">DNS</acronym>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <span><strong class="command">NOTIFY</strong></span>, see the description of the
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <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
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson the description of the zone option <span><strong class="command">also-notify</strong></span> in
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <a href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>. The <span><strong class="command">NOTIFY</strong></span>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein protocol is specified in RFC 1996.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson As a slave zone can also be a master to other slaves, <span><strong class="command">named</strong></span>,
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein by default, sends <span><strong class="command">NOTIFY</strong></span> messages for every zone
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson it loads. Specifying <span><strong class="command">notify master-only;</strong></span> will
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson cause <span><strong class="command">named</strong></span> to only send <span><strong class="command">NOTIFY</strong></span> for master
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson zones that it loads.
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<div class="titlepage"><div><div><h2 class="title" style="clear: both">
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<a name="dynamic_update"></a>Dynamic Update</h2></div></div></div>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson Dynamic Update is a method for adding, replacing or deleting
97404c1965ae83ecbfe9cf7b06f67dce5e28c588Andreas Gustafsson records in a master server by sending it a special form of DNS
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein messages. The format and meaning of these messages is specified
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson Dynamic update is enabled by including an
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein <span><strong class="command">allow-update</strong></span> or an <span><strong class="command">update-policy</strong></span>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson clause in the <span><strong class="command">zone</strong></span> statement.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson If the zone's <span><strong class="command">update-policy</strong></span> is set to
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence <strong class="userinput"><code>local</code></strong>, updates to the zone
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson will be permitted for the key <code class="varname">local-ddns</code>,
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson which will be generated by <span><strong class="command">named</strong></span> at startup.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson See <a href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a> for more details.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson Dynamic updates using Kerberos signed requests can be made
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein using the TKEY/GSS protocol by setting either the
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <span><strong class="command">tkey-gssapi-keytab</strong></span> option, or alternatively
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson by setting both the <span><strong class="command">tkey-gssapi-credential</strong></span>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson and <span><strong class="command">tkey-domain</strong></span> options. Once enabled,
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein Kerberos signed requests will be matched against the update
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson policies for the zone, using the Kerberos principal as the
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson signer for the request.
4e1d3e67cdc76609bad5f0310ac48de10b442b9fMark Andrews Updating of secure zones (zones using DNSSEC) follows RFC
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein 3007: RRSIG, NSEC and NSEC3 records affected by updates are
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson automatically regenerated by the server using an online
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson zone key. Update authorization is based on transaction
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson signatures and an explicit server policy.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson<div class="titlepage"><div><div><h3 class="title">
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<a name="journal"></a>The journal file</h3></div></div></div>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein All changes made to a zone using dynamic update are stored
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson in the zone's journal file. This file is automatically created
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson by the server when the first dynamic update takes place.
9b0e18da3d5c2290f90b285d122d368173f17c63Andreas Gustafsson The name of the journal file is formed by appending the extension
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <code class="filename">.jnl</code> to the name of the
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein corresponding zone
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson file unless specifically overridden. The journal file is in a
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson binary format and should not be edited manually.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson The server will also occasionally write ("dump")
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein the complete contents of the updated zone to its zone file.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson This is not done immediately after
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson each dynamic update, because that would be too slow when a large
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence zone is updated frequently. Instead, the dump is delayed by
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson up to 15 minutes, allowing additional updates to take place.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson During the dump process, transient files will be created
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson with the extensions <code class="filename">.jnw</code> and
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <code class="filename">.jbk</code>; under ordinary circumstances, these
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson will be removed when the dump is complete, and can be safely
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson When a server is restarted after a shutdown or crash, it will replay
9b0e18da3d5c2290f90b285d122d368173f17c63Andreas Gustafsson the journal file to incorporate into the zone any updates that
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein place after the last zone dump.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson Changes that result from incoming incremental zone transfers are
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson journalled in a similar way.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson The zone files of dynamic zones cannot normally be edited by
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson hand because they are not guaranteed to contain the most recent
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson dynamic changes — those are only in the journal file.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence The only way to ensure that the zone file of a dynamic zone
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson is up to date is to run <span><strong class="command">rndc stop</strong></span>.
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein If you have to make changes to a dynamic zone
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson manually, the following procedure will work: Disable dynamic updates
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson to the zone using
9b0e18da3d5c2290f90b285d122d368173f17c63Andreas Gustafsson <span><strong class="command">rndc freeze <em class="replaceable"><code>zone</code></em></strong></span>.
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson This will also remove the zone's <code class="filename">.jnl</code> file
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein and update the master file. Edit the zone file. Run
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson <span><strong class="command">rndc thaw <em class="replaceable"><code>zone</code></em></strong></span>
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson to reload the changed zone and re-enable dynamic updates.
8f79820c6930ee5ef6b4a54f36d2559400bdf47dAndreas Gustafsson<div class="titlepage"><div><div><h2 class="title" style="clear: both">
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein<a name="incremental_zone_transfers"></a>Incremental Zone Transfers (IXFR)</h2></div></div></div>
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence The incremental zone transfer (IXFR) protocol is a way for
8f79820c6930ee5ef6b4a54f36d2559400bdf47dAndreas Gustafsson slave servers to transfer only changed data, instead of having to
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 transfer the entire zone. The IXFR protocol is specified in RFC
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 1995. See <a href="Bv9ARM.ch09.html#proposed_standards">Proposed Standards</a>.
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 When acting as a master, <acronym class="acronym">BIND</acronym> 9
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 supports IXFR for those zones
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 where the necessary change history information is available. These
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 include master zones maintained by dynamic update and slave zones
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 whose data was obtained by IXFR. For manually maintained master
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 zones, and for slave zones obtained by performing a full zone
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 transfer (AXFR), IXFR is supported only if the option
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 <span><strong class="command">ixfr-from-differences</strong></span> is set
3a34b87c878990c6303358efd22265c2c5980c65Mark Andrews to <strong class="userinput"><code>yes</code></strong>.
50a3152b7088546418c8edc0c89eeaf48560b035Andreas Gustafsson When acting as a slave, <acronym class="acronym">BIND</acronym> 9 will
3a34b87c878990c6303358efd22265c2c5980c65Mark Andrews attempt to use IXFR unless
3a34b87c878990c6303358efd22265c2c5980c65Mark Andrews it is explicitly disabled. For more information about disabling
2a184ff86544cc67c36e2ce6bb3ddb5ac44684b8Evan Hunt IXFR, see the description of the <span><strong class="command">request-ixfr</strong></span> clause
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉 of the <span><strong class="command">server</strong></span> statement.
7781f25078c491a9650dec555bdc86cb0ed49861Tatuya JINMEI 神明達哉<div class="titlepage"><div><div><h2 class="title" style="clear: both">
c20ffa38dee7efa0dc01822d4bac5e41729b9b61Brian Wellington<a name="id2570918"></a>Split DNS</h2></div></div></div>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein Setting up different views, or visibility, of the DNS space to
c20ffa38dee7efa0dc01822d4bac5e41729b9b61Brian Wellington internal and external resolvers is usually referred to as a
c20ffa38dee7efa0dc01822d4bac5e41729b9b61Brian Wellington <span class="emphasis"><em>Split DNS</em></span> setup. There are several
c20ffa38dee7efa0dc01822d4bac5e41729b9b61Brian Wellington reasons an organization would want to set up its DNS this way.
c20ffa38dee7efa0dc01822d4bac5e41729b9b61Brian Wellington One common reason for setting up a DNS system this way is
c20ffa38dee7efa0dc01822d4bac5e41729b9b61Brian Wellington to hide "internal" DNS information from "external" clients on the
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt Internet. There is some debate as to whether or not this is actually
adbc1771946365942cc149f6130c36f3aca44fb8Automatic Updater Internal DNS information leaks out in many ways (via email headers,
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt for example) and most savvy "attackers" can find the information
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt they need using other means.
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt However, since listing addresses of internal servers that
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt external clients cannot possibly reach can result in
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt connection delays and other annoyances, an organization may
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt choose to use a Split DNS to present a consistent view of itself
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt to the outside world.
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt Another common reason for setting up a Split DNS system is
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt to allow internal networks that are behind filters or in RFC 1918
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt space (reserved IP space, as documented in RFC 1918) to resolve DNS
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt on the Internet. Split DNS can also be used to allow mail from outside
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt back in to the internal network.
6c8abf481df85a67c3f32f5f107b554d3ff5a3edMark Andrews<div class="titlepage"><div><div><h3 class="title">
01279934803dd45c007a58b61fe20c2852135b52Evan Hunt<a name="id2570936"></a>Example split DNS setup</h3></div></div></div>
6c8abf481df85a67c3f32f5f107b554d3ff5a3edMark Andrews Let's say a company named <span class="emphasis"><em>Example, Inc.</em></span>
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein has several corporate sites that have an internal network with
6c8abf481df85a67c3f32f5f107b554d3ff5a3edMark Andrews Internet Protocol (IP) space and an external demilitarized zone (DMZ),
6c8abf481df85a67c3f32f5f107b554d3ff5a3edMark Andrews or "outside" section of a network, that is available to the public.
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein <span class="emphasis"><em>Example, Inc.</em></span> wants its internal clients
6c8abf481df85a67c3f32f5f107b554d3ff5a3edMark Andrews to be able to resolve external hostnames and to exchange mail with
6c8abf481df85a67c3f32f5f107b554d3ff5a3edMark Andrews people on the outside. The company also wants its internal resolvers
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt to have access to certain internal-only zones that are not available
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt at all outside of the internal network.
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt In order to accomplish this, the company will set up two sets
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt of name servers. One set will be on the inside network (in the
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt IP space) and the other set will be on bastion hosts, which are
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt hosts that can talk to both sides of its network, in the DMZ.
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt The internal servers will be configured to forward all queries,
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt except queries for <code class="filename">site1.internal</code>, <code class="filename">site2.internal</code>, <code class="filename">site1.example.com</code>,
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt and <code class="filename">site2.example.com</code>, to the servers
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt DMZ. These internal servers will have complete sets of information
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt for <code class="filename">site1.example.com</code>, <code class="filename">site2.example.com</code>, <code class="filename">site1.internal</code>,
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt To protect the <code class="filename">site1.internal</code> and <code class="filename">site2.internal</code> domains,
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt the internal name servers must be configured to disallow all queries
dd2a0a6d2dec1c23787351e51b434a838dec5603Evan Hunt to these domains from any external hosts, including the bastion
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt The external servers, which are on the bastion hosts, will
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt be configured to serve the "public" version of the <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones.
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt This could include things such as the host records for public servers
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt (<code class="filename">www.example.com</code> and <code class="filename">ftp.example.com</code>),
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt and mail exchange (MX) records (<code class="filename">a.mx.example.com</code> and <code class="filename">b.mx.example.com</code>).
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson In addition, the public <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones
f951f076f3d321c52b824a866caff28ce4f8e06cAndreas Gustafsson should have special MX records that contain wildcard (`*') records
4be63b1fd8c18dbeca1648d6cf22fa14f057a469David Lawrence pointing to the bastion hosts. This is needed because external mail
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>
<strong class="userinput"><code>yes</code></strong> or <strong class="userinput"><code>auto</code></strong>.
example.com. 257 3 5 "AwEAAaxPMcR2x0HbQV4WeZB6oEDX+r0QM6
<a name="dnssec.dynamic.zones"></a>DNSSEC, Dynamic Zones, and Automatic Signing</h2></div></div></div>
zone example.net {
> update add example.net DNSKEY 256 3 7 AwEAAZn17pUF0KpbPA2c7Gz76Vb18v0teKT3EyAGfBfL8eQ8al35zz3Y I1m/SAQBxIqMfLtIwqWPdgthsu36azGQAX8=
> update add example.net DNSKEY 257 3 7 AwEAAd/7odU/64o2LGsifbLtQmtO8dFDtTAZXSX2+X3e/UNlq9IHq3Y0 XtC0Iuawl/qkaKVxXe2lo8Ct+dM6UehyCqk=
> update add example.net DNSKEY 256 3 7 AwEAAZn17pUF0KpbPA2c7Gz76Vb18v0teKT3EyAGfBfL8eQ8al35zz3Y I1m/SAQBxIqMfLtIwqWPdgthsu36azGQAX8=
> update add example.net DNSKEY 257 3 7 AwEAAd/7odU/64o2LGsifbLtQmtO8dFDtTAZXSX2+X3e/UNlq9IHq3Y0 XtC0Iuawl/qkaKVxXe2lo8Ct+dM6UehyCqk=
> update add example.net NSEC3PARAM 1 1 100 1234567890
(See <a href="man.dnssec-keygen.html" title="dnssec-keygen"><span class="refentrytitle"><span class="application">dnssec-keygen</span></span>(8)</a> and
<a href="man.dnssec-settime.html" title="dnssec-settime"><span class="refentrytitle"><span class="application">dnssec-settime</span></span>(8)</a> for more information.)
<span><strong class="command">rndc sign</strong></span> or <span><strong class="command">rndc loadkeys</strong></span>
<span><strong class="command">dnssec-keygen</strong></span> or <span><strong class="command">dnssec-settime</strong></span>),
and Usage">the section called “<span><strong class="command">managed-keys</strong></span> Statement Definition
$ <strong class="userinput"><code>dnssec-keygen -K keys -f KSK -P now -A now+2y example.net</code></strong>
$ <strong class="userinput"><code>wget <a href="" target="_top">http://www.openssl.org/source/openssl-0.9.8l.tar.gz</a></code></strong>
$ <strong class="userinput"><code>cp pkcs11.GCC4.0.2.so.4.05 /opt/pkcs11/usr/lib/libpkcs11.so</code></strong>
and "<span><strong class="command">make test</strong></span>". If "<span><strong class="command">make
$ <strong class="userinput"><code>export LD_LIBRARY_PATH=/opt/pkcs11/usr/lib:${LD_LIBRARY_PATH}</code></strong>
$ <strong class="userinput"><code>export KEYPER_LIBRARY_PATH=/opt/Keyper/PKCS11Provider</code></strong>
$ <strong class="userinput"><code>dnssec-keyfromlabel -l sample-ksk -f KSK example.net</code></strong>
by placing the PIN into the openssl.cnf file (in the above
<a name="id2572517"></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.