Bv9ARM.ch04.html revision d6fa26d0adaec6c910115be34fe7a5a5f402c14f
59663800d2ec04777dae2791dd92aa563faf94c8Evan Hunt<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User - Copyright (C) 2000-2015 Internet Systems Consortium, Inc. ("ISC")
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User - This Source Code Form is subject to the terms of the Mozilla Public
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User - License, v. 2.0. If a copy of the MPL was not distributed with this
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User - file, You can obtain one at http://mozilla.org/MPL/2.0/.
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User<title>Chapter�4.�Advanced DNS Features</title>
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<link rel="prev" href="Bv9ARM.ch03.html" title="Chapter�3.�Name Server Configuration">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<link rel="next" href="Bv9ARM.ch05.html" title="Chapter�5.�The BIND 9 Lightweight Resolver">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<table width="100%" summary="Navigation header">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<tr><th colspan="3" align="center">Chapter�4.�Advanced DNS Features</th></tr>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a accesskey="p" href="Bv9ARM.ch03.html">Prev</a>�</td>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<td width="20%" align="right">�<a accesskey="n" href="Bv9ARM.ch05.html">Next</a>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="titlepage"><div><div><h1 class="title">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a name="Bv9ARM.ch04"></a>Chapter�4.�Advanced DNS Features</h1></div></div></div>
4100890e5aacfb7e5e80f651b26fa057d542560bEvan Hunt<dt><span class="section"><a href="Bv9ARM.ch04.html#notify">Notify</a></span></dt>
4100890e5aacfb7e5e80f651b26fa057d542560bEvan Hunt<dt><span class="section"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
4100890e5aacfb7e5e80f651b26fa057d542560bEvan Hunt<dd><dl><dt><span class="section"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#split_dns">Split DNS</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dd><dl><dt><span class="section"><a href="Bv9ARM.ch04.html#split_dns_sample">Example split DNS setup</a></span></dt></dl></dd>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.6.5">Generating a Shared Key</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.6.6">Loading A New Key</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.6.7">Instructing the Server to Use a Key</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.6.8">TSIG-Based Access Control</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.6.9">Errors</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#tkey">TKEY</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#sig0">SIG(0)</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#dnssec_keys">Generating Keys</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#dnssec_signing">Signing the Zone</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#dnssec_config">Configuring Servers</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.3">Converting from insecure to secure</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.8">Dynamic DNS update method</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.16">Fully automatic zone signing</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.25">Private-type records</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.32">DNSKEY rollovers</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.34">Dynamic DNS update method</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.39">Automatic key rollovers</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.41">NSEC3PARAM rollovers via UPDATE</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.43">Converting from NSEC to NSEC3</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.45">Converting from NSEC3 to NSEC</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.47">Converting from secure to insecure</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.51">Periodic re-signing</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.10.53">NSEC3 and OPTOUT</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.11.3">Validating Resolver</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.11.4">Authoritative Server</a></span></dt>
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt<dt><span class="section"><a href="Bv9ARM.ch04.html#pkcs11">PKCS#11 (Cryptoki) support</a></span></dt>
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.12.6">Prerequisites</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.12.7">Native PKCS#11</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.12.8">OpenSSL-based PKCS#11</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.12.9">PKCS#11 Tools</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.12.10">Using the HSM</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.12.11">Specifying the engine on the command line</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.12.12">Running named with automatic zone re-signing</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#dlz-info">DLZ (Dynamically Loadable Zones)</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.13.6">Configuring DLZ</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.13.7">Sample DLZ Driver</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#dyndb-info">DynDB (Dynamic Database)</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.14.5">Configuring DynDB</a></span></dt>
2baa66562a2f119edffded961d3391f87ff98ec0Ondřej Surý<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.14.6">Sample DynDB Module</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#catz-info">Catalog Zones</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.15.4">Principle of Operation</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.15.5">Configuring Catalog Zones</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.15.6">Catalog Zone format</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#ipv6">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.16.6">Address Lookups Using AAAA Records</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<dt><span class="section"><a href="Bv9ARM.ch04.html#id-1.5.16.7">Address to Name Lookups Using Nibble Format</a></span></dt>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="titlepage"><div><div><h2 class="title" style="clear: both">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a name="notify"></a>Notify</h2></div></div></div>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <acronym class="acronym">DNS</acronym> NOTIFY is a mechanism that allows master
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User servers to notify their slave servers of changes to a zone's data. In
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User response to a <span class="command"><strong>NOTIFY</strong></span> from a master server, the
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User slave will check to see that its version of the zone is the
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User current version and, if not, initiate a zone transfer.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User For more information about <acronym class="acronym">DNS</acronym>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="command"><strong>NOTIFY</strong></span>, see the description of the
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="command"><strong>notify</strong></span> option in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a> and
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User the description of the zone option <span class="command"><strong>also-notify</strong></span> in
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>. The <span class="command"><strong>NOTIFY</strong></span>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User protocol is specified in RFC 1996.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User As a slave zone can also be a master to other slaves, <span class="command"><strong>named</strong></span>,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User by default, sends <span class="command"><strong>NOTIFY</strong></span> messages for every zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User it loads. Specifying <span class="command"><strong>notify master-only;</strong></span> will
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User cause <span class="command"><strong>named</strong></span> to only send <span class="command"><strong>NOTIFY</strong></span> for master
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User zones that it loads.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="titlepage"><div><div><h2 class="title" style="clear: both">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a name="dynamic_update"></a>Dynamic Update</h2></div></div></div>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Dynamic Update is a method for adding, replacing or deleting
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User records in a master server by sending it a special form of DNS
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User messages. The format and meaning of these messages is specified
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Dynamic update is enabled by including an
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="command"><strong>allow-update</strong></span> or an <span class="command"><strong>update-policy</strong></span>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User clause in the <span class="command"><strong>zone</strong></span> statement.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User If the zone's <span class="command"><strong>update-policy</strong></span> is set to
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <strong class="userinput"><code>local</code></strong>, updates to the zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User will be permitted for the key <code class="varname">local-ddns</code>,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User which will be generated by <span class="command"><strong>named</strong></span> at startup.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User See <a class="xref" href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a> for more details.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Dynamic updates using Kerberos signed requests can be made
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User using the TKEY/GSS protocol by setting either the
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="command"><strong>tkey-gssapi-keytab</strong></span> option, or alternatively
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User by setting both the <span class="command"><strong>tkey-gssapi-credential</strong></span>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User and <span class="command"><strong>tkey-domain</strong></span> options. Once enabled,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Kerberos signed requests will be matched against the update
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User policies for the zone, using the Kerberos principal as the
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User signer for the request.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Updating of secure zones (zones using DNSSEC) follows RFC
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User 3007: RRSIG, NSEC and NSEC3 records affected by updates are
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User automatically regenerated by the server using an online
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User zone key. Update authorization is based on transaction
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User signatures and an explicit server policy.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="titlepage"><div><div><h3 class="title">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a name="journal"></a>The journal file</h3></div></div></div>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User All changes made to a zone using dynamic update are stored
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User in the zone's journal file. This file is automatically created
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User by the server when the first dynamic update takes place.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User The name of the journal file is formed by appending the extension
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <code class="filename">.jnl</code> to the name of the
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User corresponding zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User file unless specifically overridden. The journal file is in a
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User binary format and should not be edited manually.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User The server will also occasionally write ("dump")
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User the complete contents of the updated zone to its zone file.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User This is not done immediately after
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User each dynamic update, because that would be too slow when a large
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User zone is updated frequently. Instead, the dump is delayed by
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User up to 15 minutes, allowing additional updates to take place.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User During the dump process, transient files will be created
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User with the extensions <code class="filename">.jnw</code> and
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <code class="filename">.jbk</code>; under ordinary circumstances, these
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User will be removed when the dump is complete, and can be safely
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User When a server is restarted after a shutdown or crash, it will replay
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User the journal file to incorporate into the zone any updates that
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User place after the last zone dump.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Changes that result from incoming incremental zone transfers are
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User journalled in a similar way.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User The zone files of dynamic zones cannot normally be edited by
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User hand because they are not guaranteed to contain the most recent
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User dynamic changes — those are only in the journal file.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User The only way to ensure that the zone file of a dynamic zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User is up to date is to run <span class="command"><strong>rndc stop</strong></span>.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User If you have to make changes to a dynamic zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User manually, the following procedure will work:
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Disable dynamic updates to the zone using
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="command"><strong>rndc freeze <em class="replaceable"><code>zone</code></em></strong></span>.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User This will update the zone's master file with the changes
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User stored in its <code class="filename">.jnl</code> file.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Edit the zone file. Run
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="command"><strong>rndc thaw <em class="replaceable"><code>zone</code></em></strong></span>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to reload the changed zone and re-enable dynamic updates.
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt <span class="command"><strong>rndc sync <em class="replaceable"><code>zone</code></em></strong></span>
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt will update the zone file with changes from the journal file
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt without stopping dynamic updates; this may be useful for viewing
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt the current zone state. To remove the <code class="filename">.jnl</code>
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt file after updating the zone file, use
3440cf9c60cd5d35634e7f274fd3eccbba2173a5Evan Hunt <span class="command"><strong>rndc sync -clean</strong></span>.
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt<div class="titlepage"><div><div><h2 class="title" style="clear: both">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a name="incremental_zone_transfers"></a>Incremental Zone Transfers (IXFR)</h2></div></div></div>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User The incremental zone transfer (IXFR) protocol is a way for
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User slave servers to transfer only changed data, instead of having to
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User transfer the entire zone. The IXFR protocol is specified in RFC
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User 1995. See <a class="xref" href="Bv9ARM.ch11.html#proposed_standards" title="Proposed Standards">Proposed Standards</a>.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User When acting as a master, <acronym class="acronym">BIND</acronym> 9
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User supports IXFR for those zones
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User where the necessary change history information is available. These
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User include master zones maintained by dynamic update and slave zones
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User whose data was obtained by IXFR. For manually maintained master
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User zones, and for slave zones obtained by performing a full zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User transfer (AXFR), IXFR is supported only if the option
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="command"><strong>ixfr-from-differences</strong></span> is set
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to <strong class="userinput"><code>yes</code></strong>.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User When acting as a slave, <acronym class="acronym">BIND</acronym> 9 will
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User attempt to use IXFR unless
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User it is explicitly disabled. For more information about disabling
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User IXFR, see the description of the <span class="command"><strong>request-ixfr</strong></span> clause
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User of the <span class="command"><strong>server</strong></span> statement.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="titlepage"><div><div><h2 class="title" style="clear: both">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a name="split_dns"></a>Split DNS</h2></div></div></div>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Setting up different views, or visibility, of the DNS space to
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User internal and external resolvers is usually referred to as a
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="emphasis"><em>Split DNS</em></span> setup. There are several
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User reasons an organization would want to set up its DNS this way.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User One common reason for setting up a DNS system this way is
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to hide "internal" DNS information from "external" clients on the
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Internet. There is some debate as to whether or not this is actually
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Internal DNS information leaks out in many ways (via email headers,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User for example) and most savvy "attackers" can find the information
06dca180fb438fa26dc4198398753f50d161ffabTinderbox User they need using other means.
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User However, since listing addresses of internal servers that
06dca180fb438fa26dc4198398753f50d161ffabTinderbox User external clients cannot possibly reach can result in
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User connection delays and other annoyances, an organization may
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User choose to use a Split DNS to present a consistent view of itself
350e5eecadfc5ee72b11b2cc46828c9a0bcd717cTinderbox User to the outside world.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Another common reason for setting up a Split DNS system is
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to allow internal networks that are behind filters or in RFC 1918
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User space (reserved IP space, as documented in RFC 1918) to resolve DNS
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User on the Internet. Split DNS can also be used to allow mail from outside
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User back in to the internal network.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="titlepage"><div><div><h3 class="title">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<a name="split_dns_sample"></a>Example split DNS setup</h3></div></div></div>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Let's say a company named <span class="emphasis"><em>Example, Inc.</em></span>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User has several corporate sites that have an internal network with
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Internet Protocol (IP) space and an external demilitarized zone (DMZ),
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User or "outside" section of a network, that is available to the public.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <span class="emphasis"><em>Example, Inc.</em></span> wants its internal clients
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to be able to resolve external hostnames and to exchange mail with
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User people on the outside. The company also wants its internal resolvers
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to have access to certain internal-only zones that are not available
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User at all outside of the internal network.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User In order to accomplish this, the company will set up two sets
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User of name servers. One set will be on the inside network (in the
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt IP space) and the other set will be on bastion hosts, which are
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt hosts that can talk to both sides of its network, in the DMZ.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User The internal servers will be configured to forward all queries,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User except queries for <code class="filename">site1.internal</code>, <code class="filename">site2.internal</code>, <code class="filename">site1.example.com</code>,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User and <code class="filename">site2.example.com</code>, to the servers
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User DMZ. These internal servers will have complete sets of information
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User for <code class="filename">site1.example.com</code>, <code class="filename">site2.example.com</code>, <code class="filename">site1.internal</code>,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User and <code class="filename">site2.internal</code>.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User To protect the <code class="filename">site1.internal</code> and <code class="filename">site2.internal</code> domains,
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User the internal name servers must be configured to disallow all queries
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to these domains from any external hosts, including the bastion
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User The external servers, which are on the bastion hosts, will
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User be configured to serve the "public" version of the <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User This could include things such as the host records for public servers
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt (<code class="filename">www.example.com</code> and <code class="filename">ftp.example.com</code>),
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt and mail exchange (MX) records (<code class="filename">a.mx.example.com</code> and <code class="filename">b.mx.example.com</code>).
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User In addition, the public <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt should have special MX records that contain wildcard (`*') records
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt pointing to the bastion hosts. This is needed because external mail
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt servers do not have any other way of looking up how to deliver mail
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt to those internal hosts. With the wildcard records, the mail will
e609b6b32bc8455692e1497a4568c68d7bfb9f36Evan Hunt be delivered to the bastion host, which can then forward it on to
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User internal hosts.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Here's an example of a wildcard MX record:
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<pre class="programlisting">* IN MX 10 external1.example.com.</pre>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Now that they accept mail on behalf of anything in the internal
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User network, the bastion hosts will need to know how to deliver mail
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User to internal hosts. In order for this to work properly, the resolvers
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User the bastion hosts will need to be configured to point to the internal
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User name servers for DNS resolution.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Queries for internal hostnames will be answered by the internal
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User servers, and queries for external hostnames will be forwarded back
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User out to the DNS servers on the bastion hosts.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User In order for all this to work properly, internal clients will
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User need to be configured to query <span class="emphasis"><em>only</em></span> the internal
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User name servers for DNS queries. This could also be enforced via
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User filtering on the network.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User If everything has been set properly, <span class="emphasis"><em>Example, Inc.</em></span>'s
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User internal clients will now be able to:
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Look up any hostnames in the <code class="literal">site1</code>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <code class="literal">site2.example.com</code> zones.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Look up any hostnames in the <code class="literal">site1.internal</code> and
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <code class="literal">site2.internal</code> domains.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<li class="listitem">Look up any hostnames on the Internet.</li>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<li class="listitem">Exchange mail with both internal and external people.</li>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Hosts on the Internet will be able to:
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Look up any hostnames in the <code class="literal">site1</code>
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <code class="literal">site2.example.com</code> zones.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Exchange mail with anyone in the <code class="literal">site1</code> and
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <code class="literal">site2.example.com</code> zones.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Here is an example configuration for the setup we just
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User described above. Note that this is only configuration information;
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User for information on how to configure your zone files, see <a class="xref" href="Bv9ARM.ch03.html#sample_configuration" title="Sample Configurations">the section called “Sample Configurations”</a>.
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User Internal DNS server config:
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox Useracl internals { 172.16.72.0/24; 192.168.1.0/24; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox Useracl externals { <code class="varname">bastion-ips-go-here</code>; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User forward only;
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User // forward to external servers
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User <code class="varname">bastion-ips-go-here</code>;
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User // sample allow-transfer (no one)
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-transfer { none; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User // restrict query access
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-query { internals; externals; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User // restrict recursion
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-recursion { internals; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User// sample master zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User // do normal iterative resolution (do not forward)
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User forwarders { };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-query { internals; externals; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-transfer { internals; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User// sample slave zone
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User masters { 172.16.72.3; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User forwarders { };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-query { internals; externals; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-transfer { internals; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User forwarders { };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-query { internals; };
0fc4b96b2b7f8cb79c3a1f41c53534acacbf6451Tinderbox User allow-transfer { internals; }
zone "site2.internal" {
zone "site1.example.com" {
zone "site2.example.com" {
certain server functions (e.g., recursive queries) to authorized
<a class="xref" href="man.nsupdate.html" title="nsupdate"><span class="refentrytitle"><span class="application">nsupdate</span></span>(1)</a> supports TSIG via the
<a class="xref" href="man.dig.html" title="dig"><span class="refentrytitle">dig</span>(1)</a> supports TSIG via the
$ tsig-keygen host1-host2. > host1-host2.key
<span class="command"><strong>named</strong></span>. See <a class="xref" href="man.ddns-confgen.html" title="ddns-confgen"><span class="refentrytitle"><span class="application">ddns-confgen</span></span>(8)</a>
cause <span class="emphasis"><em>all</em></span> requests from <span class="emphasis"><em>host1</em></span>
Requests sent by <span class="emphasis"><em>host2</em></span> to <span class="emphasis"><em>host1</em></span>
<span class="command"><strong>server</strong></span> directive were in <span class="emphasis"><em>host2</em></span>'s
such as <span class="command"><strong>allow-query</strong></span>, <span class="command"><strong>allow-transfer</strong></span>
See <a class="xref" 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 class="xref" href="man.dnssec-keygen.html" title="dnssec-keygen"><span class="refentrytitle"><span class="application">dnssec-keygen</span></span>(8)</a> and
<a class="xref" href="man.dnssec-settime.html" title="dnssec-settime"><span class="refentrytitle"><span class="application">dnssec-settime</span></span>(8)</a> for more information.)
<span class="command"><strong>rndc sign</strong></span> or <span class="command"><strong>rndc loadkeys</strong></span>
<span class="command"><strong>dnssec-keygen</strong></span> or <span class="command"><strong>dnssec-settime</strong></span>),
<p>In any secure zone which supports dynamic updates, <span class="command"><strong>named</strong></span>
<a class="xref" href="Bv9ARM.ch06.html#managed-keys" title="managed-keys Statement Definition and Usage">the section called “<span class="command"><strong>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>
and the <span class="command"><strong>dnssec-*</strong></span> and <span class="command"><strong>pkcs11-*</strong></span>
<span class="command"><strong>dnssec-*</strong></span> tools, or the <code class="option">-m</code> in
$ <strong class="userinput"><code> configure --with-crypto-backend=openssl --prefix=/opt/pkcs11/usr --enable-gost </code></strong>
$ <strong class="userinput"><code> /opt/pkcs11/usr/bin/softhsm-util --init-token 0 --slot 0 --label softhsmv2 </code></strong>
$ <strong class="userinput"><code>wget <a class="link" href="" target="_top">http://www.openssl.org/source/openssl-0.9.8zc.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 class="command"><strong>make test</strong></span>". If "<span class="command"><strong>make
$ <strong class="userinput"><code> echo "0:/opt/pkcs11/softhsm.db" > $SOFTHSM_CONF </code></strong>
$ <strong class="userinput"><code> /opt/pkcs11/usr/bin/softhsm --init-token 0 --slot 0 --label softhsm </code></strong>
<span class="quote">“<span class="quote"><code class="literal">[ available ]</code></span>”</span>.
<a name="id-1.5.12.8.18"></a>Configuring BIND 9 for Linux with the AEP Keyper</h4></div></div></div>
<a name="id-1.5.12.8.19"></a>Configuring BIND 9 for Solaris with the SCA 6000</h4></div></div></div>
$ <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>
"sample-ksk" as the key-signing key for "example.net":
$ <strong class="userinput"><code>dnssec-keyfromlabel -l sample-ksk -f KSK example.net</code></strong>
<a class="xref" href="man.dnssec-keyfromlabel.html" title="dnssec-keyfromlabel"><span class="refentrytitle"><span class="application">dnssec-keyfromlabel</span></span>(8)</a> for details.)
then <span class="command"><strong>named</strong></span> must have access to the HSM PIN. In OpenSSL-based PKCS#11,
this is accomplished by placing the PIN into the openssl.cnf file
The location of the openssl.cnf file can be overridden by
Historically, DLZ drivers had to be statically linked with the <span class="command"><strong>named</strong></span>
"dlopen" driver is linked into <span class="command"><strong>named</strong></span> by default, so configure options
When the DLZ module provides data to <span class="command"><strong>named</strong></span>, it does so in text format.
The response is converted to DNS wire format by <span class="command"><strong>named</strong></span>. This
dynamically-linkable DLZ module--i.e., one which can be
"example.nil", which can answer queries and AXFR requests, and
example.nil. 1800 IN A 10.53.0.1
e.g., by providing different address records for a particular name
(see <a class="xref" href="Bv9ARM.ch04.html#dlz-info" title="DLZ (Dynamically Loadable Zones)">the section called “DLZ (Dynamically Loadable Zones)”</a>), allows zone data to be
<a class="link" href="https://fedorahosted.org/bind-dyndb-ldap/" target="_top">https://fedorahosted.org/bind-dyndb-ldap/</a>.
dyndb example "driver.so" {
"example.nil", which can answer queries and AXFR requests, and
example.nil. 86400 IN A 127.0.0.1
whether the updated RR is an address (i.e., type A or AAAA) and if
zone "catalog.example"
means <span class="command"><strong>rndc addzone</strong></span> and <span class="command"><strong>rndc delzone</strong></span>
catalog.example. IN SOA . . 2016022901 900 600 86400 1
catalog.example. IN NS nsexample.
version.catalog.example. IN TXT "1"
Global options are set at the apex of the catalog zone, e.g.:
masters.catalog.example. IN AAAA 2001:db8::1
masters.catalog.example. IN A 192.0.2.1
label.masters.catalog.example. IN A 192.0.2.2
label.masters.catalog.example. IN TXT "tsig_key_name"
label.masters.5960775ba382e7a4e09263fc06e7c00569b6a05c.zones.catalog.example. IN AAAA 2001:db8::2
see <a class="xref" href="Bv9ARM.ch11.html#ipv6addresses" title="IPv6 addresses (AAAA)">the section called “IPv6 addresses (AAAA)”</a>.
$ORIGIN example.com.