BIND 9.11.17 is a maintenance release.
+BIND 9.11.18
+
+BIND 9.11.18 is a maintenance release.
+
Building BIND
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
host \- DNS lookup utility
.SH "SYNOPSIS"
.HP \w'\fBhost\fR\ 'u
-\fBhost\fR [\fB\-aCdlnrsTUwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-v\fR] [\fB\-V\fR] {name} [server]
+\fBhost\fR [\fB\-aCdlnrsTUwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-v\fR] [\fB\-V\fR] {name} [server]
.SH "DESCRIPTION"
.PP
\fBhost\fR
/etc/resolv\&.conf\&.
.RE
.PP
+\-p \fIport\fR
+.RS 4
+Specify the port on the server to query\&. The default is 53\&.
+.RE
+.PP
\-r
.RS 4
Non\-recursive query: Setting this option clears the RD (recursion desired) bit in the query\&. This should mean that the name server receiving the query will not attempt to resolve
[<code class="option">-aCdlnrsTUwv</code>]
[<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
[<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>port</code></em></code>]
[<code class="option">-R <em class="replaceable"><code>number</code></em></code>]
[<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
[<code class="option">-W <em class="replaceable"><code>wait</code></em></code>]
in <code class="filename">/etc/resolv.conf</code>.
</p>
</dd>
+<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
+<dd>
+ <p>
+ Specify the port on the server to query. The default is 53.
+ </p>
+ </dd>
<dt><span class="term">-r</span></dt>
<dd>
<p>
'\" t
.\" Title: dnssec-dsfromkey
.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 2012-05-02
.\" Manual: BIND9
.\" Source: ISC
.SH "NAME"
dnssec-dsfromkey \- DNSSEC DS RR generation tool
.SH "SYNOPSIS"
-.HP 17
+.HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] {keyfile}
-.HP 17
+.HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-A\fR] {\fB\-f\ \fR\fB\fIfile\fR\fR} [dnsname]
-.HP 17
+.HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] {\-s} {dnsname}
-.HP 17
+.HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-h\fR | \fB\-V\fR]
.SH "DESCRIPTION"
.PP
reads a
keyset\-
file, as generated by
-\fBdnssec\-keygen\fR
-\fB\-C\fR\&.
+\fBdnssec\-keygen\fR\fB\-C\fR\&.
.SH "OPTIONS"
.PP
\-1
'\" t
.\" Title: dnssec-signzone
.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 2014-02-18
.\" Manual: BIND9
.\" Source: ISC
.SH "NAME"
dnssec-signzone \- DNSSEC zone signing tool
.SH "SYNOPSIS"
-.HP 16
+.HP \w'\fBdnssec\-signzone\fR\ 'u
\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-M\ \fR\fB\fImaxttl\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-P\fR] [\fB\-p\fR] [\fB\-Q\fR] [\fB\-R\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-T\ \fR\fB\fIttl\fR\fR] [\fB\-t\fR] [\fB\-u\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-X\ \fR\fB\fIextended\ end\-time\fR\fR] [\fB\-x\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...]
.SH "DESCRIPTION"
.PP
.\" Title: named.conf
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 2019-07-22
+.\" Date: 2020-03-12
.\" Manual: BIND9
.\" Source: ISC
.\" Language: English
.\"
-.TH "NAMED\&.CONF" "5" "2019\-07\-22" "ISC" "BIND9"
+.TH "NAMED\&.CONF" "5" "2020\-03\-12" "ISC" "BIND9"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named.conf">
<info>
- <date>2019-07-22</date>
+ <date>2020-03-12</date>
</info>
<refentryinfo>
<corpname>ISC</corpname>
'\" t
.\" Title: rndc
.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 2014-08-15
.\" Manual: BIND9
.\" Source: ISC
.SH "NAME"
rndc \- name server control utility
.SH "SYNOPSIS"
-.HP 5
+.HP \w'\fBrndc\fR\ 'u
\fBrndc\fR [\fB\-b\ \fR\fB\fIsource\-address\fR\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-k\ \fR\fB\fIkey\-file\fR\fR] [\fB\-s\ \fR\fB\fIserver\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-q\fR] [\fB\-r\fR] [\fB\-V\fR] [\fB\-y\ \fR\fB\fIkey_id\fR\fR] {command}
.SH "DESCRIPTION"
.PP
Enable or disable query logging\&. (For backward compatibility, this command can also be used without an argument to toggle query logging on and off\&.)
.sp
Query logging can also be enabled by explicitly directing the
-\fBqueries\fR
-\fBcategory\fR
+\fBqueries\fR\fBcategory\fR
to a
\fBchannel\fR
in the
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 1. Introduction</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
</dl></dd>
</dl>
</div>
-<p>
+
+ <p>
The Internet Domain Name System (<acronym class="acronym">DNS</acronym>)
consists of the syntax
to specify the names of entities in the Internet in a hierarchical
group of distributed
hierarchical databases.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="doc_scope"></a>Scope of Document</h2></div></div></div>
-<p>
+
+ <p>
The Berkeley Internet Name Domain
(<acronym class="acronym">BIND</acronym>) implements a
domain name server for a number of operating systems. This
<acronym class="acronym">BIND</acronym> version 9 software package for
system administrators.
</p>
-<p>This version of the manual corresponds to BIND version 9.11.</p>
-</div>
-<div class="section">
+ <p>This version of the manual corresponds to BIND version 9.11.</p>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="organization"></a>Organization of This Document</h2></div></div></div>
-<p>
+
+ <p>
In this document, <span class="emphasis"><em>Chapter 1</em></span> introduces
the basic <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym> concepts. <span class="emphasis"><em>Chapter 2</em></span>
describes resource requirements for running <acronym class="acronym">BIND</acronym> in various
and the Domain Name
System.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="conventions"></a>Conventions Used in This Document</h2></div></div></div>
-<p>
+
+ <p>
In this document, we use the following general typographic
conventions:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="3.000in" class="1">
<col width="2.625in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+
+ <p>
The following conventions are used in descriptions of the
<acronym class="acronym">BIND</acronym> configuration file:</p>
-<div class="informaltable"><table class="informaltable" border="1">
+<div class="informaltable">
+ <table border="1">
<colgroup>
<col width="3.000in" class="1">
<col width="2.625in" class="2">
</td>
</tr>
</tbody>
-</table></div>
+</table>
+ </div>
<p>
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dns_overview"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
-<p>
+
+ <p>
The purpose of this document is to explain the installation
and upkeep of the <acronym class="acronym">BIND</acronym> (Berkeley Internet
Name Domain) software package, and we
begin by reviewing the fundamentals of the Domain Name System
(<acronym class="acronym">DNS</acronym>) as they relate to <acronym class="acronym">BIND</acronym>.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="dns_fundamentals"></a>DNS Fundamentals</h3></div></div></div>
-<p>
+
+ <p>
The Domain Name System (DNS) is a hierarchical, distributed
database. It stores information for mapping Internet host names to
IP
addresses and vice versa, mail routing information, and other data
used by Internet applications.
</p>
-<p>
+
+ <p>
Clients look up information in the DNS by calling a
<span class="emphasis"><em>resolver</em></span> library, which sends queries to one or
more <span class="emphasis"><em>name servers</em></span> and interprets the responses.
contains a name server, <span class="command"><strong>named</strong></span>, and a
resolver library, <span class="command"><strong>liblwres</strong></span>.
</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="domain_names"></a>Domains and Domain Names</h3></div></div></div>
-<p>
+
+ <p>
The data stored in the DNS is identified by <span class="emphasis"><em>domain names</em></span> that are organized as a tree according to
organizational or administrative boundaries. Each node of the tree,
called a <span class="emphasis"><em>domain</em></span>, is given a label. The domain
separated by dots. A label need only be unique within its parent
domain.
</p>
-<p>
+
+ <p>
For example, a domain name for a host at the
company <span class="emphasis"><em>Example, Inc.</em></span> could be
<code class="literal">ourhost.example.com</code>,
<code class="literal">ourhost</code> is the
name of the host.
</p>
-<p>
+
+ <p>
For administrative purposes, the name space is partitioned into
areas called <span class="emphasis"><em>zones</em></span>, each starting at a node and
extending down to the leaf nodes or to nodes where other zones
The data for each zone is stored in a <span class="emphasis"><em>name server</em></span>, which answers queries about the zone using the
<span class="emphasis"><em>DNS protocol</em></span>.
</p>
-<p>
+
+ <p>
The data associated with each domain name is stored in the
form of <span class="emphasis"><em>resource records</em></span> (<acronym class="acronym">RR</acronym>s).
Some of the supported resource record types are described in
<a class="xref" href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them" title="Types of Resource Records and When to Use Them">the section called “Types of Resource Records and When to Use Them”</a>.
</p>
-<p>
+
+ <p>
For more detailed information about the design of the DNS and
the DNS protocol, please refer to the standards documents listed in
<a class="xref" href="Bv9ARM.ch11.html#rfcs" title="Request for Comments (RFCs)">the section called “Request for Comments (RFCs)”</a>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="zones"></a>Zones</h3></div></div></div>
-<p>
+
+ <p>
To properly operate a name server, it is important to understand
the difference between a <span class="emphasis"><em>zone</em></span>
and a <span class="emphasis"><em>domain</em></span>.
</p>
-<p>
+
+ <p>
As stated previously, a zone is a point of delegation in
the <acronym class="acronym">DNS</acronym> tree. A zone consists of
those contiguous parts of the domain
parent zone, which should be matched by equivalent NS records at
the root of the delegated zone.
</p>
-<p>
+
+ <p>
For instance, consider the <code class="literal">example.com</code>
domain which includes names
such as <code class="literal">host.aaa.example.com</code> and
gain a complete understanding of this difficult and subtle
topic.
</p>
-<p>
+
+ <p>
Though <acronym class="acronym">BIND</acronym> is called a "domain name
server",
it deals primarily in terms of zones. The master and slave
be a slave server for your <span class="emphasis"><em>domain</em></span>, you are
actually asking for slave service for some collection of zones.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="auth_servers"></a>Authoritative Name Servers</h3></div></div></div>
-<p>
+
+ <p>
Each zone is served by at least
one <span class="emphasis"><em>authoritative name server</em></span>,
which contains the complete data for the zone.
most zones have two or more authoritative servers, on
different networks.
</p>
-<p>
+
+ <p>
Responses from authoritative servers have the "authoritative
answer" (AA) bit set in the response packets. This makes them
easy to identify when debugging DNS configurations using tools like
<span class="command"><strong>dig</strong></span> (<a class="xref" href="Bv9ARM.ch03.html#diagnostic_tools" title="Diagnostic Tools">the section called “Diagnostic Tools”</a>).
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="primary_master"></a>The Primary Master</h4></div></div></div>
-<p>
+
+ <p>
The authoritative server where the master copy of the zone
data is maintained is called the
<span class="emphasis"><em>primary master</em></span> server, or simply the
<span class="emphasis"><em>zone file</em></span> or
<span class="emphasis"><em>master file</em></span>.
</p>
-<p>
+
+ <p>
In some cases, however, the master file may not be edited
by humans at all, but may instead be the result of
<span class="emphasis"><em>dynamic update</em></span> operations.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="slave_server"></a>Slave Servers</h4></div></div></div>
-<p>
+
+ <p>
The other authoritative servers, the <span class="emphasis"><em>slave</em></span>
servers (also known as <span class="emphasis"><em>secondary</em></span> servers)
load the zone contents from another server using a replication
slave. In other words, a slave server may itself act as a
master to a subordinate slave server.
</p>
-<p>
+ <p>
Periodically, the slave server must send a refresh query to
determine whether the zone contents have been updated. This
is done by sending a query for the zone's SOA record and
<span class="command"><strong>max-retry-time</strong></span>, and
<span class="command"><strong>min-retry-time</strong></span> options.
</p>
-<p>
+ <p>
If the zone data cannot be updated within the time specified
by the SOA EXPIRE option (up to a hard-coded maximum of
24 weeks) then the slave zone expires and will no longer
respond to queries.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="stealth_server"></a>Stealth Servers</h4></div></div></div>
-<p>
+
+ <p>
Usually all of the zone's authoritative servers are listed in
NS records in the parent zone. These NS records constitute
a <span class="emphasis"><em>delegation</em></span> of the zone from the parent.
list servers in the parent's delegation that are not present at
the zone's top level.
</p>
-<p>
+
+ <p>
A <span class="emphasis"><em>stealth server</em></span> is a server that is
authoritative for a zone but is not listed in that zone's NS
records. Stealth servers can be used for keeping a local copy of
are
inaccessible.
</p>
-<p>
+
+ <p>
A configuration where the primary master server itself is a
stealth server is often referred to as a "hidden primary"
configuration. One use for this configuration is when the primary
is behind a firewall and therefore unable to communicate directly
with the outside world.
</p>
-</div>
-</div>
-<div class="section">
+
+ </div>
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="cache_servers"></a>Caching Name Servers</h3></div></div></div>
-<p>
+
+
+
+ <p>
The resolver libraries provided by most operating systems are
<span class="emphasis"><em>stub resolvers</em></span>, meaning that they are not
capable of
is called a <span class="emphasis"><em>recursive</em></span> name server; it performs
<span class="emphasis"><em>recursive lookups</em></span> for local clients.
</p>
-<p>
+
+ <p>
To improve performance, recursive servers cache the results of
the lookups they perform. Since the processes of recursion and
caching are intimately connected, the terms
<span class="emphasis"><em>recursive server</em></span> and
<span class="emphasis"><em>caching server</em></span> are often used synonymously.
</p>
-<p>
+
+ <p>
The length of time for which a record may be retained in
the cache of a caching name server is controlled by the
Time To Live (TTL) field associated with each resource record.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="forwarder"></a>Forwarding</h4></div></div></div>
-<p>
+
+ <p>
Even a caching name server does not necessarily perform
the complete recursive lookup itself. Instead, it can
<span class="emphasis"><em>forward</em></span> some or all of the queries
server,
commonly referred to as a <span class="emphasis"><em>forwarder</em></span>.
</p>
-<p>
+
+ <p>
There may be one or more forwarders,
and they are queried in turn until the list is exhausted or an
answer
that can do it, and that server would query the Internet <acronym class="acronym">DNS</acronym> servers
on the internal server's behalf.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="multi_role"></a>Name Servers in Multiple Roles</h3></div></div></div>
-<p>
+
+ <p>
The <acronym class="acronym">BIND</acronym> name server can
simultaneously act as
a master for some zones, a slave for other zones, and as a caching
(recursive) server for a set of local clients.
</p>
-<p>
+
+ <p>
However, since the functions of authoritative name service
and caching/recursive name service are logically separate, it is
often advantageous to run them on separate server machines.
does not need to be reachable from the Internet at large and can
be placed inside a firewall.
</p>
-</div>
-</div>
-</div>
+
+ </div>
+ </div>
+
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 2. BIND Resource Requirements</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch01.html" title="Chapter 1. Introduction">
<dt><span class="section"><a href="Bv9ARM.ch02.html#supported_os">Supported Operating Systems</a></span></dt>
</dl>
</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="hw_req"></a>Hardware requirements</h2></div></div></div>
-<p>
+ <p>
<acronym class="acronym">DNS</acronym> hardware requirements have
traditionally been quite modest.
For many installations, servers that have been pensioned off from
active duty have performed admirably as <acronym class="acronym">DNS</acronym> servers.
</p>
-<p>
+ <p>
The DNSSEC features of <acronym class="acronym">BIND</acronym> 9
may prove to be quite
CPU intensive however, so organizations that make heavy use of these
full utilization of
multiprocessor systems for installations that need it.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="cpu_req"></a>CPU Requirements</h2></div></div></div>
-<p>
+ <p>
CPU requirements for <acronym class="acronym">BIND</acronym> 9 range from
i486-class machines
for serving of static zones without caching, to enterprise-class
machines if you intend to process many dynamic updates and DNSSEC
signed zones, serving many thousands of queries per second.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="mem_req"></a>Memory Requirements</h2></div></div></div>
-<p>
+ <p>
The memory of the server has to be large enough to fit the
cache and zones loaded off disk. The <span class="command"><strong>max-cache-size</strong></span>
option can be used to limit the amount of memory used by the cache,
a relatively stable size where entries are expiring from the cache as
fast as they are being inserted.
</p>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="intensive_env"></a>Name Server Intensive Environment Issues</h2></div></div></div>
-<p>
+
+ <p>
For name server intensive environments, there are two alternative
configurations that may be used. The first is where clients and
any second-level internal name servers query a main name server, which
this has the disadvantage of making many more external queries,
as none of the name servers share their cached data.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="supported_os"></a>Supported Operating Systems</h2></div></div></div>
-<p>
+
+ <p>
ISC <acronym class="acronym">BIND</acronym> 9 compiles and runs on a large
number
of Unix-like operating systems and on
directory
of the BIND 9 source distribution.
</p>
-</div>
-</div>
+ </div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 3. Name Server Configuration</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch02.html" title="Chapter 2. BIND Resource Requirements">
</dl></dd>
</dl>
</div>
-<p>
+
+ <p>
In this chapter we provide some suggested configurations along
with guidelines for their use. We suggest reasonable values for
certain option settings.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="sample_configuration"></a>Sample Configurations</h2></div></div></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="cache_only_sample"></a>A Caching-only Name Server</h3></div></div></div>
-<p>
+
+ <p>
The following sample configuration is appropriate for a caching-only
name server for use by clients internal to a corporation. All
queries
suitable
firewall rules.
</p>
+
<pre class="programlisting">
// Two corporate subnets we wish to allow queries from.
acl corpnets { 192.168.4.0/24; 192.168.7.0/24; };
notify no;
};
</pre>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="auth_only_sample"></a>An Authoritative-only Name Server</h3></div></div></div>
-<p>
+
+ <p>
This sample configuration is for an authoritative-only server
that is the master server for "<code class="filename">example.com</code>"
and a slave for the subdomain "<code class="filename">eng.example.com</code>".
</p>
+
<pre class="programlisting">
options {
// Working directory
masters { 192.168.4.12; };
};
</pre>
-</div>
-</div>
-<div class="section">
+
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="load_balancing"></a>Load Balancing</h2></div></div></div>
-<p>
+
+
+
+ <p>
A primitive form of load balancing can be achieved in
the <acronym class="acronym">DNS</acronym> by using multiple records
(such as multiple A records) for one name.
</p>
-<p>
+
+ <p>
For example, if you have three WWW servers with network addresses
of 10.0.0.1, 10.0.0.2 and 10.0.0.3, a set of records such as the
following means that clients will connect to each machine one third
of the time:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="0.875in" class="1">
<col width="0.500in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
When a resolver queries for these records, <acronym class="acronym">BIND</acronym> will rotate
them and respond to the query with the records in a different
order. In the example above, clients will randomly receive
records in the order 1, 2, 3; 2, 3, 1; and 3, 1, 2. Most clients
will use the first record returned and discard the rest.
</p>
-<p>
+ <p>
For more detail on ordering responses, check the
<span class="command"><strong>rrset-order</strong></span> sub-statement in the
<span class="command"><strong>options</strong></span> statement, see
<a class="xref" href="Bv9ARM.ch06.html#rrset_ordering" title="RRset Ordering">RRset Ordering</a>.
</p>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="ns_operations"></a>Name Server Operations</h2></div></div></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="tools"></a>Tools for Use With the Name Server Daemon</h3></div></div></div>
-<p>
+ <p>
This section describes several indispensable diagnostic,
administrative and monitoring tools available to the system
administrator for controlling and debugging the name server
daemon.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="diagnostic_tools"></a>Diagnostic Tools</h4></div></div></div>
-<p>
+ <p>
The <span class="command"><strong>dig</strong></span>, <span class="command"><strong>host</strong></span>, and
<span class="command"><strong>nslookup</strong></span> programs are all command
line tools
for manually querying name servers. They differ in style and
output format.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><a name="dig"></a><span class="command"><strong>dig</strong></span></span></dt>
<dd>
-<p>
+ <p>
<span class="command"><strong>dig</strong></span>
is the most versatile and complete of these lookup tools.
It has two modes: simple interactive
accessible
from the command line.
</p>
-<div class="cmdsynopsis"><p><code class="command">dig</code> [@<em class="replaceable"><code>server</code></em>] <em class="replaceable"><code>domain</code></em> [<em class="replaceable"><code>query-type</code></em>] [<em class="replaceable"><code>query-class</code></em>] [+<em class="replaceable"><code>query-option</code></em>] [-<em class="replaceable"><code>dig-option</code></em>] [%<em class="replaceable"><code>comment</code></em>]</p></div>
-<p>
+ <div class="cmdsynopsis"><p>
+ <code class="command">dig</code>
+ [@<em class="replaceable"><code>server</code></em>]
+ <em class="replaceable"><code>domain</code></em>
+ [<em class="replaceable"><code>query-type</code></em>]
+ [<em class="replaceable"><code>query-class</code></em>]
+ [+<em class="replaceable"><code>query-option</code></em>]
+ [-<em class="replaceable"><code>dig-option</code></em>]
+ [%<em class="replaceable"><code>comment</code></em>]
+ </p></div>
+ <p>
The usual simple use of <span class="command"><strong>dig</strong></span> will take the form
</p>
-<p class="simpara">
+ <p class="simpara">
<span class="command"><strong>dig @server domain query-type query-class</strong></span>
</p>
-<p>
+ <p>
For more information and a list of available commands and
options, see the <span class="command"><strong>dig</strong></span> man
page.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>host</strong></span></span></dt>
<dd>
-<p>
+ <p>
The <span class="command"><strong>host</strong></span> utility emphasizes
simplicity
and ease of use. By default, it converts
functionality
can be extended with the use of options.
</p>
-<div class="cmdsynopsis"><p><code class="command">host</code> [-aCdlnrsTwv] [-c <em class="replaceable"><code>class</code></em>] [-N <em class="replaceable"><code>ndots</code></em>] [-t <em class="replaceable"><code>type</code></em>] [-W <em class="replaceable"><code>timeout</code></em>] [-R <em class="replaceable"><code>retries</code></em>] [-m <em class="replaceable"><code>flag</code></em>] [-4] [-6] <em class="replaceable"><code>hostname</code></em> [<em class="replaceable"><code>server</code></em>]</p></div>
-<p>
+ <div class="cmdsynopsis"><p>
+ <code class="command">host</code>
+ [-aCdlnrsTwv]
+ [-c <em class="replaceable"><code>class</code></em>]
+ [-N <em class="replaceable"><code>ndots</code></em>]
+ [-t <em class="replaceable"><code>type</code></em>]
+ [-W <em class="replaceable"><code>timeout</code></em>]
+ [-R <em class="replaceable"><code>retries</code></em>]
+ [-m <em class="replaceable"><code>flag</code></em>]
+ [-4]
+ [-6]
+ <em class="replaceable"><code>hostname</code></em>
+ [<em class="replaceable"><code>server</code></em>]
+ </p></div>
+ <p>
For more information and a list of available commands and
options, see the <span class="command"><strong>host</strong></span> man
page.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>nslookup</strong></span></span></dt>
<dd>
-<p><span class="command"><strong>nslookup</strong></span>
+ <p><span class="command"><strong>nslookup</strong></span>
has two modes: interactive and
non-interactive. Interactive mode allows the user to
query name servers for information about various
the name and requested information for a host or
domain.
</p>
-<div class="cmdsynopsis"><p><code class="command">nslookup</code> [-option...] [[<em class="replaceable"><code>host-to-find</code></em>] | [- [server]]]</p></div>
-<p>
+ <div class="cmdsynopsis"><p>
+ <code class="command">nslookup</code>
+ [-option...]
+ [
+ [<em class="replaceable"><code>host-to-find</code></em>]
+ | [- [server]]
+ ]
+ </p></div>
+ <p>
Interactive mode is entered when no arguments are given (the
default name server will be used) or when the first argument
is a
Internet address
of a name server.
</p>
-<p>
+ <p>
Non-interactive mode is used when the name or Internet
address
of the host to be looked up is given as the first argument.
optional second argument specifies the host name or address
of a name server.
</p>
-<p>
+ <p>
Due to its arcane user interface and frequently inconsistent
behavior, we do not recommend the use of <span class="command"><strong>nslookup</strong></span>.
Use <span class="command"><strong>dig</strong></span> instead.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="admin_tools"></a>Administrative Tools</h4></div></div></div>
-<p>
+ <p>
Administrative tools play an integral part in the management
of a server.
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt>
<a name="named-checkconf"></a><span class="term"><span class="command"><strong>named-checkconf</strong></span></span>
</dt>
<dd>
-<p>
+ <p>
The <span class="command"><strong>named-checkconf</strong></span> program
checks the syntax of a <code class="filename">named.conf</code> file.
</p>
-<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [-jvz] [-t <em class="replaceable"><code>directory</code></em>] [<em class="replaceable"><code>filename</code></em>]</p></div>
-</dd>
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-checkconf</code>
+ [-jvz]
+ [-t <em class="replaceable"><code>directory</code></em>]
+ [<em class="replaceable"><code>filename</code></em>]
+ </p></div>
+ </dd>
<dt>
<a name="named-checkzone"></a><span class="term"><span class="command"><strong>named-checkzone</strong></span></span>
</dt>
<dd>
-<p>
+ <p>
The <span class="command"><strong>named-checkzone</strong></span> program
checks a master file for
syntax and consistency.
</p>
-<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [-djqvD] [-c <em class="replaceable"><code>class</code></em>] [-o <em class="replaceable"><code>output</code></em>] [-t <em class="replaceable"><code>directory</code></em>] [-w <em class="replaceable"><code>directory</code></em>] [-k <em class="replaceable"><code>(ignore|warn|fail)</code></em>] [-n <em class="replaceable"><code>(ignore|warn|fail)</code></em>] [-W <em class="replaceable"><code>(ignore|warn)</code></em>] <em class="replaceable"><code>zone</code></em> [<em class="replaceable"><code>filename</code></em>]</p></div>
-</dd>
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-checkzone</code>
+ [-djqvD]
+ [-c <em class="replaceable"><code>class</code></em>]
+ [-o <em class="replaceable"><code>output</code></em>]
+ [-t <em class="replaceable"><code>directory</code></em>]
+ [-w <em class="replaceable"><code>directory</code></em>]
+ [-k <em class="replaceable"><code>(ignore|warn|fail)</code></em>]
+ [-n <em class="replaceable"><code>(ignore|warn|fail)</code></em>]
+ [-W <em class="replaceable"><code>(ignore|warn)</code></em>]
+ <em class="replaceable"><code>zone</code></em>
+ [<em class="replaceable"><code>filename</code></em>]
+ </p></div>
+ </dd>
<dt>
<a name="named-compilezone"></a><span class="term"><span class="command"><strong>named-compilezone</strong></span></span>
</dt>
-<dd><p>
+<dd>
+ <p>
Similar to <span class="command"><strong>named-checkzone,</strong></span> but
it always dumps the zone content to a specified file
(typically in a different format).
- </p></dd>
+ </p>
+ </dd>
<dt>
<a name="rndc"></a><span class="term"><span class="command"><strong>rndc</strong></span></span>
</dt>
<dd>
-<p>
+ <p>
The remote name daemon control
(<span class="command"><strong>rndc</strong></span>) program allows the
system
options
it will display a usage message as follows:
</p>
-<div class="cmdsynopsis"><p><code class="command">rndc</code> [-c <em class="replaceable"><code>config</code></em>] [-s <em class="replaceable"><code>server</code></em>] [-p <em class="replaceable"><code>port</code></em>] [-y <em class="replaceable"><code>key</code></em>] <em class="replaceable"><code>command</code></em> [<em class="replaceable"><code>command</code></em>...]</p></div>
-<p>See <a class="xref" href="man.rndc.html" title="rndc"><span class="refentrytitle"><span class="application">rndc</span></span>(8)</a> for details of
+ <div class="cmdsynopsis"><p>
+ <code class="command">rndc</code>
+ [-c <em class="replaceable"><code>config</code></em>]
+ [-s <em class="replaceable"><code>server</code></em>]
+ [-p <em class="replaceable"><code>port</code></em>]
+ [-y <em class="replaceable"><code>key</code></em>]
+ <em class="replaceable"><code>command</code></em>
+ [<em class="replaceable"><code>command</code></em>...]
+ </p></div>
+
+ <p>See <a class="xref" href="man.rndc.html" title="rndc"><span class="refentrytitle"><span class="application">rndc</span></span>(8)</a> for details of
the available <span class="command"><strong>rndc</strong></span> commands.
</p>
-<p>
+
+ <p>
<span class="command"><strong>rndc</strong></span> requires a configuration file,
since all
communication with the server is authenticated with
<a class="xref" href="Bv9ARM.ch06.html#controls_statement_definition_and_usage" title="controls Statement Definition and Usage">the section called “<span class="command"><strong>controls</strong></span> Statement Definition and
Usage”</a>.
</p>
-<p>
+
+ <p>
The format of the configuration file is similar to
that of <code class="filename">named.conf</code>, but
limited to
be shared. The order of statements is not
significant.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>options</strong></span> statement has
three clauses:
<span class="command"><strong>default-server</strong></span>, <span class="command"><strong>default-key</strong></span>,
port is given on the command line or in a
<span class="command"><strong>server</strong></span> statement.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>key</strong></span> statement defines a
key to be used
by <span class="command"><strong>rndc</strong></span> when authenticating
have any meaning. The secret is a Base64 encoded string
as specified in RFC 3548.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>server</strong></span> statement
associates a key
defined using the <span class="command"><strong>key</strong></span>
connect
to on the server.
</p>
-<p>
+
+ <p>
A sample minimal configuration file is as follows:
</p>
+
<pre class="programlisting">
key rndc_key {
algorithm "hmac-sha256";
default-key rndc_key;
};
</pre>
-<p>
+
+ <p>
This file, if installed as <code class="filename">/etc/rndc.conf</code>,
would allow the command:
</p>
-<p>
+
+ <p>
<code class="prompt">$ </code><strong class="userinput"><code>rndc reload</code></strong>
</p>
-<p>
+
+ <p>
to connect to 127.0.0.1 port 953 and cause the name server
to reload, if a name server on the local machine were
running with
following controls statements:
</p>
+
<pre class="programlisting">
controls {
inet 127.0.0.1
allow { localhost; } keys { rndc_key; };
};
</pre>
-<p>
+
+ <p>
and it had an identical key statement for
<code class="literal">rndc_key</code>.
</p>
-<p>
+
+ <p>
Running the <span class="command"><strong>rndc-confgen</strong></span>
program will
conveniently create a <code class="filename">rndc.conf</code>
modify
<code class="filename">named.conf</code> at all.
</p>
-</dd>
+
+ </dd>
</dl></div>
-</div>
-</div>
-<div class="section">
+
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="signals"></a>Signals</h3></div></div></div>
-<p>
+ <p>
Certain UNIX signals cause the name server to take specific
actions, as described in the following table. These signals can
be sent using the <span class="command"><strong>kill</strong></span> command.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.125in" class="1">
<col width="4.000in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-</div>
-</div>
+</table>
+ </div>
+ </div>
+ </div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 4. Advanced DNS Features</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch03.html" title="Chapter 3. Name Server Configuration">
</dl></dd>
</dl>
</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="notify"></a>Notify</h2></div></div></div>
-<p>
+ <p>
<acronym class="acronym">DNS</acronym> NOTIFY is a mechanism that allows master
servers to notify their slave servers of changes to a zone's data. In
response to a <span class="command"><strong>NOTIFY</strong></span> from a master server, the
slave will check to see that its version of the zone is the
current version and, if not, initiate a zone transfer.
</p>
-<p>
+
+ <p>
For more information about <acronym class="acronym">DNS</acronym>
<span class="command"><strong>NOTIFY</strong></span>, see the description of the
<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
<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>
protocol is specified in RFC 1996.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
As a slave zone can also be a master to other slaves, <span class="command"><strong>named</strong></span>,
zones that it loads.
</p>
</div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dynamic_update"></a>Dynamic Update</h2></div></div></div>
-<p>
+
+ <p>
Dynamic Update is a method for adding, replacing or deleting
records in a master server by sending it a special form of DNS
messages. The format and meaning of these messages is specified
in RFC 2136.
</p>
-<p>
+
+ <p>
Dynamic update is enabled by including an
<span class="command"><strong>allow-update</strong></span> or an <span class="command"><strong>update-policy</strong></span>
clause in the <span class="command"><strong>zone</strong></span> statement.
</p>
-<p>
+
+ <p>
If the zone's <span class="command"><strong>update-policy</strong></span> is set to
<strong class="userinput"><code>local</code></strong>, updates to the zone
will be permitted for the key <code class="varname">local-ddns</code>,
which will be generated by <span class="command"><strong>named</strong></span> at startup.
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.
</p>
-<p>
+
+ <p>
Dynamic updates using Kerberos signed requests can be made
using the TKEY/GSS protocol by setting either the
<span class="command"><strong>tkey-gssapi-keytab</strong></span> option, or alternatively
policies for the zone, using the Kerberos principal as the
signer for the request.
</p>
-<p>
+
+ <p>
Updating of secure zones (zones using DNSSEC) follows RFC
3007: RRSIG, NSEC and NSEC3 records affected by updates are
automatically regenerated by the server using an online
zone key. Update authorization is based on transaction
signatures and an explicit server policy.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="journal"></a>The journal file</h3></div></div></div>
-<p>
+
+ <p>
All changes made to a zone using dynamic update are stored
in the zone's journal file. This file is automatically created
by the server when the first dynamic update takes place.
file unless specifically overridden. The journal file is in a
binary format and should not be edited manually.
</p>
-<p>
+
+ <p>
The server will also occasionally write ("dump")
the complete contents of the updated zone to its zone file.
This is not done immediately after
will be removed when the dump is complete, and can be safely
ignored.
</p>
-<p>
+
+ <p>
When a server is restarted after a shutdown or crash, it will replay
the journal file to incorporate into the zone any updates that
took
place after the last zone dump.
</p>
-<p>
+
+ <p>
Changes that result from incoming incremental zone transfers are
also
journalled in a similar way.
</p>
-<p>
+
+ <p>
The zone files of dynamic zones cannot normally be edited by
hand because they are not guaranteed to contain the most recent
dynamic changes — those are only in the journal file.
The only way to ensure that the zone file of a dynamic zone
is up to date is to run <span class="command"><strong>rndc stop</strong></span>.
</p>
-<p>
+
+ <p>
If you have to make changes to a dynamic zone
manually, the following procedure will work:
Disable dynamic updates to the zone using
<span class="command"><strong>rndc thaw <em class="replaceable"><code>zone</code></em></strong></span>
to reload the changed zone and re-enable dynamic updates.
</p>
-<p>
+
+ <p>
<span class="command"><strong>rndc sync <em class="replaceable"><code>zone</code></em></strong></span>
will update the zone file with changes from the journal file
without stopping dynamic updates; this may be useful for viewing
file after updating the zone file, use
<span class="command"><strong>rndc sync -clean</strong></span>.
</p>
-</div>
-</div>
-<div class="section">
+
+ </div>
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="incremental_zone_transfers"></a>Incremental Zone Transfers (IXFR)</h2></div></div></div>
-<p>
+
+ <p>
The incremental zone transfer (IXFR) protocol is a way for
slave servers to transfer only changed data, instead of having to
transfer the entire zone. The IXFR protocol is specified in RFC
1995. See <a class="xref" href="Bv9ARM.ch11.html#proposed_standards" title="Proposed Standards">Proposed Standards</a>.
</p>
-<p>
+
+ <p>
When acting as a master, <acronym class="acronym">BIND</acronym> 9
supports IXFR for those zones
where the necessary change history information is available. These
<span class="command"><strong>ixfr-from-differences</strong></span> is set
to <strong class="userinput"><code>yes</code></strong>.
</p>
-<p>
+
+ <p>
When acting as a slave, <acronym class="acronym">BIND</acronym> 9 will
attempt to use IXFR unless
it is explicitly disabled. For more information about disabling
IXFR, see the description of the <span class="command"><strong>request-ixfr</strong></span> clause
of the <span class="command"><strong>server</strong></span> statement.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="split_dns"></a>Split DNS</h2></div></div></div>
-<p>
+
+ <p>
Setting up different views, or visibility, of the DNS space to
internal and external resolvers is usually referred to as a
<span class="emphasis"><em>Split DNS</em></span> setup. There are several
reasons an organization would want to set up its DNS this way.
</p>
-<p>
+ <p>
One common reason for setting up a DNS system this way is
to hide "internal" DNS information from "external" clients on the
Internet. There is some debate as to whether or not this is actually
choose to use a Split DNS to present a consistent view of itself
to the outside world.
</p>
-<p>
+ <p>
Another common reason for setting up a Split DNS system is
to allow internal networks that are behind filters or in RFC 1918
space (reserved IP space, as documented in RFC 1918) to resolve DNS
on the Internet. Split DNS can also be used to allow mail from outside
back in to the internal network.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="split_dns_sample"></a>Example split DNS setup</h3></div></div></div>
-<p>
+ <p>
Let's say a company named <span class="emphasis"><em>Example, Inc.</em></span>
(<code class="literal">example.com</code>)
has several corporate sites that have an internal network with
Internet Protocol (IP) space and an external demilitarized zone (DMZ),
or "outside" section of a network, that is available to the public.
</p>
-<p>
+ <p>
<span class="emphasis"><em>Example, Inc.</em></span> wants its internal clients
to be able to resolve external hostnames and to exchange mail with
people on the outside. The company also wants its internal resolvers
to have access to certain internal-only zones that are not available
at all outside of the internal network.
</p>
-<p>
+ <p>
In order to accomplish this, the company will set up two sets
of name servers. One set will be on the inside network (in the
reserved
"proxy"
hosts that can talk to both sides of its network, in the DMZ.
</p>
-<p>
+ <p>
The internal servers will be configured to forward all queries,
except queries for <code class="filename">site1.internal</code>, <code class="filename">site2.internal</code>, <code class="filename">site1.example.com</code>,
and <code class="filename">site2.example.com</code>, to the servers
for <code class="filename">site1.example.com</code>, <code class="filename">site2.example.com</code>, <code class="filename">site1.internal</code>,
and <code class="filename">site2.internal</code>.
</p>
-<p>
+ <p>
To protect the <code class="filename">site1.internal</code> and <code class="filename">site2.internal</code> domains,
the internal name servers must be configured to disallow all queries
to these domains from any external hosts, including the bastion
hosts.
</p>
-<p>
+ <p>
The external servers, which are on the bastion hosts, will
be configured to serve the "public" version of the <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones.
This could include things such as the host records for public servers
(<code class="filename">www.example.com</code> and <code class="filename">ftp.example.com</code>),
and mail exchange (MX) records (<code class="filename">a.mx.example.com</code> and <code class="filename">b.mx.example.com</code>).
</p>
-<p>
+ <p>
In addition, the public <code class="filename">site1</code> and <code class="filename">site2.example.com</code> zones
should have special MX records that contain wildcard (`*') records
pointing to the bastion hosts. This is needed because external mail
be delivered to the bastion host, which can then forward it on to
internal hosts.
</p>
-<p>
+ <p>
Here's an example of a wildcard MX record:
</p>
-<pre class="programlisting">* IN MX 10 external1.example.com.</pre>
-<p>
+ <pre class="programlisting">* IN MX 10 external1.example.com.</pre>
+ <p>
Now that they accept mail on behalf of anything in the internal
network, the bastion hosts will need to know how to deliver mail
to internal hosts. In order for this to work properly, the resolvers
the bastion hosts will need to be configured to point to the internal
name servers for DNS resolution.
</p>
-<p>
+ <p>
Queries for internal hostnames will be answered by the internal
servers, and queries for external hostnames will be forwarded back
out to the DNS servers on the bastion hosts.
</p>
-<p>
+ <p>
In order for all this to work properly, internal clients will
need to be configured to query <span class="emphasis"><em>only</em></span> the internal
name servers for DNS queries. This could also be enforced via
selective
filtering on the network.
</p>
-<p>
+ <p>
If everything has been set properly, <span class="emphasis"><em>Example, Inc.</em></span>'s
internal clients will now be able to:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
+
Look up any hostnames in the <code class="literal">site1</code>
and
<code class="literal">site2.example.com</code> zones.
- </li>
+
+ </li>
<li class="listitem">
+
Look up any hostnames in the <code class="literal">site1.internal</code> and
<code class="literal">site2.internal</code> domains.
- </li>
-<li class="listitem">Look up any hostnames on the Internet.</li>
-<li class="listitem">Exchange mail with both internal and external people.</li>
+
+ </li>
+<li class="listitem">
+ Look up any hostnames on the Internet.
+ </li>
+<li class="listitem">
+ Exchange mail with both internal and external people.
+ </li>
</ul></div>
-<p>
+ <p>
Hosts on the Internet will be able to:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
+
Look up any hostnames in the <code class="literal">site1</code>
and
<code class="literal">site2.example.com</code> zones.
- </li>
+
+ </li>
<li class="listitem">
+
Exchange mail with anyone in the <code class="literal">site1</code> and
<code class="literal">site2.example.com</code> zones.
- </li>
+
+ </li>
</ul></div>
-<p>
+
+ <p>
Here is an example configuration for the setup we just
described above. Note that this is only configuration information;
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>.
</p>
-<p>
+
+ <p>
Internal DNS server config:
</p>
+
<pre class="programlisting">
acl internals { 172.16.72.0/24; 192.168.1.0/24; };
allow-transfer { internals; }
};
</pre>
-<p>
+
+ <p>
External (bastion host) DNS server config:
</p>
+
<pre class="programlisting">
acl internals { 172.16.72.0/24; 192.168.1.0/24; };
allow-transfer { internals; externals; }
};
</pre>
-<p>
+
+ <p>
In the <code class="filename">resolv.conf</code> (or equivalent) on
the bastion host(s):
</p>
+
<pre class="programlisting">
search ...
nameserver 172.16.72.2
nameserver 172.16.72.3
nameserver 172.16.72.4
</pre>
-</div>
-</div>
-<div class="section">
+
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="tsig"></a>TSIG</h2></div></div></div>
-<p>
+
+ <p>
TSIG (Transaction SIGnatures) is a mechanism for authenticating DNS
messages, originally specified in RFC 2845. It allows DNS messages
to be cryptographically signed using a shared secret. TSIG can
is critical to the integrity of the server, such as with dynamic
UPDATE messages or zone transfers from a master to a slave server.
</p>
-<p>
+ <p>
This is a guide to setting up TSIG in <acronym class="acronym">BIND</acronym>.
It describes the configuration syntax and the process of creating
TSIG keys.
</p>
-<p>
+ <p>
<span class="command"><strong>named</strong></span> supports TSIG for server-to-server
communication, and some of the tools included with
<acronym class="acronym">BIND</acronym> support it for sending messages to
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
-<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.nsupdate.html" title="nsupdate"><span class="refentrytitle"><span class="application">nsupdate</span></span>(1)</a> supports TSIG via the
<code class="option">-k</code>, <code class="option">-l</code> and
<code class="option">-y</code> command line options, or via
the <span class="command"><strong>key</strong></span> command when running
interactively.
</li>
<li class="listitem">
-<a class="xref" href="man.dig.html" title="dig"><span class="refentrytitle">dig</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
<code class="option">-k</code> and <code class="option">-y</code> command
line options.
</li>
</ul></div>
<p>
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.6.5"></a>Generating a Shared Key</h3></div></div></div>
-<p>
+ <p>
TSIG keys can be generated using the <span class="command"><strong>tsig-keygen</strong></span>
command; the output of the command is a <span class="command"><strong>key</strong></span> directive
suitable for inclusion in <code class="filename">named.conf</code>. The
key name, algorithm and size can be specified by command line parameters;
the defaults are "tsig-key", HMAC-SHA256, and 256 bits, respectively.
</p>
-<p>
+ <p>
Any string which is a valid DNS name can be used as a key name.
For example, a key to be shared between servers called
<span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host2</em></span> could
<pre class="programlisting">
$ tsig-keygen host1-host2. > host1-host2.key
</pre>
-<p>
+ <p>
This key may then be copied to both hosts. The key name and secret
must be identical on both hosts.
(Note: copying a shared secret from one server to another is beyond
the scope of the DNS. A secure transport mechanism should be used:
secure FTP, SSL, ssh, telephone, encrypted email, etc.)
</p>
-<p>
+ <p>
<span class="command"><strong>tsig-keygen</strong></span> can also be run as
<span class="command"><strong>ddns-confgen</strong></span>, in which case its output includes
additional configuration text for setting up dynamic DNS in
<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>
for details.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.6.6"></a>Loading A New Key</h3></div></div></div>
-<p>
+ <p>
For a key shared between servers called
<span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host2</em></span>,
the following could be added to each server's
secret "DAopyf1mhCbFVZw7pgmNPBoLUq8wEUT7UuPoLENP2HY=";
};
</pre>
-<p>
+ <p>
(This is the same key generated above using
<span class="command"><strong>tsig-keygen</strong></span>.)
</p>
-<p>
+ <p>
Since this text contains a secret, it
is recommended that either <code class="filename">named.conf</code> not be
world-readable, or that the <span class="command"><strong>key</strong></span> directive
included in <code class="filename">named.conf</code> via the
<span class="command"><strong>include</strong></span> directive.
</p>
-<p>
+ <p>
Once a key has been added to <code class="filename">named.conf</code> and the
server has been restarted or reconfigured, the server can recognize
the key. If the server receives a message signed by the
key, it will be able to verify the signature. If the signature
is valid, the response will be signed using the same key.
</p>
-<p>
+ <p>
TSIG keys that are known to a server can be listed using the
command <span class="command"><strong>rndc tsig-list</strong></span>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.6.7"></a>Instructing the Server to Use a Key</h3></div></div></div>
-<p>
+ <p>
A server sending a request to another server must be told whether
to use a key, and if so, which key to use.
</p>
-<p>
+ <p>
For example, a key may be specified for each server in the
<span class="command"><strong>masters</strong></span> statement in the definition of a
slave zone; in this case, all SOA QUERY messages, NOTIFY
or slave zone, causing NOTIFY messages to be signed using
the specified key.
</p>
-<p>
+ <p>
Keys can also be specified in a <span class="command"><strong>server</strong></span>
directive. Adding the following on <span class="emphasis"><em>host1</em></span>,
if the IP address of <span class="emphasis"><em>host2</em></span> is 10.1.2.3, would
keys { host1-host2. ;};
};
</pre>
-<p>
+ <p>
Multiple keys may be present in the <span class="command"><strong>keys</strong></span>
statement, but only the first one is used. As this directive does
not contain secrets, it can be used in a world-readable file.
</p>
-<p>
+ <p>
Requests sent by <span class="emphasis"><em>host2</em></span> to <span class="emphasis"><em>host1</em></span>
would <span class="emphasis"><em>not</em></span> be signed, unless a similar
<span class="command"><strong>server</strong></span> directive were in <span class="emphasis"><em>host2</em></span>'s
configuration file.
</p>
-<p>
+ <p>
Whenever any server sends a TSIG-signed DNS request, it will expect
the response to be signed with the same key. If a response is not
signed, or if the signature is not valid, the response will be
rejected.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.6.8"></a>TSIG-Based Access Control</h3></div></div></div>
-<p>
+ <p>
TSIG keys may be specified in ACL definitions and ACL directives
such as <span class="command"><strong>allow-query</strong></span>, <span class="command"><strong>allow-transfer</strong></span>
and <span class="command"><strong>allow-update</strong></span>.
The above key would be denoted in an ACL element as
<span class="command"><strong>key host1-host2.</strong></span>
</p>
-<p>
+ <p>
An example of an <span class="command"><strong>allow-update</strong></span> directive using
a TSIG key:
</p>
<pre class="programlisting">
allow-update { !{ !localnets; any; }; key host1-host2. ;};
</pre>
-<p>
+ <p>
This allows dynamic updates to succeed only if the UPDATE
request comes from an address in <span class="command"><strong>localnets</strong></span>,
<span class="emphasis"><em>and</em></span> if it is signed using the
<span class="command"><strong>host1-host2.</strong></span> key.
</p>
-<p>
+ <p>
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
the more flexible <span class="command"><strong>update-policy</strong></span> statement.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.6.9"></a>Errors</h3></div></div></div>
-<p>
+ <p>
Processing of TSIG-signed messages can result in several errors:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
In all of the above cases, the server will return a response code
of NOTAUTH (not authenticated).
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="tkey"></a>TKEY</h2></div></div></div>
-<p>
+
+ <p>
TKEY (Transaction KEY) is a mechanism for automatically negotiating
a shared secret between two hosts, originally specified in RFC 2930.
</p>
-<p>
+ <p>
There are several TKEY "modes" that specify how a key is to be
generated or assigned. <acronym class="acronym">BIND</acronym> 9 implements only
one of these modes: Diffie-Hellman key exchange. Both hosts are
required to have a KEY record with algorithm DH (though this
record is not required to be present in a zone).
</p>
-<p>
+ <p>
The TKEY process is initiated by a client or server by sending
a query of type TKEY to a TKEY-aware server. The query must include
an appropriate KEY record in the additional section, and
can then be used by to sign subsequent transactions between the
two servers.
</p>
-<p>
+ <p>
TSIG keys known by the server, including TKEY-negotiated keys, can
be listed using <span class="command"><strong>rndc tsig-list</strong></span>.
</p>
-<p>
+ <p>
TKEY-negotiated keys can be deleted from a server using
<span class="command"><strong>rndc tsig-delete</strong></span>. This can also be done via
the TKEY protocol itself, by sending an authenticated TKEY query
specifying the "key deletion" mode.
</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="sig0"></a>SIG(0)</h2></div></div></div>
-<p>
+
+ <p>
<acronym class="acronym">BIND</acronym> partially supports DNSSEC SIG(0)
transaction signatures as specified in RFC 2535 and RFC 2931.
SIG(0) uses public/private keys to authenticate messages. Access control
is performed in the same manner as TSIG keys; privileges can be
granted or denied in ACL directives based on the key name.
</p>
-<p>
+ <p>
When a SIG(0) signed message is received, it will only be
verified if the key is known and trusted by the server. The
server will not attempt to recursively fetch or validate the
key.
</p>
-<p>
+ <p>
SIG(0) signing of multiple-message TCP streams is not supported.
</p>
-<p>
+ <p>
The only tool shipped with <acronym class="acronym">BIND</acronym> 9 that
generates SIG(0) signed messages is <span class="command"><strong>nsupdate</strong></span>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="DNSSEC"></a>DNSSEC</h2></div></div></div>
-<p>
+ <p>
Cryptographic authentication of DNS information is possible
through the DNS Security (<span class="emphasis"><em>DNSSEC-bis</em></span>) extensions,
defined in RFC 4033, RFC 4034, and RFC 4035.
This section describes the creation and use of DNSSEC signed zones.
</p>
-<p>
+
+ <p>
In order to set up a DNSSEC secure zone, there are a series
of steps which must be followed. <acronym class="acronym">BIND</acronym>
9 ships
that the tools shipped with BIND 9.2.x and earlier are not compatible
with the current ones.
</p>
-<p>
+
+ <p>
There must also be communication with the administrators of
the parent and/or child zone to transmit keys. A zone's security
status must be indicated by the parent zone for a DNSSEC capable
delegation
point.
</p>
-<p>
+
+ <p>
For other servers to trust data in this zone, they must
either be statically configured with this zone's zone key or the
zone key of another zone above this one in the DNS tree.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="dnssec_keys"></a>Generating Keys</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>dnssec-keygen</strong></span> program is used to
generate keys.
</p>
-<p>
+
+ <p>
A secure zone must contain one or more zone keys. The
zone keys will sign all other records in the zone, as well as
the zone keys of any secure delegated zones. Zone keys must
designated as "mandatory to implement" by the IETF; currently
the only one is RSASHA1.
</p>
-<p>
+
+ <p>
The following command will generate a 768-bit RSASHA1 key for
the <code class="filename">child.example</code> zone:
</p>
-<p>
+
+ <p>
<strong class="userinput"><code>dnssec-keygen -a RSASHA1 -b 768 -n ZONE child.example.</code></strong>
</p>
-<p>
+
+ <p>
Two output files will be produced:
<code class="filename">Kchild.example.+005+12345.key</code> and
<code class="filename">Kchild.example.+005+12345.private</code>
<code class="filename">.key</code> file) is used for signature
verification.
</p>
-<p>
+
+ <p>
To generate another key with the same properties (but with
a different key tag), repeat the above command.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>dnssec-keyfromlabel</strong></span> program is used
to get a key pair from a crypto hardware and build the key
files. Its usage is similar to <span class="command"><strong>dnssec-keygen</strong></span>.
</p>
-<p>
+
+ <p>
The public keys should be inserted into the zone file by
including the <code class="filename">.key</code> files using
<span class="command"><strong>$INCLUDE</strong></span> statements.
</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="dnssec_signing"></a>Signing the Zone</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>dnssec-signzone</strong></span> program is used
to sign a zone.
</p>
-<p>
+
+ <p>
Any <code class="filename">keyset</code> files corresponding to
secure subzones should be present. The zone signer will
generate <code class="literal">NSEC</code>, <code class="literal">NSEC3</code>
is not specified, then DS RRsets for the secure child
zones need to be added manually.
</p>
-<p>
+
+ <p>
The following command signs the zone, assuming it is in a
file called <code class="filename">zone.child.example</code>. By
default, all zone keys which have an available private key are
used to generate signatures.
</p>
-<p>
+
+ <p>
<strong class="userinput"><code>dnssec-signzone -o child.example zone.child.example</code></strong>
</p>
-<p>
+
+ <p>
One output file is produced:
<code class="filename">zone.child.example.signed</code>. This
file
as the
input file for the zone.
</p>
-<p><span class="command"><strong>dnssec-signzone</strong></span>
+
+ <p><span class="command"><strong>dnssec-signzone</strong></span>
will also produce a keyset and dsset files and optionally a
dlvset file. These are used to provide the parent zone
administrators with the <code class="literal">DNSKEYs</code> (or their
corresponding <code class="literal">DS</code> records) that are the
secure entry point to the zone.
</p>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="dnssec_config"></a>Configuring Servers</h3></div></div></div>
-<p>
+
+ <p>
To enable <span class="command"><strong>named</strong></span> to respond appropriately
to DNS requests from DNSSEC aware clients,
<span class="command"><strong>dnssec-enable</strong></span> must be set to yes.
(This is the default setting.)
</p>
-<p>
+
+ <p>
To enable <span class="command"><strong>named</strong></span> to validate answers from
other servers, the <span class="command"><strong>dnssec-enable</strong></span> option
must be set to <strong class="userinput"><code>yes</code></strong>, and the
<span class="command"><strong>dnssec-validation</strong></span> options must be set to
<strong class="userinput"><code>yes</code></strong> or <strong class="userinput"><code>auto</code></strong>.
</p>
-<p>
+
+ <p>
If <span class="command"><strong>dnssec-validation</strong></span> is set to
<strong class="userinput"><code>auto</code></strong>, then a default
trust anchor for the DNS root zone will be used.
will not occur. The default setting is
<strong class="userinput"><code>yes</code></strong>.
</p>
-<p>
+
+ <p>
<span class="command"><strong>trusted-keys</strong></span> are copies of DNSKEY RRs
for zones that are used to form the first link in the
cryptographic chain of trust. All keys listed in
are deemed to exist and only the listed keys will be used
to validated the DNSKEY RRset that they are from.
</p>
-<p>
+
+ <p>
<span class="command"><strong>managed-keys</strong></span> are trusted keys which are
automatically kept up to date via RFC 5011 trust anchor
maintenance.
</p>
-<p>
+
+ <p>
<span class="command"><strong>trusted-keys</strong></span> and
<span class="command"><strong>managed-keys</strong></span> are described in more detail
later in this document.
</p>
-<p>
+
+ <p>
Unlike <acronym class="acronym">BIND</acronym> 8, <acronym class="acronym">BIND</acronym>
9 does not verify signatures on load, so zone keys for
authoritative zones do not need to be specified in the
configuration file.
</p>
-<p>
+
+ <p>
After DNSSEC gets established, a typical DNSSEC configuration
will look something like the following. It has one or
more public keys for the root. This allows answers from
is immune to compromises in the DNSSEC components of the security
of parent zones.
</p>
+
<pre class="programlisting">
managed-keys {
/* Root Key */
dnssec-validation yes;
};
</pre>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
None of the keys listed in this example are valid. In particular,
the root key is not valid.
</p>
</div>
-<p>
+
+ <p>
When DNSSEC validation is enabled and properly configured,
the resolver will reject any answers from signed, secure zones
which fail to validate, and will return SERVFAIL to the client.
</p>
-<p>
+
+ <p>
Responses may fail to validate for any of several reasons,
including missing, expired, or invalid signatures, a key which
does not match the DS RRset in the parent zone, or an insecure
response from a zone which, according to its parent, should have
been secure.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
When the validator receives a response from an unsigned zone
that has a signed parent, it must confirm with the parent
that the zone was intentionally left unsigned. It does
this by verifying, via signed and validated NSEC/NSEC3 records,
that the parent zone contains no DS records for the child.
</p>
-<p>
+ <p>
If the validator <span class="emphasis"><em>can</em></span> prove that the zone
is insecure, then the response is accepted. However, if it
cannot, then it must assume an insecure response to be a
forgery; it rejects the response and logs an error.
</p>
-<p>
+ <p>
The logged error reads "insecurity proof failed" and
"got insecure response; parent indicates it should be secure".
</p>
-</div>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dnssec.dynamic.zones"></a>DNSSEC, Dynamic Zones, and Automatic Signing</h2></div></div></div>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.2"></a>Converting from insecure to secure</h3></div></div></div></div>
-<p>Changing a zone from insecure to secure can be done in two
+
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.2"></a>Converting from insecure to secure</h3></div></div></div>
+
+ </div>
+ <p>Changing a zone from insecure to secure can be done in two
ways: using a dynamic DNS update, or the
<span class="command"><strong>auto-dnssec</strong></span> zone option.</p>
-<p>For either method, you need to configure
+ <p>For either method, you need to configure
<span class="command"><strong>named</strong></span> so that it can see the
<code class="filename">K*</code> files which contain the public and private
parts of the keys that will be used to sign the zone. These files
<span class="command"><strong>dnssec-keygen</strong></span>. You can do this by placing them
in the key-directory, as specified in
<code class="filename">named.conf</code>:</p>
-<pre class="programlisting">
+ <pre class="programlisting">
zone example.net {
type master;
update-policy local;
key-directory "dynamic/example.net";
};
</pre>
-<p>If one KSK and one ZSK DNSKEY key have been generated, this
+ <p>If one KSK and one ZSK DNSKEY key have been generated, this
configuration will cause all records in the zone to be signed
with the ZSK, and the DNSKEY RRset to be signed with the KSK as
well. An NSEC chain will be generated as part of the initial
signing process.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.7"></a>Dynamic DNS update method</h3></div></div></div></div>
-<p>To insert the keys via dynamic update:</p>
-<pre class="screen">
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.7"></a>Dynamic DNS update method</h3></div></div></div>
+
+ </div>
+ <p>To insert the keys via dynamic update:</p>
+ <pre class="screen">
% nsupdate
> ttl 3600
> 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=
> send
</pre>
-<p>While the update request will complete almost immediately,
+ <p>While the update request will complete almost immediately,
the zone will not be completely signed until
<span class="command"><strong>named</strong></span> has had time to walk the zone and
generate the NSEC and RRSIG records. The NSEC record at the apex
will be added last, to signal that there is a complete NSEC
chain.</p>
-<p>If you wish to sign using NSEC3 instead of NSEC, you should
+ <p>If you wish to sign using NSEC3 instead of NSEC, you should
add an NSEC3PARAM record to the initial update request. If you
wish the NSEC3 chain to have the OPTOUT bit set, set it in the
flags field of the NSEC3PARAM record.</p>
-<pre class="screen">
+ <pre class="screen">
% nsupdate
> ttl 3600
> update add example.net DNSKEY 256 3 7 AwEAAZn17pUF0KpbPA2c7Gz76Vb18v0teKT3EyAGfBfL8eQ8al35zz3Y I1m/SAQBxIqMfLtIwqWPdgthsu36azGQAX8=
> update add example.net NSEC3PARAM 1 1 100 1234567890
> send
</pre>
-<p>Again, this update request will complete almost
+ <p>Again, this update request will complete almost
immediately; however, the record won't show up until
<span class="command"><strong>named</strong></span> has had a chance to build/remove the
relevant chain. A private type record will be created to record
the state of the operation (see below for more details), and will
be removed once the operation completes.</p>
-<p>While the initial signing and NSEC/NSEC3 chain generation
+ <p>While the initial signing and NSEC/NSEC3 chain generation
is happening, other updates are possible as well.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.15"></a>Fully automatic zone signing</h3></div></div></div></div>
-<p>To enable automatic signing, add the
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.15"></a>Fully automatic zone signing</h3></div></div></div>
+
+ </div>
+ <p>To enable automatic signing, add the
<span class="command"><strong>auto-dnssec</strong></span> option to the zone statement in
<code class="filename">named.conf</code>.
<span class="command"><strong>auto-dnssec</strong></span> has two possible arguments:
<code class="constant">allow</code> or
<code class="constant">maintain</code>.</p>
-<p>With
+ <p>With
<span class="command"><strong>auto-dnssec allow</strong></span>,
<span class="command"><strong>named</strong></span> can search the key directory for keys
matching the zone, insert them into the zone, and use them to
sign the zone. It will do so only when it receives an
<span class="command"><strong>rndc sign <zonename></strong></span>.</p>
-<p>
+ <p>
<span class="command"><strong>auto-dnssec maintain</strong></span> includes the above
functionality, but will also automatically adjust the zone's
(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.)
</p>
-<p>
+ <p>
<span class="command"><strong>named</strong></span> will periodically search the key directory
for keys matching the zone, and if the keys' metadata indicates
that any change should be made the zone, such as adding, removing,
to a maximum of 24 hours. The <span class="command"><strong>rndc loadkeys</strong></span> forces
<span class="command"><strong>named</strong></span> to check for key updates immediately.
</p>
-<p>
+ <p>
If keys are present in the key directory the first time the zone
is loaded, the zone will be signed immediately, without waiting for an
<span class="command"><strong>rndc sign</strong></span> or <span class="command"><strong>rndc loadkeys</strong></span>
command. (Those commands can still be used when there are unscheduled
key changes, however.)
</p>
-<p>
+ <p>
When new keys are added to a zone, the TTL is set to match that
of any existing DNSKEY RRset. If there is no existing DNSKEY RRset,
then the TTL will be set to the TTL specified when the key was
created (using the <span class="command"><strong>dnssec-keygen -L</strong></span> option), if
any, or to the SOA TTL.
</p>
-<p>
+ <p>
If you wish the zone to be signed using NSEC3 instead of NSEC,
submit an NSEC3PARAM record via dynamic update prior to the
scheduled publication and activation of the keys. If you wish the
the zone is signed and the NSEC3 chain is completed, the NSEC3PARAM
record will appear in the zone.
</p>
-<p>Using the
+ <p>Using the
<span class="command"><strong>auto-dnssec</strong></span> option requires the zone to be
configured to allow dynamic updates, by adding an
<span class="command"><strong>allow-update</strong></span> or
<span class="command"><strong>update-policy</strong></span> statement to the zone
configuration. If this has not been done, the configuration will
fail.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.24"></a>Private-type records</h3></div></div></div></div>
-<p>The state of the signing process is signaled by
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.24"></a>Private-type records</h3></div></div></div>
+
+ </div>
+ <p>The state of the signing process is signaled by
private-type records (with a default type value of 65534). When
signing is complete, these records will have a nonzero value for
the final octet (for those records which have a nonzero initial
octet).</p>
-<p>The private type record format: If the first octet is
+ <p>The private type record format: If the first octet is
non-zero then the record indicates that the zone needs to be
signed with the key matching the record, or that all signatures
that match the record should be removed.</p>
-<p>
+ <p>
</p>
<div class="literallayout"><p><br>
<br>
</p></div>
<p>
</p>
-<p>Only records flagged as "complete" can be removed via
+ <p>Only records flagged as "complete" can be removed via
dynamic update. Attempts to remove other private type records
will be silently ignored.</p>
-<p>If the first octet is zero (this is a reserved algorithm
+ <p>If the first octet is zero (this is a reserved algorithm
number that should never appear in a DNSKEY record) then the
record indicates changes to the NSEC3 chains are in progress. The
rest of the record contains an NSEC3PARAM record. The flag field
tells what operation to perform based on the flag bits.</p>
-<p>
+ <p>
</p>
<div class="literallayout"><p><br>
<br>
</p></div>
<p>
</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.31"></a>DNSKEY rollovers</h3></div></div></div></div>
-<p>As with insecure-to-secure conversions, rolling DNSSEC
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.31"></a>DNSKEY rollovers</h3></div></div></div>
+
+ </div>
+ <p>As with insecure-to-secure conversions, rolling DNSSEC
keys can be done in two ways: using a dynamic DNS update, or the
<span class="command"><strong>auto-dnssec</strong></span> zone option.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.33"></a>Dynamic DNS update method</h3></div></div></div></div>
-<p> To perform key rollovers via dynamic update, you need to add
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.33"></a>Dynamic DNS update method</h3></div></div></div>
+
+ </div>
+ <p> To perform key rollovers via dynamic update, you need to add
the <code class="filename">K*</code> files for the new keys so that
<span class="command"><strong>named</strong></span> can find them. You can then add the new
DNSKEY RRs via dynamic update.
with the new keys. When the signing is complete the private type
records will be updated so that the last octet is non
zero.</p>
-<p>If this is for a KSK you need to inform the parent and any
+ <p>If this is for a KSK you need to inform the parent and any
trust anchor repositories of the new KSK.</p>
-<p>You should then wait for the maximum TTL in the zone before
+ <p>You should then wait for the maximum TTL in the zone before
removing the old DNSKEY. If it is a KSK that is being updated,
you also need to wait for the DS RRset in the parent to be
updated and its TTL to expire. This ensures that all clients will
be able to verify at least one signature when you remove the old
DNSKEY.</p>
-<p>The old DNSKEY can be removed via UPDATE. Take care to
+ <p>The old DNSKEY can be removed via UPDATE. Take care to
specify the correct key.
<span class="command"><strong>named</strong></span> will clean out any signatures generated
by the old key after the update completes.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.38"></a>Automatic key rollovers</h3></div></div></div></div>
-<p>When a new key reaches its activation date (as set by
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.38"></a>Automatic key rollovers</h3></div></div></div>
+
+ </div>
+ <p>When a new key reaches its activation date (as set by
<span class="command"><strong>dnssec-keygen</strong></span> or <span class="command"><strong>dnssec-settime</strong></span>),
if the <span class="command"><strong>auto-dnssec</strong></span> zone option is set to
<code class="constant">maintain</code>, <span class="command"><strong>named</strong></span> will
signature validity periods expire. By default, this rollover
completes in 30 days, after which it will be safe to remove the
old key from the DNSKEY RRset.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.40"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div></div>
-<p>Add the new NSEC3PARAM record via dynamic update. When the
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.40"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div>
+
+ </div>
+ <p>Add the new NSEC3PARAM record via dynamic update. When the
new NSEC3 chain has been generated, the NSEC3PARAM flag field
will be zero. At this point you can remove the old NSEC3PARAM
record. The old chain will be removed after the update request
completes.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.42"></a>Converting from NSEC to NSEC3</h3></div></div></div></div>
-<p>To do this, you just need to add an NSEC3PARAM record. When
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.42"></a>Converting from NSEC to NSEC3</h3></div></div></div>
+
+ </div>
+ <p>To do this, you just need to add an NSEC3PARAM record. When
the conversion is complete, the NSEC chain will have been removed
and the NSEC3PARAM record will have a zero flag field. The NSEC3
chain will be generated before the NSEC chain is
destroyed.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.44"></a>Converting from NSEC3 to NSEC</h3></div></div></div></div>
-<p>To do this, use <span class="command"><strong>nsupdate</strong></span> to
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.44"></a>Converting from NSEC3 to NSEC</h3></div></div></div>
+
+ </div>
+ <p>To do this, use <span class="command"><strong>nsupdate</strong></span> to
remove all NSEC3PARAM records with a zero flag
field. The NSEC chain will be generated before the NSEC3 chain is
removed.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.46"></a>Converting from secure to insecure</h3></div></div></div></div>
-<p>To convert a signed zone to unsigned using dynamic DNS,
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.46"></a>Converting from secure to insecure</h3></div></div></div>
+
+ </div>
+ <p>To convert a signed zone to unsigned using dynamic DNS,
delete all the DNSKEY records from the zone apex using
<span class="command"><strong>nsupdate</strong></span>. All signatures, NSEC or NSEC3 chains,
and associated NSEC3PARAM records will be removed automatically.
This will take place after the update request completes.</p>
-<p> This requires the
+ <p> This requires the
<span class="command"><strong>dnssec-secure-to-insecure</strong></span> option to be set to
<strong class="userinput"><code>yes</code></strong> in
<code class="filename">named.conf</code>.</p>
-<p>In addition, if the <span class="command"><strong>auto-dnssec maintain</strong></span>
+ <p>In addition, if the <span class="command"><strong>auto-dnssec maintain</strong></span>
zone statement is used, it should be removed or changed to
<span class="command"><strong>allow</strong></span> instead (or it will re-sign).
</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.50"></a>Periodic re-signing</h3></div></div></div></div>
-<p>In any secure zone which supports dynamic updates, <span class="command"><strong>named</strong></span>
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.50"></a>Periodic re-signing</h3></div></div></div>
+
+ </div>
+ <p>In any secure zone which supports dynamic updates, <span class="command"><strong>named</strong></span>
will periodically re-sign RRsets which have not been re-signed as
a result of some update action. The signature lifetimes will be
adjusted so as to spread the re-sign load over time rather than
all at once.</p>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
-<a name="id-1.5.10.52"></a>NSEC3 and OPTOUT</h3></div></div></div></div>
-<p>
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id-1.5.10.52"></a>NSEC3 and OPTOUT</h3></div></div></div>
+
+ </div>
+ <p>
<span class="command"><strong>named</strong></span> only supports creating new NSEC3 chains
where all the NSEC3 records in the zone have the same OPTOUT
state.
changed if the OPTOUT state of an individual NSEC3 needs to be
changed.</p>
</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="rfc5011.support"></a>Dynamic Trust Anchor Management</h2></div></div></div>
-<p>
+
+ <p>
BIND is able to maintain DNSSEC trust anchors using RFC 5011 key
management. This feature allows <span class="command"><strong>named</strong></span> to keep track
of changes to critical DNSSEC keys without any need for the operator to
make changes to configuration files.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.11.3"></a>Validating Resolver</h3></div></div></div>
-<p>To configure a validating resolver to use RFC 5011 to
+
+
+ <p>To configure a validating resolver to use RFC 5011 to
maintain a trust anchor, configure the trust anchor using a
<span class="command"><strong>managed-keys</strong></span> statement. Information about
this can be found in
<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
and Usage”</a>.</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.11.4"></a>Authoritative Server</h3></div></div></div>
-<p>To set up an authoritative zone for RFC 5011 trust anchor
+
+ <p>To set up an authoritative zone for RFC 5011 trust anchor
maintenance, generate two (or more) key signing keys (KSKs) for
the zone. Sign the zone with one of them; this is the "active"
KSK. All KSKs which do not sign the zone are "stand-by"
keys.</p>
-<p>Any validating resolver which is configured to use the
+ <p>Any validating resolver which is configured to use the
active KSK as an RFC 5011-managed trust anchor will take note
of the stand-by KSKs in the zone's DNSKEY RRset, and store them
for future reference. The resolver will recheck the zone
anchor for the zone. Any time after this 30-day acceptance
timer has completed, the active KSK can be revoked, and the
zone can be "rolled over" to the newly accepted key.</p>
-<p>The easiest way to place a stand-by key in a zone is to
+ <p>The easiest way to place a stand-by key in a zone is to
use the "smart signing" features of
<span class="command"><strong>dnssec-keygen</strong></span> and
<span class="command"><strong>dnssec-signzone</strong></span>. If a key with a publication
the future, "
<span class="command"><strong>dnssec-signzone -S</strong></span>" will include the DNSKEY
record in the zone, but will not sign with it:</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>dnssec-keygen -K keys -f KSK -P now -A now+2y example.net</code></strong>
$ <strong class="userinput"><code>dnssec-signzone -S -K keys example.net</code></strong>
</pre>
-<p>To revoke a key, the new command
+ <p>To revoke a key, the new command
<span class="command"><strong>dnssec-revoke</strong></span> has been added. This adds the
REVOKED bit to the key flags and re-generates the
<code class="filename">K*.key</code> and
<code class="filename">K*.private</code> files.</p>
-<p>After revoking the active key, the zone must be signed
+ <p>After revoking the active key, the zone must be signed
with both the revoked KSK and the new active KSK. (Smart
signing takes care of this automatically.)</p>
-<p>Once a key has been revoked and used to sign the DNSKEY
+ <p>Once a key has been revoked and used to sign the DNSKEY
RRset in which it appears, that key will never again be
accepted as a valid trust anchor by the resolver. However,
validation can proceed using the new active key (which had been
accepted by the resolver when it was a stand-by key).</p>
-<p>See RFC 5011 for more details on key rollover
+ <p>See RFC 5011 for more details on key rollover
scenarios.</p>
-<p>When a key has been revoked, its key ID changes,
+ <p>When a key has been revoked, its key ID changes,
increasing by 128, and wrapping around at 65535. So, for
example, the key "<code class="filename">Kexample.com.+005+10000</code>" becomes
"<code class="filename">Kexample.com.+005+10128</code>".</p>
-<p>If two keys have IDs exactly 128 apart, and one is
+ <p>If two keys have IDs exactly 128 apart, and one is
revoked, then the two key IDs will collide, causing several
problems. To prevent this,
<span class="command"><strong>dnssec-keygen</strong></span> will not generate a new key if
another key is present which may collide. This checking will
only occur if the new keys are written to the same directory
which holds all other keys in use for that zone.</p>
-<p>Older versions of BIND 9 did not have this precaution.
+ <p>Older versions of BIND 9 did not have this precaution.
Exercise caution if using key revocation on keys that were
generated by previous releases, or if using keys stored in
multiple directories or on multiple machines.</p>
-<p>It is expected that a future release of BIND 9 will
+ <p>It is expected that a future release of BIND 9 will
address this problem in a different way, by storing revoked
keys with their original unrevoked key IDs.</p>
+ </div>
</div>
-</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="pkcs11"></a>PKCS#11 (Cryptoki) support</h2></div></div></div>
-<p>
+
+ <p>
PKCS#11 (Public Key Cryptography Standard #11) defines a
platform-independent API for the control of hardware security
modules (HSMs) and other cryptographic support devices.
</p>
-<p>
+ <p>
BIND 9 is known to work with three HSMs: The AEP Keyper, which has
been tested with Debian Linux, Solaris x86 and Windows Server 2003;
the Thales nShield, tested with Debian Linux; and the Sun SCA 6000
a software-based HSM simulator library produced by the OpenDNSSEC
project.
</p>
-<p>
+ <p>
PKCS#11 makes use of a "provider library": a dynamically loadable
library which provides a low-level PKCS#11 interface to drive the HSM
hardware. The PKCS#11 provider library comes from the HSM vendor, and
it is specific to the HSM to be controlled.
</p>
-<p>
+ <p>
There are two available mechanisms for PKCS#11 support in BIND 9:
OpenSSL-based PKCS#11 and native PKCS#11. When using the first
mechanism, BIND uses a modified version of OpenSSL, which loads
OpenSSL completely; BIND loads the provider library itself, and uses
the PKCS#11 API to drive the HSM directly.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.12.6"></a>Prerequisites</h3></div></div></div>
-<p>
+
+ <p>
See the documentation provided by your HSM vendor for
information about installing, initializing, testing and
troubleshooting the HSM.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.12.7"></a>Native PKCS#11</h3></div></div></div>
-<p>
+
+ <p>
Native PKCS#11 mode will only work with an HSM capable of carrying
out <span class="emphasis"><em>every</em></span> cryptographic operation BIND 9 may
need. The HSM's provider library must have a complete implementation
native PKCS#11, it is expected that OpenSSL-based PKCS#11 will
be deprecated.)
</p>
-<p>
+ <p>
To build BIND with native PKCS#11, configure as follows:
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>cd bind9</code></strong>
$ <strong class="userinput"><code>./configure --enable-native-pkcs11 \
--with-pkcs11=<em class="replaceable"><code>provider-library-path</code></em></code></strong>
</pre>
-<p>
+ <p>
This will cause all BIND tools, including <span class="command"><strong>named</strong></span>
and the <span class="command"><strong>dnssec-*</strong></span> and <span class="command"><strong>pkcs11-*</strong></span>
tools, to use the PKCS#11 provider library specified in
<span class="command"><strong>dnssec-*</strong></span> tools, or the <code class="option">-m</code> in
the <span class="command"><strong>pkcs11-*</strong></span> tools.)
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.7.6"></a>Building SoftHSMv2</h4></div></div></div>
-<p>
+
+ <p>
SoftHSMv2, the latest development version of SoftHSM, is available
from
<a class="link" href="https://github.com/opendnssec/SoftHSMv2" target="_top">
cryptographic functions, but when using it for native PKCS#11 in
BIND, OpenSSL is required.
</p>
-<p>
+ <p>
By default, the SoftHSMv2 configuration file is
<em class="replaceable"><code>prefix</code></em>/etc/softhsm2.conf (where
<em class="replaceable"><code>prefix</code></em> is configured at compile time).
variable. The SoftHSMv2 cryptographic store must be installed and
initialized before using it with BIND.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code> cd SoftHSMv2 </code></strong>
$ <strong class="userinput"><code> configure --with-crypto-backend=openssl --prefix=/opt/pkcs11/usr --enable-gost </code></strong>
$ <strong class="userinput"><code> make </code></strong>
$ <strong class="userinput"><code> make install </code></strong>
$ <strong class="userinput"><code> /opt/pkcs11/usr/bin/softhsm-util --init-token 0 --slot 0 --label softhsmv2 </code></strong>
</pre>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.12.8"></a>OpenSSL-based PKCS#11</h3></div></div></div>
-<p>
+
+ <p>
OpenSSL-based PKCS#11 mode uses a modified version of the
OpenSSL library; stock OpenSSL does not fully support PKCS#11.
ISC provides a patch to OpenSSL to correct this. This patch is
modified by ISC to provide new features such as PIN management and
key-by-reference.
</p>
-<p>
+ <p>
There are two "flavors" of PKCS#11 support provided by
the patched OpenSSL, one of which must be chosen at
configuration time. The correct choice depends on the HSM
hardware:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <p>
Use 'crypto-accelerator' with HSMs that have hardware
cryptographic acceleration features, such as the SCA 6000
board. This causes OpenSSL to run all supported
cryptographic operations in the HSM.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
Use 'sign-only' with HSMs that are designed to
function primarily as secure key storage devices, but lack
hardware acceleration. These devices are highly secure, but
such as zone signing, and to use the system CPU for all
other computationally-intensive operations. The AEP Keyper
is an example of such a device.
- </p></li>
+ </p>
+ </li>
</ul></div>
-<p>
+ <p>
The modified OpenSSL code is included in the BIND 9 release,
in the form of a context diff against the latest versions of
OpenSSL. OpenSSL 0.9.8, 1.0.0, 1.0.1 and 1.0.2 are supported;
follow, we use OpenSSL 0.9.8, but the same methods work with
OpenSSL 1.0.0 through 1.0.2.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
The OpenSSL patches as of this writing (January 2016)
is expected to change.
</p>
</div>
-<p>
+ <p>
Before building BIND 9 with PKCS#11 support, it will be
necessary to build OpenSSL with the patch in place, and configure
it with the path to your HSM's PKCS#11 provider library.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.8.8"></a>Patching OpenSSL</h4></div></div></div>
-<pre class="screen">
+
+ <pre class="screen">
$ <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>
</pre>
-<p>Extract the tarball:</p>
-<pre class="screen">
+ <p>Extract the tarball:</p>
+ <pre class="screen">
$ <strong class="userinput"><code>tar zxf openssl-0.9.8zc.tar.gz</code></strong>
</pre>
-<p>Apply the patch from the BIND 9 release:</p>
-<pre class="screen">
+ <p>Apply the patch from the BIND 9 release:</p>
+ <pre class="screen">
$ <strong class="userinput"><code>patch -p1 -d openssl-0.9.8zc \
< bind9/bin/pkcs11/openssl-0.9.8zc-patch</code></strong>
</pre>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
The patch file may not be compatible with the
install GNU patch.
</p>
</div>
-<p>
+ <p>
When building OpenSSL, place it in a non-standard
location so that it does not interfere with OpenSSL libraries
elsewhere on the system. In the following examples, we choose
to install into "/opt/pkcs11/usr". We will use this location
when we configure BIND 9.
</p>
-<p>
+ <p>
Later, when building BIND 9, the location of the custom-built
OpenSSL library will need to be specified via configure.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.8.9"></a>Building OpenSSL for the AEP Keyper on Linux</h4></div></div></div>
-<p>
+
+
+ <p>
The AEP Keyper is a highly secure key storage device,
but does not provide hardware cryptographic acceleration. It
can carry out cryptographic operations, but it is probably
slower than your system's CPU. Therefore, we choose the
'sign-only' flavor when building OpenSSL.
</p>
-<p>
+ <p>
The Keyper-specific PKCS#11 provider library is
delivered with the Keyper software. In this example, we place
it /opt/pkcs11/usr/lib:
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>cp pkcs11.GCC4.0.2.so.4.05 /opt/pkcs11/usr/lib/libpkcs11.so</code></strong>
</pre>
-<p>
+ <p>
The Keyper library requires threads, so we
must specify -pthread.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>cd openssl-0.9.8zc</code></strong>
$ <strong class="userinput"><code>./Configure linux-x86_64 -pthread \
--pk11-libname=/opt/pkcs11/usr/lib/libpkcs11.so \
--pk11-flavor=sign-only \
--prefix=/opt/pkcs11/usr</code></strong>
</pre>
-<p>
+ <p>
After configuring, run "<span class="command"><strong>make</strong></span>"
and "<span class="command"><strong>make test</strong></span>". If "<span class="command"><strong>make
test</strong></span>" fails with "pthread_atfork() not found", you forgot to
add the -pthread above.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.8.10"></a>Building OpenSSL for the SCA 6000 on Solaris</h4></div></div></div>
-<p>
+
+
+ <p>
The SCA-6000 PKCS#11 provider is installed as a system
library, libpkcs11. It is a true crypto accelerator, up to 4
times faster than any CPU, so the flavor shall be
'crypto-accelerator'.
</p>
-<p>
+ <p>
In this example, we are building on Solaris x86 on an
AMD64 system.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>cd openssl-0.9.8zc</code></strong>
$ <strong class="userinput"><code>./Configure solaris64-x86_64-cc \
--pk11-libname=/usr/lib/64/libpkcs11.so \
--pk11-flavor=crypto-accelerator \
--prefix=/opt/pkcs11/usr</code></strong>
</pre>
-<p>
+ <p>
(For a 32-bit build, use "solaris-x86-cc" and /usr/lib/libpkcs11.so.)
</p>
-<p>
+ <p>
After configuring, run
<span class="command"><strong>make</strong></span> and
<span class="command"><strong>make test</strong></span>.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.8.11"></a>Building OpenSSL for SoftHSM</h4></div></div></div>
-<p>
+
+
+ <p>
SoftHSM (version 1) is a software library developed by the
OpenDNSSEC project
(<a class="link" href="http://www.opendnssec.org" target="_top">
less secure than a true HSM, it can allow you to experiment
with PKCS#11 when an HSM is not available.
</p>
-<p>
+ <p>
The SoftHSM cryptographic store must be installed and
initialized before using it with OpenSSL, and the SOFTHSM_CONF
environment variable must always point to the SoftHSM configuration
file:
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code> cd softhsm-1.3.7 </code></strong>
$ <strong class="userinput"><code> configure --prefix=/opt/pkcs11/usr </code></strong>
$ <strong class="userinput"><code> make </code></strong>
$ <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>
</pre>
-<p>
+ <p>
SoftHSM can perform all cryptographic operations, but
since it only uses your system CPU, there is no advantage to using
it for anything but signing. Therefore, we choose the 'sign-only'
flavor when building OpenSSL.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>cd openssl-0.9.8zc</code></strong>
$ <strong class="userinput"><code>./Configure linux-x86_64 -pthread \
--pk11-libname=/opt/pkcs11/usr/lib/libsofthsm.so \
--pk11-flavor=sign-only \
--prefix=/opt/pkcs11/usr</code></strong>
</pre>
-<p>
+ <p>
After configuring, run "<span class="command"><strong>make</strong></span>"
and "<span class="command"><strong>make test</strong></span>".
</p>
-</div>
-<p>
+ </div>
+ <p>
Once you have built OpenSSL, run
"<span class="command"><strong>apps/openssl engine pkcs11</strong></span>" to confirm
that PKCS#11 support was compiled in correctly. The output
should be one of the following lines, depending on the flavor
selected:
</p>
-<pre class="screen">
+ <pre class="screen">
(pkcs11) PKCS #11 engine support (sign only)
</pre>
-<p>Or:</p>
-<pre class="screen">
+ <p>Or:</p>
+ <pre class="screen">
(pkcs11) PKCS #11 engine support (crypto accelerator)
</pre>
-<p>
+ <p>
Next, run
"<span class="command"><strong>apps/openssl engine pkcs11 -t</strong></span>". This will
attempt to initialize the PKCS#11 engine. If it is able to
do so successfully, it will report
<span class="quote">“<span class="quote"><code class="literal">[ available ]</code></span>”</span>.
</p>
-<p>
+ <p>
If the output is correct, run
"<span class="command"><strong>make install</strong></span>" which will install the
modified OpenSSL suite to <code class="filename">/opt/pkcs11/usr</code>.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.8.18"></a>Configuring BIND 9 for Linux with the AEP Keyper</h4></div></div></div>
-<p>
+
+
+ <p>
To link with the PKCS#11 provider, threads must be
enabled in the BIND 9 build.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>cd ../bind9</code></strong>
$ <strong class="userinput"><code>./configure --enable-threads \
--with-openssl=/opt/pkcs11/usr \
--with-pkcs11=/opt/pkcs11/usr/lib/libpkcs11.so</code></strong>
</pre>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.8.19"></a>Configuring BIND 9 for Solaris with the SCA 6000</h4></div></div></div>
-<p>
+
+
+ <p>
To link with the PKCS#11 provider, threads must be
enabled in the BIND 9 build.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>cd ../bind9</code></strong>
$ <strong class="userinput"><code>./configure CC="cc -xarch=amd64" --enable-threads \
--with-openssl=/opt/pkcs11/usr \
--with-pkcs11=/usr/lib/64/libpkcs11.so</code></strong>
</pre>
-<p>(For a 32-bit build, omit CC="cc -xarch=amd64".)</p>
-<p>
+ <p>(For a 32-bit build, omit CC="cc -xarch=amd64".)</p>
+ <p>
If configure complains about OpenSSL not working, you
may have a 32/64-bit architecture mismatch. Or, you may have
incorrectly specified the path to OpenSSL (it should be the
same as the --prefix argument to the OpenSSL
Configure).
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.5.12.8.20"></a>Configuring BIND 9 for SoftHSM</h4></div></div></div>
-<pre class="screen">
+
+
+ <pre class="screen">
$ <strong class="userinput"><code>cd ../bind9</code></strong>
$ <strong class="userinput"><code>./configure --enable-threads \
--with-openssl=/opt/pkcs11/usr \
--with-pkcs11=/opt/pkcs11/usr/lib/libsofthsm.so</code></strong>
</pre>
-</div>
-<p>
+ </div>
+ <p>
After configuring, run
"<span class="command"><strong>make</strong></span>",
"<span class="command"><strong>make test</strong></span>" and
"<span class="command"><strong>make install</strong></span>".
</p>
-<p>
+ <p>
(Note: If "make test" fails in the "pkcs11" system test, you may
have forgotten to set the SOFTHSM_CONF environment variable.)
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.12.9"></a>PKCS#11 Tools</h3></div></div></div>
-<p>
+
+ <p>
BIND 9 includes a minimal set of tools to operate the
HSM, including
<span class="command"><strong>pkcs11-keygen</strong></span> to generate a new key pair
<span class="command"><strong>pkcs11-destroy</strong></span> to remove objects, and
<span class="command"><strong>pkcs11-tokens</strong></span> to list available tokens.
</p>
-<p>
+ <p>
In UNIX/Linux builds, these tools are built only if BIND
9 is configured with the --with-pkcs11 option. (Note: If
--with-pkcs11 is set to "yes", rather than to the path of the
PKCS11_PROVIDER environment variable to specify the path to the
provider.)
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.12.10"></a>Using the HSM</h3></div></div></div>
-<p>
+
+ <p>
For OpenSSL-based PKCS#11, we must first set up the runtime
environment so the OpenSSL and PKCS#11 libraries can be loaded:
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>export LD_LIBRARY_PATH=/opt/pkcs11/usr/lib:${LD_LIBRARY_PATH}</code></strong>
</pre>
-<p>
+ <p>
This causes <span class="command"><strong>named</strong></span> and other binaries to load
the OpenSSL library from <code class="filename">/opt/pkcs11/usr/lib</code>
rather than from the default location. This step is not necessary
when using native PKCS#11.
</p>
-<p>
+ <p>
Some HSMs require other environment variables to be set.
For example, when operating an AEP Keyper, it is necessary to
specify the location of the "machine" file, which stores
<code class="filename">/opt/Keyper/PKCS11Provider/machine</code>,
use:
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>export KEYPER_LIBRARY_PATH=/opt/Keyper/PKCS11Provider</code></strong>
</pre>
-<p>
+ <p>
Such environment variables must be set whenever running
any tool that uses the HSM, including
<span class="command"><strong>pkcs11-keygen</strong></span>,
<span class="command"><strong>dnssec-keygen</strong></span>, and
<span class="command"><strong>named</strong></span>.
</p>
-<p>
+ <p>
We can now create and use keys in the HSM. In this case,
we will create a 2048 bit key and give it the label
"sample-ksk":
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>pkcs11-keygen -b 2048 -l sample-ksk</code></strong>
</pre>
-<p>To confirm that the key exists:</p>
-<pre class="screen">
+ <p>To confirm that the key exists:</p>
+ <pre class="screen">
$ <strong class="userinput"><code>pkcs11-list</code></strong>
Enter PIN:
object[0]: handle 2147483658 class 3 label[8] 'sample-ksk' id[0]
object[1]: handle 2147483657 class 2 label[8] 'sample-ksk' id[0]
</pre>
-<p>
+ <p>
Before using this key to sign a zone, we must create a
pair of BIND 9 key files. The "dnssec-keyfromlabel" utility
does this. In this case, we will be using the HSM key
"sample-ksk" as the key-signing key for "example.net":
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>dnssec-keyfromlabel -l sample-ksk -f KSK example.net</code></strong>
</pre>
-<p>
+ <p>
The resulting K*.key and K*.private files can now be used
to sign the zone. Unlike normal K* files, which contain both
public and private key data, these files will contain only the
remains stored within the HSM. Signing with the private key takes
place inside the HSM.
</p>
-<p>
+ <p>
If you wish to generate a second key in the HSM for use
as a zone-signing key, follow the same procedure above, using a
different keylabel, a smaller key size, and omitting "-f KSK"
from the dnssec-keyfromlabel arguments:
</p>
-<p>
+ <p>
(Note: When using OpenSSL-based PKCS#11 the label is an arbitrary
string which identifies the key. With native PKCS#11, the label is
a PKCS#11 URI string which may include other details about the key
and the HSM, including its PIN. See
<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.)
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>pkcs11-keygen -b 1024 -l sample-zsk</code></strong>
$ <strong class="userinput"><code>dnssec-keyfromlabel -l sample-zsk example.net</code></strong>
</pre>
-<p>
+ <p>
Alternatively, you may prefer to generate a conventional
on-disk key, using dnssec-keygen:
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>dnssec-keygen example.net</code></strong>
</pre>
-<p>
+ <p>
This provides less security than an HSM key, but since
HSMs can be slow or cumbersome to use for security reasons, it
may be more efficient to reserve HSM keys for use in the less
there is no speed advantage to using on-disk keys, as cryptographic
operations will be done by the HSM regardless.)
</p>
-<p>
+ <p>
Now you can sign the zone. (Note: If not using the -S
option to <span class="command"><strong>dnssec-signzone</strong></span>, it will be
necessary to add the contents of both <code class="filename">K*.key</code>
files to the zone master file before signing it.)
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>dnssec-signzone -S example.net</code></strong>
Enter PIN:
Verifying the zone using the following algorithms:
Algorithm: NSEC3RSASHA1: ZSKs: 1, KSKs: 1 active, 0 revoked, 0 stand-by
example.net.signed
</pre>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.12.11"></a>Specifying the engine on the command line</h3></div></div></div>
-<p>
+
+ <p>
When using OpenSSL-based PKCS#11, the "engine" to be used by
OpenSSL can be specified in <span class="command"><strong>named</strong></span> and all of
the BIND <span class="command"><strong>dnssec-*</strong></span> tools by using the "-E
for some reason you wish to use a different OpenSSL
engine.
</p>
-<p>
+ <p>
If you wish to disable use of the "pkcs11" engine —
for troubleshooting purposes, or because the HSM is unavailable
— set the engine to the empty string. For example:
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>dnssec-signzone -E '' -S example.net</code></strong>
</pre>
-<p>
+ <p>
This causes
<span class="command"><strong>dnssec-signzone</strong></span> to run as if it were compiled
without the --with-pkcs11 option.
</p>
-<p>
+ <p>
When built with native PKCS#11 mode, the "engine" option has a
different meaning: it specifies the path to the PKCS#11 provider
library. This may be useful when testing a new provider library.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.12.12"></a>Running named with automatic zone re-signing</h3></div></div></div>
-<p>
+
+ <p>
If you want <span class="command"><strong>named</strong></span> to dynamically re-sign zones
using HSM keys, and/or to to sign new records inserted via nsupdate,
then <span class="command"><strong>named</strong></span> must have access to the HSM PIN. In OpenSSL-based PKCS#11,
(in the above examples,
<code class="filename">/opt/pkcs11/usr/ssl/openssl.cnf</code>).
</p>
-<p>
+ <p>
The location of the openssl.cnf file can be overridden by
setting the OPENSSL_CONF environment variable before running
<span class="command"><strong>named</strong></span>.
</p>
-<p>Sample openssl.cnf:</p>
-<pre class="programlisting">
+ <p>Sample openssl.cnf:</p>
+ <pre class="programlisting">
openssl_conf = openssl_def
[ openssl_def ]
engines = engine_section
[ pkcs11_section ]
PIN = <em class="replaceable"><code><PLACE PIN HERE></code></em>
</pre>
-<p>
+ <p>
This will also allow the dnssec-* tools to access the HSM
without PIN entry. (The pkcs11-* tools access the HSM directly,
not via OpenSSL, so a PIN will still be required to use
them.)
</p>
-<p>
+ <p>
In native PKCS#11 mode, the PIN can be provided in a file specified
as an attribute of the key's label. For example, if a key had the label
<strong class="userinput"><code>pkcs11:object=local-zsk;pin-source=/etc/hsmpin</code></strong>,
then the PIN would be read from the file
<code class="filename">/etc/hsmpin</code>.
</p>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
-<p>
+ <p>
Placing the HSM's PIN in a text file in this manner may reduce the
security advantage of using an HSM. Be sure this is what you want to
do before configuring the system in this way.
</p>
+ </div>
+ </div>
</div>
-</div>
-</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dlz-info"></a>DLZ (Dynamically Loadable Zones)</h2></div></div></div>
-<p>
+
+ <p>
DLZ (Dynamically Loadable Zones) is an extension to BIND 9 that allows
zone data to be retrieved directly from an external database. There is
no required format or schema. DLZ drivers exist for several different
database backends including PostgreSQL, MySQL, and LDAP and can be
written for any other.
</p>
-<p>
+ <p>
Historically, DLZ drivers had to be statically linked with the <span class="command"><strong>named</strong></span>
binary and were turned on via a configure option at compile time (for
example, <strong class="userinput"><code>"configure --with-dlz-ldap"</code></strong>).
<code class="filename">contrib/dlz/drivers</code> are still linked this
way.
</p>
-<p>
+ <p>
In BIND 9.8 and higher, it is possible to link some DLZ modules
dynamically at runtime, via the DLZ "dlopen" driver, which acts as a
generic wrapper around a shared object implementing the DLZ API. The
but are still needed for the older drivers in
<code class="filename">contrib/dlz/drivers</code>.
</p>
-<p>
+
+ <p>
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
conversion, and the lack of any internal caching, places significant
DNS notify; slaves are not automatically informed of changes to the
zones in the database.)
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.13.6"></a>Configuring DLZ</h3></div></div></div>
-<p>
+
+ <p>
A DLZ database is configured with a <span class="command"><strong>dlz</strong></span>
statement in <code class="filename">named.conf</code>:
</p>
-<pre class="screen">
+ <pre class="screen">
dlz example {
database "dlopen driver.so <code class="option">args</code>";
search yes;
};
</pre>
-<p>
+ <p>
This specifies a DLZ module to search when answering queries; the
module is implemented in <code class="filename">driver.so</code> and is
loaded at runtime by the dlopen DLZ driver. Multiple
they contain an answer for the query name; the best available
answer will be returned to the client.
</p>
-<p>
+ <p>
The <code class="option">search</code> option in the above example can be
omitted, because <code class="literal">yes</code> is the default value.
</p>
-<p>
+ <p>
If <code class="option">search</code> is set to <code class="literal">no</code>, then
this DLZ module is <span class="emphasis"><em>not</em></span> searched for the best
match when a query is received. Instead, zones in this DLZ must be
zone's data. For example, to implement NXDOMAIN redirection using
a DLZ module for back-end storage of redirection rules:
</p>
-<pre class="screen">
+ <pre class="screen">
dlz other {
database "dlopen driver.so <code class="option">args</code>";
search no;
dlz other;
};
</pre>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.13.7"></a>Sample DLZ Driver</h3></div></div></div>
-<p>
+
+ <p>
For guidance in implementation of DLZ modules, the directory
<code class="filename">contrib/dlz/example</code> contains a basic
dynamically-linkable DLZ module--i.e., one which can be
to the module as an argument in the <span class="command"><strong>dlz</strong></span>
statement:
</p>
-<pre class="screen">
+ <pre class="screen">
dlz other {
database "dlopen driver.so example.nil";
};
</pre>
-<p>
+ <p>
In the above example, the module is configured to create a zone
"example.nil", which can answer queries and AXFR requests, and
accept DDNS updates. At runtime, prior to any updates, the zone
contains an SOA, NS, and a single A record at the apex:
</p>
-<pre class="screen">
+ <pre class="screen">
example.nil. 3600 IN SOA example.nil. hostmaster.example.nil. (
123 900 600 86400 3600
)
example.nil. 3600 IN NS example.nil.
example.nil. 1800 IN A 10.53.0.1
</pre>
-<p>
+ <p>
The sample driver is capable of retrieving information about the
querying client, and altering its response on the basis of this
information. To demonstrate this feature, the example driver
e.g., by providing different address records for a particular name
depending on the network from which the query arrived.
</p>
-<p>
+ <p>
Documentation of the DLZ module API can be found in
<code class="filename">contrib/dlz/example/README</code>. This directory also
contains the header file <code class="filename">dlz_minimal.h</code>, which
defines the API and should be included by any dynamically-linkable
DLZ module.
</p>
+ </div>
</div>
-</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dyndb-info"></a>DynDB (Dynamic Database)</h2></div></div></div>
-<p>
+
+ <p>
DynDB is an extension to BIND 9 which, like DLZ
(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
retrieved from an external database. Unlike DLZ, a DynDB module
data source, providing the same performance and functionality
as zones served natively by BIND.
</p>
-<p>
+ <p>
A DynDB module supporting LDAP has been created by Red Hat
and is available from
<a class="link" href="https://fedorahosted.org/bind-dyndb-ldap/" target="_top">https://fedorahosted.org/bind-dyndb-ldap/</a>.
</p>
-<p>
+ <p>
A sample DynDB module for testing and developer guidance
is included with the BIND source code, in the directory
<code class="filename">bin/tests/system/dyndb/driver</code>.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.14.5"></a>Configuring DynDB</h3></div></div></div>
-<p>
+
+ <p>
A DynDB database is configured with a <span class="command"><strong>dyndb</strong></span>
statement in <code class="filename">named.conf</code>:
</p>
-<pre class="screen">
+ <pre class="screen">
dyndb example "driver.so" {
<em class="replaceable"><code>parameters</code></em>
};
</pre>
-<p>
+ <p>
The file <code class="filename">driver.so</code> is a DynDB module which
implements the full DNS database API. Multiple
<span class="command"><strong>dyndb</strong></span> statements can be specified, to load
is responding to queries. Zone configuration is handled internally
by the DynDB module.
</p>
-<p>
+ <p>
The <em class="replaceable"><code>parameters</code></em> are passed as an opaque
string to the DynDB module's initialization routine. Configuration
syntax will differ depending on the driver.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.14.6"></a>Sample DynDB Module</h3></div></div></div>
-<p>
+
+ <p>
For guidance in implementation of DynDB modules, the directory
<code class="filename">bin/tests/system/dyndb/driver</code>.
contains a basic DynDB module.
to the module as arguments in the <span class="command"><strong>dyndb</strong></span>
statement:
</p>
-<pre class="screen">
+ <pre class="screen">
dyndb sample "sample.so" { example.nil. arpa. };
</pre>
-<p>
+ <p>
In the above example, the module is configured to create a zone
"example.nil", which can answer queries and AXFR requests, and
accept DDNS updates. At runtime, prior to any updates, the zone
contains an SOA, NS, and a single A record at the apex:
</p>
-<pre class="screen">
+ <pre class="screen">
example.nil. 86400 IN SOA example.nil. example.nil. (
0 28800 7200 604800 86400
)
example.nil. 86400 IN NS example.nil.
example.nil. 86400 IN A 127.0.0.1
</pre>
-<p>
+ <p>
When the zone is updated dynamically, the DynDB module will determine
whether the updated RR is an address (i.e., type A or AAAA) and if
so, it will automatically update the corresponding PTR record in a
reverse zone. (Updates are not stored permanently; all updates are
lost when the server is restarted.)
</p>
+ </div>
</div>
-</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="catz-info"></a>Catalog Zones</h2></div></div></div>
-<p>
+
+ <p>
A "catalog zone" is a special DNS zone that contains a list of
other zones to be served, along with their configuration parameters.
Zones listed in a catalog zone are called "member zones".
configuration changes can be propagated using the standard AXFR/IXFR
zone transfer mechanism.
</p>
-<p>
+ <p>
Catalog zones' format and behavior are specified as an internet draft
for interoperability among DNS implementations. As of this release, the
latest revision of the DNS catalog zones draft can be found here:
https://datatracker.ietf.org/doc/draft-muks-dnsop-dns-catalog-zones/
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.15.4"></a>Principle of Operation</h3></div></div></div>
-<p>
+ <p>
Normally, if a zone is to be served by a slave server, the
<code class="filename">named.conf</code> file on the server must list the
zone, or the zone must be added using <span class="command"><strong>rndc addzone</strong></span>.
in maintaining consistent zone configuration on all the slave
servers can be significant.
</p>
-<p>
+ <p>
A catalog zone is a way to ease this administrative burden. It is a
DNS zone that lists member zones that should be served by slave servers.
When a slave server receives an update to the catalog zone, it adds,
removes, or reconfigures member zones based on the data received.
</p>
-<p>
+ <p>
To use a catalog zone, it must first be set up as a normal zone on
the master and the on slave servers that will be configured to use
it. It must also be added to a <code class="option">catalog-zones</code> list
a policy zone is configured as a normal zone and also listed in
a <code class="option">response-policy</code> statement.)
</p>
-<p>
+ <p>
To use the catalog zone feature to serve a new member zone:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
+<li class="listitem">
+ <p>
Set up the the member zone to be served on the master as normal.
This could be done by editing <code class="filename">named.conf</code>,
or by running <span class="command"><strong>rndc addzone</strong></span>.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
Add an entry to the catalog zone for the new member zone.
This could be done by editing the catalog zone's master file
and running <span class="command"><strong>rndc reload</strong></span>, or by updating
the zone using <span class="command"><strong>nsupdate</strong></span>.
- </p></li>
+ </p>
+ </li>
</ul></div>
<p>
The change to the catalog zone will be propagated from the master to all
BIND will immediately initiate a transfer of zone contents from the
master. Once complete, the slave will start serving the member zone.
</p>
-<p>
+ <p>
Removing a member zone from a slave server requires nothing more than
deleting the member zone's entry in the catalog zone. The change to the
catalog zone is propagated to the slave server using the normal AXFR/IXFR
by editing the configuration file or running
<span class="command"><strong>rndc delzone</strong></span>.)
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.15.5"></a>Configuring Catalog Zones</h3></div></div></div>
-<p>
+ <p>
Catalog zones are configured with a <span class="command"><strong>catalog-zones</strong></span>
statement in the <code class="literal">options</code> or <code class="literal">view</code>
section of <code class="filename">named.conf</code>. For example,
min-update-interval 10;
};
</pre>
-<p>
+ <p>
This statement specifies that the zone
<code class="literal">catalog.example</code> is a catalog zone. This zone must be
properly configured in the same view. In most configurations, it would
be a slave zone.
</p>
-<p>
+ <p>
The options following the zone name are not required, and may be
specified in any order:
</p>
-<p>
+ <p>
The <code class="option">default-masters</code> option defines the default masters
for member zones listed in a catalog zone. This can be overridden by
options within a catalog zone. If no such options are included, then
member zones will transfer their contents from the servers listed in
this option.
</p>
-<p>
+ <p>
The <code class="option">in-memory</code> option, if set to <code class="literal">yes</code>,
causes member zones to be stored only in memory. This is functionally
equivalent to configuring a slave zone without a <code class="option">file</code>.
will be stored locally in a file whose name is automatically generated
from the view name, catalog zone name, and member zone name.
</p>
-<p>
+ <p>
The <code class="option">zone-directory</code> option causes local copies of
member zones' master files (if <code class="option">in-memory</code> is not set
to <code class="literal">yes</code>) to be stored in the specified directory.
A non-absolute pathname in <code class="option">zone-directory</code> is
assumed to be relative to the working directory.
</p>
-<p>
+ <p>
The <code class="option">min-update-interval</code> option sets the minimum
interval between processing of updates to catalog zones, in seconds.
If an update to a catalog zone (for example, via IXFR) happens less
recent update, then the changes will not be carried out until this
interval has elapsed. The default is <code class="literal">5</code> seconds.
</p>
-<p>
+ <p>
Catalog zones are defined on a per-view basis. Configuring a non-empty
<code class="option">catalog-zones</code> statement in a view will automatically
turn on <code class="option">allow-new-zones</code> for that view. (Note: this
means <span class="command"><strong>rndc addzone</strong></span> and <span class="command"><strong>rndc delzone</strong></span>
will also work in any view that supports catalog zones.)
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.15.6"></a>Catalog Zone format</h3></div></div></div>
-<p>
+ <p>
A catalog zone is a regular DNS zone; therefore, it has to have a
single <code class="literal">SOA</code> and at least one <code class="literal">NS</code>
record.
</p>
-<p>
+ <p>
A record stating the version of the catalog zone format is
also required. If the version number listed is not supported by
the server, then a catalog zone may not be used by that server.
catalog.example. IN NS nsexample.
version.catalog.example. IN TXT "1"
</pre>
-<p>
+ <p>
Note that this record must have the domain name
version.<em class="replaceable"><code>catalog-zone-name</code></em>. This illustrates
how the meaning of data stored in a catalog zone is indicated by the
the domain name label immediately before the catalog zone domain.
</p>
-<p>
+ <p>
Catalog zone options can be set either globally for the whole catalog
zone or for a single member zone. Global options override the settings
in the configuration file and member zone options override global
options.
</p>
-<p>
+ <p>
Global options are set at the apex of the catalog zone, e.g.:
</p>
<pre class="screen">
masters.catalog.example. IN AAAA 2001:db8::1
</pre>
-<p>BIND currently supports the following options:</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+ <p>BIND currently supports the following options:</p>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
-<p>A simple <code class="option">masters</code> definition:</p>
-<pre class="screen">
+ <p>A simple <code class="option">masters</code> definition:</p>
+ <pre class="screen">
masters.catalog.example. IN A 192.0.2.1
</pre>
-<p>
+ <p>
This option defines a master server for the member zones - it
can be either an A or AAAA record. If multiple masters are set the
order in which they are used is random.
</p>
-</li>
+ </li>
<li class="listitem">
-<p>A <code class="option">masters</code> with a TSIG key defined:</p>
-<pre class="screen">
+ <p>A <code class="option">masters</code> with a TSIG key defined:</p>
+ <pre class="screen">
label.masters.catalog.example. IN A 192.0.2.2
label.masters.catalog.example. IN TXT "tsig_key_name"
</pre>
-<p>
+ <p>
This option defines a master server for the member zone with a TSIG
key set. The TSIG key must be configured in the configuration file.
<code class="option">label</code> can be any valid DNS label.
</p>
-</li>
+ </li>
<li class="listitem">
-<p><code class="option">allow-query</code> and
+ <p><code class="option">allow-query</code> and
<code class="option">allow-transfer</code> ACLs:</p>
-<pre class="screen">
+ <pre class="screen">
allow-query.catalog.example. IN APL 1:10.0.0.1/24
allow-transfer.catalog.example. IN APL !1:10.0.0.1/32 1:10.0.0.0/24
</pre>
-<p>
+ <p>
These options are the equivalents of <code class="option">allow-query</code>
and <code class="option">allow-transfer</code> in a zone declaration in the
<code class="filename">named.conf</code> configuration file. The ACL is
policy is to deny access. For the syntax of the APL RR see RFC
3123
</p>
-</li>
+ </li>
</ul></div>
-<p>
+ <p>
A member zone is added by including a <code class="literal">PTR</code>
resource record in the <code class="literal">zones</code> sub-domain of the
catalog zone. The record label is a <code class="literal">SHA-1</code> hash
<pre class="screen">
5960775ba382e7a4e09263fc06e7c00569b6a05c.zones.catalog.example. IN PTR domain.example.
</pre>
-<p>
+ <p>
The hash is necessary to identify options for a specific member
zone. The member zone-specific options are defined the same way as
global options, but in the member zone subdomain:
label.masters.5960775ba382e7a4e09263fc06e7c00569b6a05c.zones.catalog.example. IN TXT "tsig_key"
allow-query.5960775ba382e7a4e09263fc06e7c00569b6a05c.zones.catalog.example. IN APL 1:10.0.0.0/24
</pre>
-<p>
+ <p>
As would be expected, options defined for a specific zone override
the global options defined in the catalog zone. These in turn override
the global options defined in the <code class="literal">catalog-zones</code>
statement in the configuration file.
</p>
-<p>
+ <p>
(Note that none of the global records an option will be inherited if
any records are defined for that option for the specific zone. For
example, if the zone had a <code class="literal">masters</code> record of type
A but not AAAA, then it would <span class="emphasis"><em>not</em></span> inherit the
type AAAA record from the global option.)
</p>
+ </div>
</div>
-</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="ipv6"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
-<p>
+ <p>
<acronym class="acronym">BIND</acronym> 9 fully supports all currently
defined forms of IPv6 name to address and address to name
lookups. It will also use IPv6 addresses to make queries when
running on an IPv6 capable system.
</p>
-<p>
+
+ <p>
For forward lookups, <acronym class="acronym">BIND</acronym> 9 supports
only AAAA records. RFC 3363 deprecated the use of A6 records,
and client-side support for A6 records was accordingly removed
for A6 records, and accept zone transfer for a zone containing A6
records.
</p>
-<p>
+
+ <p>
For IPv6 reverse lookups, <acronym class="acronym">BIND</acronym> 9 supports
the traditional "nibble" format used in the
<span class="emphasis"><em>ip6.arpa</em></span> domain, as well as the older, deprecated
In particular, an authoritative <acronym class="acronym">BIND</acronym> 9
name server will not load a zone file containing binary labels.
</p>
-<p>
+
+ <p>
For an overview of the format and structure of IPv6 addresses,
see <a class="xref" href="Bv9ARM.ch11.html#ipv6addresses" title="IPv6 addresses (AAAA)">the section called “IPv6 addresses (AAAA)”</a>.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.16.6"></a>Address Lookups Using AAAA Records</h3></div></div></div>
-<p>
+
+ <p>
The IPv6 AAAA record is a parallel to the IPv4 A record,
and, unlike the deprecated A6 record, specifies the entire
IPv6 address in a single record. For example,
</p>
+
<pre class="programlisting">
$ORIGIN example.com.
host 3600 IN AAAA 2001:db8::1
</pre>
-<p>
+
+ <p>
Use of IPv4-in-IPv6 mapped addresses is not recommended.
If a host has an IPv4 address, use an A record, not
a AAAA, with <code class="literal">::ffff:192.168.42.1</code> as
the address.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.5.16.7"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
-<p>
+
+ <p>
When looking up an address in nibble format, the address
components are simply reversed, just as in IPv4, and
<code class="literal">ip6.arpa.</code> is appended to the
a host with address
<code class="literal">2001:db8::1</code>.
</p>
+
<pre class="programlisting">
$ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 14400 IN PTR (
host.example.com. )
</pre>
-</div>
-</div>
-</div>
+
+ </div>
+ </div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 5. The BIND 9 Lightweight Resolver</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch04.html" title="Chapter 4. Advanced DNS Features">
<dt><span class="section"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
</dl>
</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="lightweight_resolver"></a>The Lightweight Resolver Library</h2></div></div></div>
-<p>
+
+ <p>
Traditionally applications have been linked with a stub resolver
library that sends recursive DNS queries to a local caching name
server.
</p>
-<p>
+ <p>
IPv6 once introduced new complexity into the resolution process,
such as following A6 chains and DNAME records, and simultaneous
lookup of IPv4 and IPv6 addresses. Though most of the complexity was
then removed, these are hard or impossible
to implement in a traditional stub resolver.
</p>
-<p>
+ <p>
<acronym class="acronym">BIND</acronym> 9 therefore can also provide resolution
services to local clients
using a combination of a lightweight resolver library and a resolver
a simple UDP-based protocol, the "lightweight resolver protocol"
that is distinct from and simpler than the full DNS protocol.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="lwresd"></a>Running a Resolver Daemon</h2></div></div></div>
-<p>
+
+ <p>
To use the lightweight resolver interface, the system must
run the resolver daemon <span class="command"><strong>lwresd</strong></span> or a
local
name server configured with a <span class="command"><strong>lwres</strong></span>
statement.
</p>
-<p>
+
+ <p>
By default, applications using the lightweight resolver library will
make
UDP requests to the IPv4 loopback address (127.0.0.1) on port 921.
lines in
<code class="filename">/etc/resolv.conf</code>.
</p>
-<p>
+
+ <p>
The daemon currently only looks in the DNS, but in the future
it may use other sources such as <code class="filename">/etc/hosts</code>,
NIS, etc.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>lwresd</strong></span> daemon is essentially a
caching-only name server that responds to requests using the
lightweight
autonomously if
none are specified.
</p>
-<p>
+ <p>
The <span class="command"><strong>lwresd</strong></span> daemon may also be
configured with a
<code class="filename">named.conf</code> style configuration file,
be configured to act as a lightweight resolver daemon using the
<span class="command"><strong>lwres</strong></span> statement in <code class="filename">named.conf</code>.
</p>
-<p>
+ <p>
The number of client queries that the <span class="command"><strong>lwresd</strong></span>
daemon is able to serve can be set using the
<code class="option">lwres-tasks</code> and <code class="option">lwres-clients</code>
statements in the configuration.
</p>
-</div>
-</div>
+ </div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 6. BIND 9 Configuration Reference</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch05.html" title="Chapter 5. The BIND 9 Lightweight Resolver">
</dl></dd>
</dl>
</div>
-<p>
+
+ <p>
<acronym class="acronym">BIND</acronym> 9 configuration is broadly similar
to <acronym class="acronym">BIND</acronym> 8; however, there are a few new
areas
if they can be more efficiently implemented using the new features
found in <acronym class="acronym">BIND</acronym> 9.
</p>
-<p>
+
+ <p>
<acronym class="acronym">BIND</acronym> 4 configuration files can be
converted to the new format
using the shell script
<code class="filename">contrib/named-bootconf/named-bootconf.sh</code>.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="configuration_file_elements"></a>Configuration File Elements</h2></div></div></div>
-<p>
+
+ <p>
Following is a list of elements used throughout the <acronym class="acronym">BIND</acronym> configuration
file documentation:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.855in" class="1">
<col width="3.770in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<div class="section">
+</table>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="address_match_lists"></a>Address Match Lists</h3></div></div></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.7.4.4.2"></a>Syntax</h4></div></div></div>
+
<pre class="programlisting"><em class="replaceable"><code>address_match_list</code></em> = <em class="replaceable"><code>address_match_list_element</code></em> <span class="command"><strong>;</strong></span> ...
<em class="replaceable"><code>address_match_list_element</code></em> = [ <span class="command"><strong>!</strong></span> ] ( <em class="replaceable"><code>ip_address</code></em> | <em class="replaceable"><code>ip_prefix</code></em> |
<span class="command"><strong>key</strong></span> <em class="replaceable"><code>key_id</code></em> | <em class="replaceable"><code>acl_name</code></em> | <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> )
</pre>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.7.4.4.3"></a>Definition and Usage</h4></div></div></div>
-<p>
+
+ <p>
Address match lists are primarily used to determine access
control for various server operations. They are also used in
the <span class="command"><strong>listen-on</strong></span> and <span class="command"><strong>sortlist</strong></span>
statements. The elements which constitute an address match
list can be any of the following:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem">an IP address (IPv4 or IPv6)</li>
-<li class="listitem">an IP prefix (in `/' notation)</li>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ an IP address (IPv4 or IPv6)
+ </li>
+<li class="listitem">
+ an IP prefix (in `/' notation)
+ </li>
<li class="listitem">
+
a key ID, as defined by the <span class="command"><strong>key</strong></span>
statement
- </li>
-<li class="listitem">the name of an address match list defined with
+
+ </li>
+<li class="listitem">
+ the name of an address match list defined with
the <span class="command"><strong>acl</strong></span> statement
- </li>
-<li class="listitem">a nested address match list enclosed in braces</li>
+
+ </li>
+<li class="listitem">
+ a nested address match list enclosed in braces
+ </li>
</ul></div>
-<p>
+
+ <p>
Elements can be negated with a leading exclamation mark (`!'),
and the match list names "any", "none", "localhost", and
"localnets" are predefined. More information on those names
can be found in the description of the acl statement.
</p>
-<p>
+
+ <p>
The addition of the key clause made the name of this syntactic
element something of a misnomer, since security keys can be used
to validate access without regard to a host or network address.
Nonetheless, the term "address match list" is still used
throughout the documentation.
</p>
-<p>
+
+ <p>
When a given IP address or prefix is compared to an address
match list, the comparison takes place in approximately O(1)
time. However, key comparisons require that the list of keys
be traversed until a matching key is found, and therefore may
be somewhat slower.
</p>
-<p>
+
+ <p>
The interpretation of a match depends on whether the list is being
used for access control, defining <span class="command"><strong>listen-on</strong></span> ports, or in a
<span class="command"><strong>sortlist</strong></span>, and whether the element was negated.
</p>
-<p>
+
+ <p>
When used as an access control list, a non-negated match
allows access and a negated match denies access. If
there is no match, access is denied. The clauses
server to refuse queries on any of the machine's
addresses which do not match the list.
</p>
-<p>
+
+ <p>
Order of insertion is significant. If more than one element
in an ACL is found to match a given IP address or prefix,
preference will be given to the one that came
that problem by having 1.2.3.13 blocked by the negation, but
all other 1.2.3.* hosts fall through.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="comment_syntax"></a>Comment Syntax</h3></div></div></div>
-<p>
+
+ <p>
The <acronym class="acronym">BIND</acronym> 9 comment syntax allows for
comments to appear
anywhere that whitespace may appear in a <acronym class="acronym">BIND</acronym> configuration
file. To appeal to programmers of all kinds, they can be written
in the C, C++, or shell/perl style.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.7.4.5.3"></a>Syntax</h4></div></div></div>
-<p>
+
+ <p>
</p>
<pre class="programlisting">/* This is a <acronym class="acronym">BIND</acronym> comment as in C */</pre>
<p>
# and perl</pre>
<p>
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.7.4.5.4"></a>Definition and Usage</h4></div></div></div>
-<p>
+
+ <p>
Comments may appear anywhere that whitespace may appear in
a <acronym class="acronym">BIND</acronym> configuration file.
</p>
-<p>
+ <p>
C-style comments start with the two characters /* (slash,
star) and end with */ (star, slash). Because they are completely
delimited with these characters, they can be used to comment only
a portion of a line or to span multiple lines.
</p>
-<p>
+ <p>
C-style comments cannot be nested. For example, the following
is not valid because the entire comment ends with the first */:
</p>
-<p>
+ <p>
</p>
<pre class="programlisting">/* This is the start of a comment.
<p>
</p>
-<p>
+
+ <p>
C++-style comments start with the two characters // (slash,
slash) and continue to the end of the physical line. They cannot
be continued across multiple physical lines; to have one logical
comment span multiple lines, each line must use the // pair.
For example:
</p>
-<p>
+ <p>
</p>
<pre class="programlisting">// This is the start of a comment. The next line
<p>
</p>
-<p>
+ <p>
Shell-style (or perl-style, if you prefer) comments start
with the character <code class="literal">#</code> (number sign)
and continue to the end of the
physical line, as in C++ comments.
For example:
</p>
-<p>
+
+ <p>
</p>
<pre class="programlisting"># This is the start of a comment. The next line
<p>
</p>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
-<p>
+ <p>
You cannot use the semicolon (`;') character
to start a comment such as you would in a zone file. The
semicolon indicates the end of a configuration
statement.
</p>
-</div>
-</div>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="Configuration_File_Grammar"></a>Configuration File Grammar</h2></div></div></div>
-<p>
+
+ <p>
A <acronym class="acronym">BIND</acronym> 9 configuration consists of
statements and comments.
Statements end with a semicolon. Statements and comments are the
statements contain a block of sub-statements, which are also
terminated with a semicolon.
</p>
-<p>
+
+ <p>
The following statements are supported:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.336in" class="1">
<col width="3.778in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+
+ <p>
The <span class="command"><strong>logging</strong></span> and
<span class="command"><strong>options</strong></span> statements may only occur once
per
configuration.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="acl_grammar"></a><span class="command"><strong>acl</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>acl</strong></span> <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>address_match_element</code></em>; ... };
</pre>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="acl"></a><span class="command"><strong>acl</strong></span> Statement Definition and
Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>acl</strong></span> statement assigns a symbolic
name to an address match list. It gets its name from a primary
use of address match lists: Access Control Lists (ACLs).
</p>
-<p>
+
+ <p>
The following ACLs are built-in:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.130in" class="1">
<col width="4.000in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-<div class="section">
+</table>
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="controls_grammar"></a><span class="command"><strong>controls</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>controls</strong></span> {
<span class="command"><strong>inet</strong></span> ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] allow
<em class="replaceable"><code>boolean</code></em> ];
};
</pre>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="controls_statement_definition_and_usage"></a><span class="command"><strong>controls</strong></span> Statement Definition and
Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>controls</strong></span> statement declares control
channels to be used by system administrators to control the
operation of the name server. These control channels are
used by the <span class="command"><strong>rndc</strong></span> utility to send
commands to and retrieve non-DNS results from a name server.
</p>
-<p>
+
+ <p>
An <span class="command"><strong>inet</strong></span> control channel is a TCP socket
listening at the specified <span class="command"><strong>ip_port</strong></span> on the
specified <span class="command"><strong>ip_addr</strong></span>, which can be an IPv4 or IPv6
using the loopback address (<code class="literal">127.0.0.1</code>
or <code class="literal">::1</code>) is recommended for maximum security.
</p>
-<p>
+
+ <p>
If no port is specified, port 953 is used. The asterisk
"<code class="literal">*</code>" cannot be used for <span class="command"><strong>ip_port</strong></span>.
</p>
-<p>
+
+ <p>
The ability to issue commands over the control channel is
restricted by the <span class="command"><strong>allow</strong></span> and
<span class="command"><strong>keys</strong></span> clauses.
elements of the <span class="command"><strong>address_match_list</strong></span>
are ignored.
</p>
-<p>
+
+ <p>
A <span class="command"><strong>unix</strong></span> control channel is a UNIX domain
socket listening at the specified path in the file system.
Access to the socket is specified by the <span class="command"><strong>perm</strong></span>,
(<span class="command"><strong>perm</strong></span>) are applied to the parent directory
as the permissions on the socket itself are ignored.
</p>
-<p>
+
+ <p>
The primary authorization mechanism of the command
channel is the <span class="command"><strong>key_list</strong></span>, which
contains a list of <span class="command"><strong>key_id</strong></span>s.
See <a class="xref" href="Bv9ARM.ch03.html#rndc">Remote Name Daemon Control application</a> in <a class="xref" href="Bv9ARM.ch03.html#admin_tools" title="Administrative Tools">the section called “Administrative Tools”</a>)
for information about configuring keys in <span class="command"><strong>rndc</strong></span>.
</p>
-<p>
+
+ <p>
If the <span class="command"><strong>read-only</strong></span> clause is enabled, the
control channel is limited to the following set of read-only
commands: <span class="command"><strong>nta -dump</strong></span>,
<span class="command"><strong>read-only</strong></span> is not enabled and the control
channel allows read-write access.
</p>
-<p>
+
+ <p>
If no <span class="command"><strong>controls</strong></span> statement is present,
<span class="command"><strong>named</strong></span> will set up a default
control channel listening on the loopback address 127.0.0.1
To create a <code class="filename">rndc.key</code> file, run
<strong class="userinput"><code>rndc-confgen -a</code></strong>.
</p>
-<p>
+
+ <p>
The <code class="filename">rndc.key</code> feature was created to
ease the transition of systems from <acronym class="acronym">BIND</acronym> 8,
which did not have digital signatures on its command channel
command <strong class="userinput"><code>rndc-confgen -a</code></strong> after BIND 9 is
installed.
</p>
-<p>
+
+ <p>
Since the <code class="filename">rndc.key</code> feature
is only intended to allow the backward-compatible usage of
<acronym class="acronym">BIND</acronym> 8 configuration files, this
readable by a group
that contains the users who should have access.
</p>
-<p>
+
+ <p>
To disable the command channel, use an empty
<span class="command"><strong>controls</strong></span> statement:
<span class="command"><strong>controls { };</strong></span>.
</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="include_grammar"></a><span class="command"><strong>include</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting"><span class="command"><strong>include</strong></span> <em class="replaceable"><code>filename</code></em><span class="command"><strong>;</strong></span></pre>
-</div>
-<div class="section">
+
+ <pre class="programlisting"><span class="command"><strong>include</strong></span> <em class="replaceable"><code>filename</code></em><span class="command"><strong>;</strong></span></pre>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="include_statement"></a><span class="command"><strong>include</strong></span> Statement Definition and Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>include</strong></span> statement inserts the
specified file at the point where the <span class="command"><strong>include</strong></span>
statement is encountered. The <span class="command"><strong>include</strong></span>
others. For example, the statement could include private keys
that are readable only by the name server.
</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="key_grammar"></a><span class="command"><strong>key</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>key</strong></span> <em class="replaceable"><code>string</code></em> {
<span class="command"><strong>algorithm</strong></span> <em class="replaceable"><code>string</code></em>;
<span class="command"><strong>secret</strong></span> <em class="replaceable"><code>string</code></em>;
};
</pre>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="key_statement"></a><span class="command"><strong>key</strong></span> Statement Definition and Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>key</strong></span> statement defines a shared
secret key for use with TSIG (see <a class="xref" href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called “TSIG”</a>)
or the command channel
(see <a class="xref" href="Bv9ARM.ch06.html#controls_statement_definition_and_usage" title="controls Statement Definition and Usage">the section called “<span class="command"><strong>controls</strong></span> Statement Definition and
Usage”</a>).
</p>
-<p>
+
+ <p>
The <span class="command"><strong>key</strong></span> statement can occur at the
top level
of the configuration file or inside a <span class="command"><strong>view</strong></span>
Usage”</a>)
must be defined at the top level.
</p>
-<p>
+
+ <p>
The <em class="replaceable"><code>key_id</code></em>, also known as the
key name, is a domain name uniquely identifying the key. It can
be used in a <span class="command"><strong>server</strong></span>
verify that incoming requests have been signed with a key
matching this name, algorithm, and secret.
</p>
-<p>
+
+ <p>
The <em class="replaceable"><code>algorithm_id</code></em> is a string
that specifies a security/authentication algorithm. The
<span class="command"><strong>named</strong></span> server supports <code class="literal">hmac-md5</code>,
to be used by the algorithm, and is treated as a Base64
encoded string.
</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="logging_grammar"></a><span class="command"><strong>logging</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>logging</strong></span> {
<span class="command"><strong>category</strong></span> <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };
<span class="command"><strong>channel</strong></span> <em class="replaceable"><code>string</code></em> {
};
};
</pre>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="logging_statement"></a><span class="command"><strong>logging</strong></span> Statement Definition and Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>logging</strong></span> statement configures a
wide
variety of logging options for the name server. Its <span class="command"><strong>channel</strong></span> phrase
a name that can then be used with the <span class="command"><strong>category</strong></span> phrase
to select how various classes of messages are logged.
</p>
-<p>
+ <p>
Only one <span class="command"><strong>logging</strong></span> statement is used to
define
as many channels and categories as are wanted. If there is no <span class="command"><strong>logging</strong></span> statement,
the logging configuration will be:
</p>
+
<pre class="programlisting">logging {
category default { default_syslog; default_debug; };
category unmatched { null; };
};
</pre>
-<p>
+
+ <p>
If <span class="command"><strong>named</strong></span> is started with the
<code class="option">-L</code> option, it logs to the specified file
at startup, instead of using syslog. In this case the logging
configuration will be:
</p>
+
<pre class="programlisting">logging {
category default { default_logfile; default_debug; };
category unmatched { null; };
};
</pre>
-<p>
+
+ <p>
In <acronym class="acronym">BIND</acronym> 9, the logging configuration
is only established when
the entire configuration file has been parsed. In <acronym class="acronym">BIND</acronym> 8, it was
channels, or to standard error if the <code class="option">-g</code> option
was specified.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="channel"></a>The <span class="command"><strong>channel</strong></span> Phrase</h4></div></div></div>
-<p>
+
+ <p>
All log output goes to one or more <span class="emphasis"><em>channels</em></span>;
you can make as many of them as you want.
</p>
-<p>
+
+ <p>
Every channel definition must include a destination clause that
says whether messages selected for the channel go to a file, to a
particular syslog facility, to the standard error stream, or are
category name
and/or severity level (the default is not to include any).
</p>
-<p>
+
+ <p>
The <span class="command"><strong>null</strong></span> destination clause
causes all messages sent to the channel to be discarded;
in that case, other options for the channel are meaningless.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>file</strong></span> destination clause directs
the channel
to a disk file. It can include limitations
versions
of the file will be saved each time the file is opened.
</p>
-<p>
+
+ <p>
If you use the <span class="command"><strong>versions</strong></span> log file
option, then
<span class="command"><strong>named</strong></span> will retain that many backup
existing
log file is simply appended.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>size</strong></span> option for files is used
to limit log
growth. If the file ever exceeds the size, then <span class="command"><strong>named</strong></span> will
the
file.
</p>
-<p>
+
+ <p>
Example usage of the <span class="command"><strong>size</strong></span> and
<span class="command"><strong>versions</strong></span> options:
</p>
+
<pre class="programlisting">channel an_example_channel {
file "example.log" versions 3 size 20m;
print-time yes;
print-category yes;
};
</pre>
-<p>
+
+ <p>
The <span class="command"><strong>syslog</strong></span> destination clause
directs the
channel to the system log. Its argument is a
only uses two arguments to the <span class="command"><strong>openlog()</strong></span> function,
then this clause is silently ignored.
</p>
-<p>
+ <p>
On Windows machines syslog messages are directed to the EventViewer.
</p>
-<p>
+ <p>
The <span class="command"><strong>severity</strong></span> clause works like <span class="command"><strong>syslog</strong></span>'s
"priorities", except that they can also be used if you are writing
straight to a file rather than using <span class="command"><strong>syslog</strong></span>.
levels
will be accepted.
</p>
-<p>
+ <p>
If you are using <span class="command"><strong>syslog</strong></span>, then the <span class="command"><strong>syslog.conf</strong></span> priorities
will also determine what eventually passes through. For example,
defining a channel facility and severity as <span class="command"><strong>daemon</strong></span> and <span class="command"><strong>debug</strong></span> but
then <span class="command"><strong>syslogd</strong></span> would
print all messages it received from the channel.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>stderr</strong></span> destination clause
directs the
channel to the server's standard error stream. This is intended
example
when debugging a configuration.
</p>
-<p>
+
+ <p>
The server can supply extensive debugging information when
it is in debugging mode. If the server's global debug level is
greater
level, and higher debug levels give more detailed output. Channels
that specify a specific debug severity, for example:
</p>
+
<pre class="programlisting">channel specific_debug_level {
file "foo";
severity debug 3;
};
</pre>
-<p>
+
+ <p>
will get debugging output of level 3 or less any time the
server is in debugging mode, regardless of the global debugging
level. Channels with <span class="command"><strong>dynamic</strong></span>
severity use the
server's global debug level to determine what messages to print.
</p>
-<p>
+ <p>
If <span class="command"><strong>print-time</strong></span> has been turned on,
then
the date and time will be logged. <span class="command"><strong>print-time</strong></span> may
three <span class="command"><strong>print-</strong></span> options
are on:
</p>
-<p>
+
+ <p>
<code class="computeroutput">28-Feb-2000 15:05:32.863 general: notice: running</code>
</p>
-<p>
+
+ <p>
If <span class="command"><strong>buffered</strong></span> has been turned on the output
to files will not be flushed after each log entry. By default
all log messages are flushed.
</p>
-<p>
+
+ <p>
There are four predefined channels that are used for
<span class="command"><strong>named</strong></span>'s default logging as follows.
If <span class="command"><strong>named</strong></span> is started with the
How they are
used is described in <a class="xref" href="Bv9ARM.ch06.html#the_category_phrase" title="The category Phrase">the section called “The <span class="command"><strong>category</strong></span> Phrase”</a>.
</p>
+
<pre class="programlisting">channel default_syslog {
// send to syslog's daemon facility
syslog daemon;
severity dynamic;
};
</pre>
-<p>
+
+ <p>
The <span class="command"><strong>default_debug</strong></span> channel has the
special
property that it only produces output when the server's debug
nonzero. It normally writes to a file called <code class="filename">named.run</code>
in the server's working directory.
</p>
-<p>
+
+ <p>
For security reasons, when the <code class="option">-u</code>
command line option is used, the <code class="filename">named.run</code> file
is created only after <span class="command"><strong>named</strong></span> has
option to specify a default logfile, or the <code class="option">-g</code>
option to log to standard error which you can redirect to a file.
</p>
-<p>
+
+ <p>
Once a channel is defined, it cannot be redefined. Thus you
cannot alter the built-in channels directly, but you can modify
the default logging by pointing categories at channels you have
defined.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="the_category_phrase"></a>The <span class="command"><strong>category</strong></span> Phrase</h4></div></div></div>
-<p>
+
+ <p>
There are many categories, so you can send the logs you want
to see wherever you want, without seeing logs you don't want. If
you don't specify a list of channels for a category, then log
instead. If you don't specify a default category, the following
"default default" is used:
</p>
+
<pre class="programlisting">category default { default_syslog; default_debug; };
</pre>
-<p>
+
+ <p>
If you start <span class="command"><strong>named</strong></span> with the
<code class="option">-L</code> option then the default category is:
</p>
+
<pre class="programlisting">category default { default_logfile; default_debug; };
</pre>
-<p>
+
+ <p>
As an example, let's say you want to log security events to
a file, but you also want keep the default logging behavior. You'd
specify the following:
</p>
+
<pre class="programlisting">channel my_security_channel {
file "my_security_file";
severity info;
default_syslog;
default_debug;
};</pre>
-<p>
+
+ <p>
To discard all messages in a category, specify the <span class="command"><strong>null</strong></span> channel:
</p>
+
<pre class="programlisting">category xfer-out { null; };
category notify { null; };
</pre>
-<p>
+
+ <p>
Following are the available categories and brief descriptions
of the types of log information they contain. More
categories may be added in future <acronym class="acronym">BIND</acronym> releases.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="3.350in" class="2">
</td>
</tr>
</tbody>
-</table></div>
+</table>
</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="query_errors"></a>The <span class="command"><strong>query-errors</strong></span> Category</h4></div></div></div>
-<p>
+ <p>
The <span class="command"><strong>query-errors</strong></span> category is
used to indicate why and how specific queries resulted in
responses which indicate an error. Normally, these messages
logged at <span class="command"><strong>info</strong></span>. The logging levels are
described below:
</p>
-<p>
+
+ <p>
At <span class="command"><strong>debug</strong></span> level 1 or higher - or at
<span class="command"><strong>info</strong></span>, when query logging is active - each
response with response code SERVFAIL will be logged as follows:
</p>
-<p>
+ <p>
<code class="computeroutput">client 127.0.0.1#61502: query failed (SERVFAIL) for www.example.com/IN/AAAA at query.c:3880</code>
</p>
-<p>
+ <p>
This means an error resulting in SERVFAIL was detected at line
3880 of source file <code class="filename">query.c</code>. Log messages
of this level will particularly help identify the cause of
SERVFAIL for an authoritative server.
</p>
-<p>
+ <p>
At <span class="command"><strong>debug</strong></span> level 2 or higher, detailed
context information about recursive resolutions that resulted in
SERVFAIL will be logged. The log message will look like this:
</p>
-<p>
+ <p>
</p>
<pre class="programlisting">
</pre>
<p>
</p>
-<p>
+ <p>
The first part before the colon shows that a recursive
resolution for AAAA records of www.example.com completed
in 10.000183 seconds and the final result that led to the
SERVFAIL was determined at line 2970 of source file
<code class="filename">resolver.c</code>.
</p>
-<p>
+ <p>
The following part shows the detected final result and the
latest result of DNSSEC validation. The latter is always
"success" when no validation attempt was made. In this example,
servers are down or unreachable, leading to a timeout in 10
seconds. DNSSEC validation was probably not attempted.
</p>
-<p>
+ <p>
The last part, enclosed in square brackets, shows statistics
collected for this particular resolution attempt.
The <code class="varname">domain</code> field shows the deepest zone that
finally detected. The meaning of the other fields is
summarized in the following table.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="3.350in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
At <span class="command"><strong>debug</strong></span> level 3 or higher, the same
messages as those at <span class="command"><strong>debug</strong></span> level 1 will be
logged for other errors than SERVFAIL. Note that negative
responses such as NXDOMAIN are not errors, and are not logged
at this debug level.
</p>
-<p>
+ <p>
At <span class="command"><strong>debug</strong></span> level 4 or higher, the
detailed context information logged at <span class="command"><strong>debug</strong></span>
level 2 will be logged for other errors than SERVFAIL and
for negative resonses such as NXDOMAIN.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="lwres_grammar"></a><span class="command"><strong>lwres</strong></span> Statement Grammar</h3></div></div></div>
-<p>
+
+ <p>
This is the grammar of the <span class="command"><strong>lwres</strong></span>
statement in the <code class="filename">named.conf</code> file:
</p>
+
<pre class="programlisting"><span class="command"><strong>lwres {</strong></span>
[ <span class="command"><strong>listen-on {</strong></span>
( <em class="replaceable"><code>ip_addr</code></em> [ <span class="command"><strong>port</strong></span> <em class="replaceable"><code>ip_port</code></em> ] [ <span class="command"><strong>dscp</strong></span> <em class="replaceable"><code>ip_dscp</code></em> ] <span class="command"><strong>;</strong></span> )
[ <span class="command"><strong>lwres-clients</strong></span> <em class="replaceable"><code>number</code></em><span class="command"><strong>;</strong></span> ]
<span class="command"><strong>};</strong></span>
</pre>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="lwres_statement"></a><span class="command"><strong>lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>lwres</strong></span> statement configures the
name
server to also act as a lightweight resolver server. (See
<span class="command"><strong>lwres</strong></span> statements configuring
lightweight resolver servers with different properties.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>listen-on</strong></span> statement specifies a
list of
IPv4 addresses (and ports) that this instance of a lightweight
127.0.0.1,
port 921.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>view</strong></span> statement binds this
instance of a
lightweight resolver daemon to a view in the DNS namespace, so that
is
used, and if there is no default view, an error is triggered.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>search</strong></span> statement is equivalent to
the
<span class="command"><strong>search</strong></span> statement in
list of domains
which are appended to relative names in queries.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>ndots</strong></span> statement is equivalent to
the
<span class="command"><strong>ndots</strong></span> statement in
number of dots in a relative domain name that should result in an
exact match lookup before search path elements are appended.
</p>
-<p>
+ <p>
The <code class="option">lwres-tasks</code> statement specifies the number
of worker threads the lightweight resolver will dedicate to serving
clients. By default the number is the same as the number of CPUs on
the system; this can be overridden using the <code class="option">-n</code>
command line option when starting the server.
</p>
-<p>
+ <p>
The <code class="option">lwres-clients</code> specifies
the number of client objects per thread the lightweight
resolver should create to serve client queries.
Note that setting too high a value may overconsume
system resources.
</p>
-<p>
+ <p>
The maximum number of client queries that the lightweight
resolver can handle at any one time equals
<code class="option">lwres-tasks</code> times <code class="option">lwres-clients</code>.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="masters_grammar"></a><span class="command"><strong>masters</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>masters</strong></span> <em class="replaceable"><code>string</code></em> [ port <em class="replaceable"><code>integer</code></em> ] [ dscp
<em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [
<span class="command"><strong>port</strong></span> <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };
</pre>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="masters_statement"></a><span class="command"><strong>masters</strong></span> Statement Definition and
Usage</h3></div></div></div>
-<p><span class="command"><strong>masters</strong></span>
+
+ <p><span class="command"><strong>masters</strong></span>
lists allow for a common set of masters to be easily used by
multiple stub and slave zones in their <span class="command"><strong>masters</strong></span>
or <span class="command"><strong>also-notify</strong></span> lists.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="options_grammar"></a><span class="command"><strong>options</strong></span> Statement Grammar</h3></div></div></div>
-<p>
+
+ <p>
This is the grammar of the <span class="command"><strong>options</strong></span>
statement in the <code class="filename">named.conf</code> file:
</p>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>options</strong></span> {
<span class="command"><strong>acache-cleaning-interval</strong></span> <em class="replaceable"><code>integer</code></em>;
<span class="command"><strong>acache-enable</strong></span> <em class="replaceable"><code>boolean</code></em>;
<span class="command"><strong>zone-statistics</strong></span> ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );
};
</pre>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="options"></a><span class="command"><strong>options</strong></span> Statement Definition and
Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>options</strong></span> statement sets up global
options
to be used by <acronym class="acronym">BIND</acronym>. This statement
statement, an options block with each option set to its default will
be used.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>attach-cache</strong></span></span></dt>
<dd>
-<p>
+ <p>
Allows multiple views to share a single cache
database.
Each view has its own cache database by default, but
share a single cache to save memory and possibly
improve resolution efficiency by using this option.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>attach-cache</strong></span> option
may also be specified in <span class="command"><strong>view</strong></span>
statements, in which case it overrides the
global <span class="command"><strong>attach-cache</strong></span> option.
</p>
-<p>
+
+ <p>
The <em class="replaceable"><code>cache_name</code></em> specifies
the cache to be shared.
When the <span class="command"><strong>named</strong></span> server configures
The rest of the views will simply refer to the
already created cache.
</p>
-<p>
+
+ <p>
One common configuration to share a cache would be to
allow all views to share a single cache.
This can be done by specifying
the <span class="command"><strong>attach-cache</strong></span> as a global
option with an arbitrary name.
</p>
-<p>
+
+ <p>
Another possible operation is to allow a subset of
all views to share a cache while the others to
retain their own caches.
<span class="command"><strong>attach-cache</strong></span> option as a view A (or
B)'s option, referring to the other view name:
</p>
+
<pre class="programlisting">
view "A" {
// this view has its own cache
...
};
</pre>
-<p>
+
+ <p>
Views that share a cache must have the same policy
on configurable parameters that may affect caching.
The current implementation requires the following
<span class="command"><strong>max-cache-size</strong></span>, and
<span class="command"><strong>zero-no-soa-ttl</strong></span>.
</p>
-<p>
+
+ <p>
Note that there may be other parameters that may
cause confusion if they are inconsistent for
different views that share a single cache.
configuration differences in different views do
not cause disruption with a shared cache.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>directory</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The working directory of the server.
Any non-absolute pathnames in the configuration file will
be taken as relative to this directory. The default
<span class="emphasis"><em>strongly recommended</em></span>
that the directory be writable by the effective user
ID of the <span class="command"><strong>named</strong></span> process.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnstap</strong></span></span></dt>
<dd>
-<p>
+ <p>
<span class="command"><strong>dnstap</strong></span> is a fast, flexible method
for capturing and logging DNS traffic. Developed by
Robert Edmonds at Farsight Security, Inc., and supported
by Google, Inc.; see
<a class="link" href="https://developers.google.com/protocol-buffers/" target="_top">https://developers.google.com/protocol-buffers</a>).
</p>
-<p>
+ <p>
To enable <span class="command"><strong>dnstap</strong></span> at compile time,
the <span class="command"><strong>fstrm</strong></span> and <span class="command"><strong>protobuf-c</strong></span>
libraries must be available, and BIND must be configured with
<code class="option">--enable-dnstap</code>.
</p>
-<p>
+ <p>
The <span class="command"><strong>dnstap</strong></span> option is a bracketed list
of message types to be logged. These may be set differently
for each view. Supported types are <code class="literal">client</code>,
<code class="literal">all</code> will cause all <span class="command"><strong>dnstap</strong></span>
messages to be logged, regardless of type.
</p>
-<p>
+ <p>
Each type may take an additional argument to indicate whether
to log <code class="literal">query</code> messages or
<code class="literal">response</code> messages; if not specified,
both queries and responses are logged.
</p>
-<p>
+ <p>
Example: To log all authoritative queries and responses,
recursive client responses, and upstream queries sent by
the resolver, use:
</pre>
<p>
</p>
-<p>
+ <p>
Logged <span class="command"><strong>dnstap</strong></span> messages can be parsed
using the <span class="command"><strong>dnstap-read</strong></span> utility (see
<a class="xref" href="man.dnstap-read.html" title="dnstap-read"><span class="refentrytitle"><span class="application">dnstap-read</span></span>(1)</a> for details).
</p>
-<p>
+ <p>
For more information on <span class="command"><strong>dnstap</strong></span>, see
<a class="link" href="http://dnstap.info" target="_top">http://dnstap.info</a>.
</p>
-<p>
+ <p>
The fstrm library has a number of tunables that are exposed
in <code class="filename">named.conf</code>, and can be modified
if necessary to improve performance or prevent loss of data.
These are:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
+
<span class="command"><strong>fstrm-set-buffer-hint</strong></span>: The
threshold number of bytes to accumulate in the output
buffer before forcing a buffer flush. The minimum is
1024, the maximum is 65536, and the default is 8192.
- </li>
+
+ </li>
<li class="listitem">
+
<span class="command"><strong>fstrm-set-flush-timeout</strong></span>: The number
of seconds to allow unflushed data to remain in the
output buffer. The minimum is 1 second, the maximum is
600 seconds (10 minutes), and the default is 1 second.
- </li>
+
+ </li>
<li class="listitem">
+
<span class="command"><strong>fstrm-set-output-notify-threshold</strong></span>:
The number of outstanding queue entries to allow on
an input queue before waking the I/O thread.
The minimum is 1 and the default is 32.
- </li>
+
+ </li>
<li class="listitem">
+
<span class="command"><strong>fstrm-set-output-queue-model</strong></span>:
Controls the queuing semantics to use for queue
objects. The default is <code class="literal">mpsc</code>
(multiple producer, single consumer); the other
option is <code class="literal">spsc</code> (single producer,
single consumer).
- </li>
+
+ </li>
<li class="listitem">
+
<span class="command"><strong>fstrm-set-input-queue-size</strong></span>: The
number of queue entries to allocate for each
input queue. This value must be a power of 2.
The minimum is 2, the maximum is 16384, and
the default is 512.
- </li>
+
+ </li>
<li class="listitem">
+
<span class="command"><strong>fstrm-set-output-queue-size</strong></span>:
The number of queue entries to allocate for each
output queue. The minimum is 2, the maximum is
system-dependent and based on <code class="option">IOV_MAX</code>,
and the default is 64.
- </li>
+
+ </li>
<li class="listitem">
+
<span class="command"><strong>fstrm-set-reopen-interval</strong></span>:
The number of seconds to wait between attempts to
reopen a closed output stream. The minimum is 1 second,
the maximum is 600 seconds (10 minutes), and the default
is 5 seconds.
- </li>
+
+ </li>
</ul></div>
-<p>
+ <p>
Note that all of the above minimum, maximum, and default
values are set by the <span class="command"><strong>libfstrm</strong></span> library,
and may be subject to change in future versions of the
library. See the <span class="command"><strong>libfstrm</strong></span> documentation
for more information.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnstap-output</strong></span></span></dt>
<dd>
-<p>
+ <p>
Configures the path to which the <span class="command"><strong>dnstap</strong></span>
frame stream will be sent if <span class="command"><strong>dnstap</strong></span>
is enabled at compile time and active.
</p>
-<p>
+ <p>
The first argument is either <code class="literal">file</code> or
<code class="literal">unix</code>, indicating whether the destination
is a file or a UNIX domain socket. The second argument
(provided with <span class="command"><strong>libfstrm</strong></span>) is listening on
the socket.)
</p>
-<p>
+ <p>
<span class="command"><strong>dnstap-output</strong></span> can only be set globally
in <span class="command"><strong>options</strong></span>. Currently, it can only be
set once while <span class="command"><strong>named</strong></span> is running;
<span class="command"><strong>rndc reload</strong></span> or
<span class="command"><strong>rndc reconfig</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnstap-identity</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies an <span class="command"><strong>identity</strong></span> string to send in
<span class="command"><strong>dnstap</strong></span> messages. If set to
<code class="literal">hostname</code>, which is the default, the
server's hostname will be sent. If set to
<code class="literal">none</code>, no identity string will be sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnstap-version</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a <span class="command"><strong>version</strong></span> string to send in
<span class="command"><strong>dnstap</strong></span> messages. The default is the
version number of the BIND release. If set to
<code class="literal">none</code>, no version string will be sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>geoip-directory</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When <span class="command"><strong>named</strong></span> is compiled using the
MaxMind GeoIP2 geolocation API, or the legacy GeoIP API,
this specifies the directory containing GeoIP
directory. See <a class="xref" href="Bv9ARM.ch06.html#acl" title="acl Statement Definition and Usage">the section called “<span class="command"><strong>acl</strong></span> Statement Definition and
Usage”</a> for details about
<span class="command"><strong>geoip</strong></span> ACLs.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>key-directory</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When performing dynamic update of secure zones, the
directory where the public and private DNSSEC key files
should be found, if different than the current working
<code class="filename">bind.keys</code>,
<code class="filename">rndc.key</code> or
<code class="filename">session.key</code>.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>lmdb-mapsize</strong></span></span></dt>
<dd>
-<p>
+ <p>
When <span class="command"><strong>named</strong></span> is built with liblmdb,
this option sets a maximum size for the memory map of
the new-zone database (NZD) in LMDB database format.
Note that this is not the NZD database file size, but
the largest size that the database may grow to.
</p>
-<p>
+ <p>
Because the database file is memory mapped, its size is
limited by the address space of the named process. The
default of 32 megabytes was chosen to be usable with
ought to be able to hold configurations of about 100,000
zones.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>managed-keys-directory</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies the directory in which to store the files that
track managed DNSSEC keys. By default, this is the working
directory. The directory <span class="emphasis"><em>must</em></span>
be writable by the effective user ID of the
<span class="command"><strong>named</strong></span> process.
</p>
-<p>
+ <p>
If <span class="command"><strong>named</strong></span> is not configured to use views,
then managed keys for the server will be tracked in a single
file called <code class="filename">managed-keys.bind</code>.
followed by the extension
<code class="filename">.mkeys</code>.
</p>
-<p>
+ <p>
(Note: in previous releases, file names for views
always used the SHA256 hash of the view name. To ensure
compatibility after upgrade, if a file using the old
name format is found to exist, it will be used instead
of the new format.)
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>named-xfer</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
<span class="emphasis"><em>This option is obsolete.</em></span> It
was used in <acronym class="acronym">BIND</acronym> 8 to specify
the pathname to the <span class="command"><strong>named-xfer</strong></span>
program. In <acronym class="acronym">BIND</acronym> 9, no separate
<span class="command"><strong>named-xfer</strong></span> program is needed;
its functionality is built into the name server.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>tkey-gssapi-keytab</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The KRB5 keytab file to use for GSS-TSIG updates. If
this option is set and tkey-gssapi-credential is not
set, then updates will be allowed with any key
matching a principal in the specified keytab.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>tkey-gssapi-credential</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The security credential with which the server should
authenticate keys requested by the GSS-TSIG protocol.
Currently only Kerberos 5 authentication is available
To use GSS-TSIG, <span class="command"><strong>tkey-domain</strong></span> must
also be set if a specific keytab is not set with
tkey-gssapi-keytab.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>tkey-domain</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The domain appended to the names of all shared keys
generated with <span class="command"><strong>TKEY</strong></span>. When a
client requests a <span class="command"><strong>TKEY</strong></span> exchange,
"_tkey.<code class="varname">domainname</code>". If you are
using GSS-TSIG, this variable must be defined, unless
you specify a specific keytab using tkey-gssapi-keytab.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>tkey-dhkey</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The Diffie-Hellman key used by the server
to generate shared keys with clients using the Diffie-Hellman
mode
public and private keys from files in the working directory.
In
most cases, the <code class="varname">key_name</code> should be the server's host name.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>cache-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This is for testing only. Do not use.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dump-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of the file the server dumps
the database to when instructed to do so with
<span class="command"><strong>rndc dumpdb</strong></span>.
If not specified, the default is <code class="filename">named_dump.db</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>memstatistics-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of the file the server writes memory
usage statistics to on exit. If not specified,
the default is <code class="filename">named.memstats</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>lock-file</strong></span></span></dt>
<dd>
-<p>
+ <p>
The pathname of a file on which <span class="command"><strong>named</strong></span> will
attempt to acquire a file lock when starting up for
the first time; if unsuccessful, the server will
server is already running. If not specified, the default is
<code class="filename">none</code>.
</p>
-<p>
+ <p>
Specifying <span class="command"><strong>lock-file none</strong></span> disables the
use of a lock file. <span class="command"><strong>lock-file</strong></span> is
ignored if <span class="command"><strong>named</strong></span> was run using the <code class="option">-X</code>
reconfigured; it is only effective when the server is
first started up.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>pid-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of the file the server writes its process ID
in. If not specified, the default is
<code class="filename">/var/run/named/named.pid</code>.
is a keyword, not a filename, and therefore is not enclosed
in
double quotes.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>recursing-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of the file the server dumps
the queries that are currently recursing when instructed
to do so with <span class="command"><strong>rndc recursing</strong></span>.
If not specified, the default is <code class="filename">named.recursing</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>statistics-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of the file the server appends statistics
to when instructed to do so using <span class="command"><strong>rndc stats</strong></span>.
If not specified, the default is <code class="filename">named.stats</code> in the
server's current directory. The format of the file is
described
in <a class="xref" href="Bv9ARM.ch06.html#statsfile" title="The Statistics File">the section called “The Statistics File”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>bindkeys-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of a file to override the built-in trusted
keys provided by <span class="command"><strong>named</strong></span>.
See the discussion of <span class="command"><strong>dnssec-validation</strong></span>
for details. If not specified, the default is
<code class="filename">/etc/bind.keys</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>secroots-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of the file the server dumps
security roots to when instructed to do so with
<span class="command"><strong>rndc secroots</strong></span>.
If not specified, the default is
<code class="filename">named.secroots</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>session-keyfile</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The pathname of the file into which to write a TSIG
session key generated by <span class="command"><strong>named</strong></span> for use by
<span class="command"><strong>nsupdate -l</strong></span>. If not specified, the
<span class="command"><strong>update-policy</strong></span> statement's
<strong class="userinput"><code>local</code></strong> option for more
information about this feature.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>session-keyname</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The key name to use for the TSIG session key.
If not specified, the default is "local-ddns".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>session-keyalg</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The algorithm to use for the TSIG session key.
Valid values are hmac-sha1, hmac-sha224, hmac-sha256,
hmac-sha384, hmac-sha512 and hmac-md5. If not
specified, the default is hmac-sha256.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>port</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The UDP/TCP port number the server uses for
receiving and sending DNS protocol traffic.
The default is 53. This option is mainly intended for server
a server using a port other than 53 will not be able to
communicate with
the global DNS.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dscp</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The global Differentiated Services Code Point (DSCP)
value to classify outgoing DNS traffic on operating
systems that support DSCP. Valid values are 0 through 63.
It is not configured by default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>random-device</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The source of entropy to be used by the server. Entropy is
primarily needed
for DNSSEC operations, such as TKEY transactions and dynamic
effect during
the initial configuration load at server startup time and
is ignored on subsequent reloads.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>preferred-glue</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If specified, the listed type (A or AAAA) will be emitted
before other glue
in the additional section of a query response.
The default is to prefer A records when responding
to queries that arrived via IPv4 and AAAA when
responding to queries that arrived via IPv6.
- </p></dd>
+ </p>
+ </dd>
<dt>
<a name="root_delegation_only"></a><span class="term"><span class="command"><strong>root-delegation-only</strong></span></span>
</dt>
<dd>
-<p>
+ <p>
Turn on enforcement of delegation-only in TLDs
(top level domains) and root zones with an optional
exclude list.
</p>
-<p>
+ <p>
DS queries are expected to be made to and be answered by
delegation only zones. Such queries and responses are
treated as an exception to delegation-only processing
and are not converted to NXDOMAIN responses provided
a CNAME is not discovered at the query name.
</p>
-<p>
+ <p>
If a delegation only zone server also serves a child
zone it is not always possible to determine whether
an answer comes from the delegation only zone or the
all these checks there is still a possibility of
false negatives when a child zone is being served.
</p>
-<p>
+ <p>
Similarly false positives can arise from empty nodes
(no records at the name) in the delegation only zone
when the query type is not ANY.
</p>
-<p>
+ <p>
Note some TLDs are not delegation only (e.g. "DE", "LV",
"US" and "MUSEUM"). This list is not exhaustive.
</p>
+
<pre class="programlisting">
options {
root-delegation-only exclude { "de"; "lv"; "us"; "museum"; };
};
</pre>
-</dd>
+
+ </dd>
<dt><span class="term"><span class="command"><strong>disable-algorithms</strong></span></span></dt>
<dd>
-<p>
+ <p>
Disable the specified DNSSEC algorithms at and below the
specified name.
Multiple <span class="command"><strong>disable-algorithms</strong></span>
Only the best match <span class="command"><strong>disable-algorithms</strong></span>
clause will be used to determine which algorithms are used.
</p>
-<p>
+ <p>
If all supported algorithms are disabled, the zones covered
by the <span class="command"><strong>disable-algorithms</strong></span> will be treated
as insecure.
</p>
-<p>
+ <p>
Configured trust anchors in <span class="command"><strong>trusted-keys</strong></span>
or <span class="command"><strong>managed-keys</strong></span> that match a disabled
algorithm will be ignored and treated as if they were not
configured at all.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>disable-ds-digests</strong></span></span></dt>
<dd>
-<p>
+ <p>
Disable the specified DS/DLV digest types at and below the
specified name.
Multiple <span class="command"><strong>disable-ds-digests</strong></span>
Only the best match <span class="command"><strong>disable-ds-digests</strong></span>
clause will be used to determine which digest types are used.
</p>
-<p>
+ <p>
If all supported digest types are disabled, the zones covered
by the <span class="command"><strong>disable-ds-digests</strong></span> will be treated
as insecure.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-lookaside</strong></span></span></dt>
<dd>
-<p>
+ <p>
When set, <span class="command"><strong>dnssec-lookaside</strong></span> provides the
validator with an alternate method to validate DNSKEY
records at the top of a zone. When a DNSKEY is at or
record validates a DNSKEY (similarly to the way a DS
record does) the DNSKEY RRset is deemed to be trusted.
</p>
-<p>
+ <p>
If <span class="command"><strong>dnssec-lookaside</strong></span> is set to
<strong class="userinput"><code>no</code></strong>, then dnssec-lookaside
is not used.
</p>
-<p>
+ <p>
NOTE: The ISC-provided DLV service at
<code class="literal">dlv.isc.org</code>, has been shut down.
The <span class="command"><strong>dnssec-lookaside auto;</strong></span>
up to use ISC DLV with minimal configuration, has
accordingly been removed.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-must-be-secure</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify hierarchies which must be or may not be secure
(signed and validated). If <strong class="userinput"><code>yes</code></strong>,
then <span class="command"><strong>named</strong></span> will only accept answers if
<span class="command"><strong>trusted-keys</strong></span> or
<span class="command"><strong>managed-keys</strong></span> statement, or
<span class="command"><strong>dnssec-validation auto</strong></span> must be active.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dns64</strong></span></span></dt>
<dd>
-<p>
+ <p>
This directive instructs <span class="command"><strong>named</strong></span> to
return mapped IPv4 addresses to AAAA queries when
there are no AAAA records. It is intended to be
<span class="command"><strong>dns64</strong></span> defines one DNS64 prefix.
Multiple DNS64 prefixes can be defined.
</p>
-<p>
+ <p>
Compatible IPv6 prefixes have lengths of 32, 40, 48, 56,
64 and 96 as per RFC 6052. Bits 64..71 inclusive must
be zero with the most significate bit of the prefix in
position 0.
</p>
-<p>
+ <p>
Additionally a reverse IP6.ARPA zone will be created for
the prefix to provide a mapping from the IP6.ARPA names
to the corresponding IN-ADDR.ARPA names using synthesized
are settable at the view / options level. These are
not settable on a per-prefix basis.
</p>
-<p>
+ <p>
Each <span class="command"><strong>dns64</strong></span> supports an optional
<span class="command"><strong>clients</strong></span> ACL that determines which
clients are affected by this directive. If not defined,
it defaults to <strong class="userinput"><code>any;</code></strong>.
</p>
-<p>
+ <p>
Each <span class="command"><strong>dns64</strong></span> supports an optional
<span class="command"><strong>mapped</strong></span> ACL that selects which
IPv4 addresses are to be mapped in the corresponding
A RRset. If not defined it defaults to
<strong class="userinput"><code>any;</code></strong>.
</p>
-<p>
+ <p>
Normally, DNS64 won't apply to a domain name that
owns one or more AAAA records; these records will
simply be returned. The optional
name owns. If not defined, <span class="command"><strong>exclude</strong></span>
defaults to ::ffff:0.0.0.0/96.
</p>
-<p>
+ <p>
A optional <span class="command"><strong>suffix</strong></span> can also
be defined to set the bits trailing the mapped
IPv4 address bits. By default these bits are
matching the prefix and mapped IPv4 address
must be zero.
</p>
-<p>
+ <p>
If <span class="command"><strong>recursive-only</strong></span> is set to
<span class="command"><strong>yes</strong></span> the DNS64 synthesis will
only happen for recursive queries. The default
is <span class="command"><strong>no</strong></span>.
</p>
-<p>
+ <p>
If <span class="command"><strong>break-dnssec</strong></span> is set to
<span class="command"><strong>yes</strong></span> the DNS64 synthesis will
happen even if the result, if validated, would
suffix ::;
};
</pre>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-loadkeys-interval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When a zone is configured with <span class="command"><strong>auto-dnssec
maintain;</strong></span> its key repository must be checked
periodically to see if any new keys have been added
the minimum is <code class="literal">1</code> (1 minute), and the
maximum is <code class="literal">1440</code> (24 hours); any higher
value is silently reduced.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-update-mode</strong></span></span></dt>
<dd>
-<p>
+ <p>
If this option is set to its default value of
<code class="literal">maintain</code> in a zone of type
<code class="literal">master</code> which is DNSSEC-signed
by regenerating RRSIG records whenever they approach
their expiration date.
</p>
-<p>
+ <p>
If the option is changed to <code class="literal">no-resign</code>,
then <span class="command"><strong>named</strong></span> will sign all new or
changed records, but scheduled maintenance of
signatures is disabled.
</p>
-<p>
+ <p>
With either of these settings, <span class="command"><strong>named</strong></span>
will reject updates to a DNSSEC-signed zone when the
signing keys are inactive or unavailable to
signing and allow DNSSEC data to be submitted into a zone
via dynamic update; this is not yet implemented.)
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>nta-lifetime</strong></span></span></dt>
<dd>
-<p>
+ <p>
Species the default lifetime, in seconds,
that will be used for negative trust anchors added
via <span class="command"><strong>rndc nta</strong></span>.
</p>
-<p>
+ <p>
A negative trust anchor selectively disables
DNSSEC validation for zones that are known to be
failing because of misconfiguration rather than
NTA's lifetime is elapsed. NTAs persist
across <span class="command"><strong>named</strong></span> restarts.
</p>
-<p>
+ <p>
For convenience, TTL-style time unit suffixes can be
used to specify the NTA lifetime in seconds, minutes
or hours. <code class="option">nta-lifetime</code> defaults to
one hour. It cannot exceed one week.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>nta-recheck</strong></span></span></dt>
<dd>
-<p>
+ <p>
Species how often to check whether negative
trust anchors added via <span class="command"><strong>rndc nta</strong></span>
are still necessary.
</p>
-<p>
+ <p>
A negative trust anchor is normally used when a
domain has stopped validating due to operator error;
it temporarily disables DNSSEC validation for that
to find out whether it can now be validated. If so,
the negative trust anchor is allowed to expire early.
</p>
-<p>
+ <p>
Validity checks can be disabled for an individual
NTA by using <span class="command"><strong>rndc nta -f</strong></span>, or
for all NTAs by setting <code class="option">nta-recheck</code>
to zero.
</p>
-<p>
+ <p>
For convenience, TTL-style time unit suffixes can be
used to specify the NTA recheck interval in seconds,
minutes or hours. The default is five minutes. It
cannot be longer than <code class="option">nta-lifetime</code>
(which cannot be longer than a week).
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-zone-ttl</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies a maximum permissible TTL value in seconds.
For convenience, TTL-style time unit suffixes may be
used to specify the maximum value.
<code class="option">max-zone-ttl</code> will cause the zone to
be rejected.
</p>
-<p>
+ <p>
This is useful in DNSSEC-signed zones because when
rolling to a new DNSKEY, the old key needs to remain
available until RRSIG records have expired from
that the largest TTL in the zone will be no higher
than the set value.
</p>
-<p>
+ <p>
(NOTE: Because <code class="constant">map</code>-format files
load directly into memory, this option cannot be
used with them.)
</p>
-<p>
+ <p>
The default value is <code class="constant">unlimited</code>.
A <code class="option">max-zone-ttl</code> of zero is treated as
<code class="constant">unlimited</code>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>serial-update-method</strong></span></span></dt>
<dd>
-<p>
+ <p>
Zones configured for dynamic DNS may use this
option to set the update method that will be used for
the zone serial number in the SOA record.
</p>
-<p>
+ <p>
With the default setting of
<span class="command"><strong>serial-update-method increment;</strong></span>, the
SOA serial number will be incremented by one each time
the zone is updated.
</p>
-<p>
+ <p>
When set to
<span class="command"><strong>serial-update-method unixtime;</strong></span>, the
SOA serial number will be set to the number of seconds
already greater than or equal to that value, in which
case it is simply incremented by one.
</p>
-<p>
+ <p>
When set to
<span class="command"><strong>serial-update-method date;</strong></span>, the
new SOA serial number will be the current date
than or equal to that value, in which case it is
incremented by one.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>zone-statistics</strong></span></span></dt>
<dd>
-<p>
+ <p>
If <strong class="userinput"><code>full</code></strong>, the server will collect
statistical data on all zones (unless specifically
turned off on a per-zone basis by specifying
current serial number, but not query type
counters).
</p>
-<p>
+ <p>
These statistics may be accessed via the
<span class="command"><strong>statistics-channel</strong></span> or
using <span class="command"><strong>rndc stats</strong></span>, which
in the <span class="command"><strong>statistics-file</strong></span>. See
also <a class="xref" href="Bv9ARM.ch06.html#statsfile" title="The Statistics File">the section called “The Statistics File”</a>.
</p>
-<p>
+ <p>
For backward compatibility with earlier versions
of BIND 9, the <span class="command"><strong>zone-statistics</strong></span>
option can also accept <strong class="userinput"><code>yes</code></strong>
as <strong class="userinput"><code>none</code></strong>; previously, it
was the same as <strong class="userinput"><code>terse</code></strong>.
</p>
-</dd>
+ </dd>
</dl></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="boolean_options"></a>Boolean Options</h4></div></div></div>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>automatic-interface-scan</strong></span></span></dt>
<dd>
-<p>
+ <p>
If <strong class="userinput"><code>yes</code></strong> and supported by the operating
system, automatically rescan network interfaces when the
interface addresses are added or removed. The default is
confirms that automatic interface scanning is supported by the
operating system.
</p>
-<p>
+ <p>
The <span class="command"><strong>automatic-interface-scan</strong></span> implementation
uses routing sockets for the network interface discovery,
and therefore the operating system has to support the routing
sockets for this feature to work.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-new-zones</strong></span></span></dt>
<dd>
-<p>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, then zones can be
added at runtime via <span class="command"><strong>rndc addzone</strong></span>.
The default is <strong class="userinput"><code>no</code></strong>.
</p>
-<p>
+ <p>
Newly added zones' configuration parameters
are stored so that they can persist after the
server is restarted. The configuration information
incompatible with use as a file name, in which case a
cryptographic hash of the view name is used instead.
</p>
-<p>
+ <p>
Zones added at runtime will have their configuration
stored either in a new-zone file (NZF) or a new-zone
database (NZD) depending on whether
See <a class="xref" href="man.rndc.html" title="rndc"><span class="refentrytitle"><span class="application">rndc</span></span>(8)</a> for further details
about <span class="command"><strong>rndc addzone</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>auth-nxdomain</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, then the <span class="command"><strong>AA</strong></span> bit
is always set on NXDOMAIN responses, even if the server is
not actually
a change from <acronym class="acronym">BIND</acronym> 8. If you
are using very old DNS software, you
may need to set it to <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>deallocate-on-exit</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option was used in <acronym class="acronym">BIND</acronym>
8 to enable checking
for memory leaks on exit. <acronym class="acronym">BIND</acronym> 9 ignores the option and always performs
the checks.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>memstatistics</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Write memory statistics to the file specified by
<span class="command"><strong>memstatistics-file</strong></span> at exit.
The default is <strong class="userinput"><code>no</code></strong> unless
'-m record' is specified on the command line in
which case it is <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dialup</strong></span></span></dt>
<dd>
-<p>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, then the
server treats all zones as if they are doing zone transfers
across
the normal
zone maintenance traffic. The default is <strong class="userinput"><code>no</code></strong>.
</p>
-<p>
+ <p>
The <span class="command"><strong>dialup</strong></span> option
may also be specified in the <span class="command"><strong>view</strong></span> and
<span class="command"><strong>zone</strong></span> statements,
in which case it overrides the global <span class="command"><strong>dialup</strong></span>
option.
</p>
-<p>
+ <p>
If the zone is a master zone, then the server will send out a
NOTIFY
request to all the slaves (default). This should trigger the
by
<span class="command"><strong>notify</strong></span> and <span class="command"><strong>also-notify</strong></span>.
</p>
-<p>
+ <p>
If the
zone is a slave or stub zone, then the server will suppress
the regular
addition to sending
NOTIFY requests.
</p>
-<p>
+ <p>
Finer control can be achieved by using
<strong class="userinput"><code>notify</code></strong> which only sends NOTIFY
messages,
refresh
processing.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="1.150in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+
+ <p>
Note that normal NOTIFY processing is not affected by
<span class="command"><strong>dialup</strong></span>.
</p>
-</dd>
+
+ </dd>
<dt><span class="term"><span class="command"><strong>fake-iquery</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
In <acronym class="acronym">BIND</acronym> 8, this option
enabled simulating the obsolete DNS query type
IQUERY. <acronym class="acronym">BIND</acronym> 9 never does
IQUERY simulation.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>fetch-glue</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is obsolete.
In BIND 8, <strong class="userinput"><code>fetch-glue yes</code></strong>
caused the server to attempt to fetch glue resource records
data section of a response. This is now considered a bad
idea
and BIND 9 never does it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>flush-zones-on-shutdown</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When the nameserver exits due receiving SIGTERM,
flush or do not flush any pending zone writes. The default
is
<span class="command"><strong>flush-zones-on-shutdown</strong></span> <strong class="userinput"><code>no</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>geoip-use-ecs</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When BIND is compiled with GeoIP support and configured
with "geoip" ACL elements, this option indicates whether
the EDNS Client Subnet option, if present in a request,
should be used for matching against the GeoIP database.
The default is
<span class="command"><strong>geoip-use-ecs</strong></span> <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>has-old-clients</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option was incorrectly implemented
in <acronym class="acronym">BIND</acronym> 8, and is ignored by <acronym class="acronym">BIND</acronym> 9.
To achieve the intended effect
<span class="command"><strong>has-old-clients</strong></span> <strong class="userinput"><code>yes</code></strong>, specify
the two separate options <span class="command"><strong>auth-nxdomain</strong></span> <strong class="userinput"><code>yes</code></strong>
and <span class="command"><strong>rfc2308-type1</strong></span> <strong class="userinput"><code>no</code></strong> instead.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>host-statistics</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
In BIND 8, this enabled keeping of
statistics for every host that the name server interacts
with.
Not implemented in BIND 9.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>root-key-sentinel</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Respond to root key sentinel probes as described in
draft-ietf-dnsop-kskroll-sentinel-08. The default is
<strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>maintain-ixfr-base</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
<span class="emphasis"><em>This option is obsolete</em></span>.
It was used in <acronym class="acronym">BIND</acronym> 8 to
determine whether a transaction log was
log whenever possible. If you need to disable outgoing
incremental zone
transfers, use <span class="command"><strong>provide-ixfr</strong></span> <strong class="userinput"><code>no</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>message-compression</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, DNS name compression is
used in responses to regular queries (not including
AXFR or IXFR, which always uses compression). Setting
to be processed using TCP; a server with compression
disabled is out of compliance with RFC 1123 Section
6.1.3.2. The default is <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>minimal-responses</strong></span></span></dt>
<dd>
-<p>
+ <p>
If set to <strong class="userinput"><code>yes</code></strong>, then when generating
responses the server will only add records to the authority
and additional data sections when they are required (e.g.
delegations, negative responses). This may improve the
performance of the server.
</p>
-<p>
+ <p>
When set to <strong class="userinput"><code>no-auth</code></strong>, the
server will omit records from the authority section
unless they are required, but it may still add
designed for mixed-mode servers which handle
both authoritative and recursive queries.
</p>
-<p>
+ <p>
The default is <strong class="userinput"><code>no</code></strong>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>minimal-any</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If set to <strong class="userinput"><code>yes</code></strong>, then when
generating a positive response to a query of type
ANY over UDP, the server will reply with only one
turned on for these queries, so no unnecessary records
will be added to the authority or additional sections.
The default is <strong class="userinput"><code>no</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>multiple-cnames</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option was used in <acronym class="acronym">BIND</acronym> 8 to allow
a domain name to have multiple CNAME records in violation of
the DNS standards. <acronym class="acronym">BIND</acronym> 9.2 onwards
always strictly enforces the CNAME rules both in master
files and dynamic updates.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify</strong></span></span></dt>
<dd>
-<p>
+ <p>
If <strong class="userinput"><code>yes</code></strong> (the default),
DNS NOTIFY messages are sent when a zone the server is
authoritative for
in the SOA MNAME field), and to any servers listed in the
<span class="command"><strong>also-notify</strong></span> option.
</p>
-<p>
+ <p>
If <strong class="userinput"><code>master-only</code></strong>, notifies are only
sent
for master zones.
servers explicitly listed using <span class="command"><strong>also-notify</strong></span>.
If <strong class="userinput"><code>no</code></strong>, no notifies are sent.
</p>
-<p>
+ <p>
The <span class="command"><strong>notify</strong></span> option may also be
specified in the <span class="command"><strong>zone</strong></span>
statement,
caused slaves
to crash.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-to-soa</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <strong class="userinput"><code>yes</code></strong> do not check the nameservers
in the NS RRset against the SOA MNAME. Normally a NOTIFY
message is not sent to the SOA MNAME (SOA ORIGIN) as it is
hidden master configurations and in that case you would
want the ultimate master to still send NOTIFY messages to
all the nameservers listed in the NS RRset.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>recursion</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, and a
DNS query requests recursion, then the server will attempt
to do
queries.
Caching may still occur as an effect the server's internal
operation, such as NOTIFY address lookups.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>request-nsid</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, then an empty EDNS(0)
NSID (Name Server Identifier) option is sent with all
queries to authoritative name servers during iterative
the <span class="command"><strong>resolver</strong></span> category at level
<span class="command"><strong>info</strong></span>.
The default is <strong class="userinput"><code>no</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>request-sit</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This experimental option is obsolete.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>require-server-cookie</strong></span></span></dt>
<dd>
-<p>
+ <p>
Require a valid server cookie before sending a full
response to a UDP request from a cookie aware client.
BADCOOKIE is sent if there is a bad or no existent
server cookie.
The default is <strong class="userinput"><code>no</code></strong>.
</p>
-<p>
+ <p>
Set this to <strong class="userinput"><code>yes</code></strong> to test that DNS
COOKIE clients correctly handle BADCOOKIE or if you are
getting a lot of forged DNS requests with DNS COOKIES
a full response, while also requiring a legitimate client
to follow up with a second query with the new, valid, cookie.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>answer-cookie</strong></span></span></dt>
<dd>
-<p>
+ <p>
When set to the default value of <strong class="userinput"><code>yes</code></strong>,
COOKIE EDNS options will be sent when applicable in
replies to client queries. If set to
be sent in replies. This can only be set at the global
options level, not per-view.
</p>
-<p>
+ <p>
<span class="command"><strong>answer-cookie no</strong></span> is only intended as a
temporary measure, for use when <span class="command"><strong>named</strong></span>
shares an IP address with other servers that do not yet
security mechanism, and should not be disabled unless
absolutely necessary.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>send-cookie</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, then a COOKIE EDNS
option is sent along with the query. If the
resolver has previously talked to the server, the
to receiving smaller responses via the
<span class="command"><strong>nocookie-udp-size</strong></span> option.
The default is <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>nocookie-udp-size</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the maximum size of UDP responses that will be
sent to queries without a valid server COOKIE. A value
below 128 will be silently raised to 128. The default
value is 4096, but the <span class="command"><strong>max-udp-size</strong></span>
option may further limit the response size.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>sit-secret</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This experimental option is obsolete.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>cookie-algorithm</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the algorithm to be used when generating the
server cookie. One of "aes", "sha1" or "sha256".
The default is "aes" if supported by the cryptographic
library or otherwise "sha256".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>cookie-secret</strong></span></span></dt>
<dd>
-<p>
+ <p>
If set, this is a shared secret used for generating
and verifying EDNS COOKIE options
within an anycast cluster. If not set, the system
to be 128 bits for AES128, 160 bits for SHA1 and
256 bits for SHA256.
</p>
-<p>
+ <p>
If there are multiple secrets specified, the first
one listed in <code class="filename">named.conf</code> is
used to generate new server cookies. The others
will only be used to verify returned cookies.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>rfc2308-type1</strong></span></span></dt>
<dd>
-<p>
+ <p>
Setting this to <strong class="userinput"><code>yes</code></strong> will
cause the server to send NS records along with the SOA
record for negative
answers. The default is <strong class="userinput"><code>no</code></strong>.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Not yet implemented in <acronym class="acronym">BIND</acronym>
9.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>trust-anchor-telemetry</strong></span></span></dt>
<dd>
-<p>
+ <p>
Causes <span class="command"><strong>named</strong></span> to send specially-formed
queries once per day to domains for which trust anchors
have been configured via <span class="command"><strong>trusted-keys</strong></span>,
<span class="command"><strong>managed-keys</strong></span>, or
<span class="command"><strong>dnssec-validation auto</strong></span>.
</p>
-<p>
+ <p>
The query name used for these queries has the
form "_ta-xxxx(-xxxx)(...)".<domain>, where
each "xxxx" is a group of four hexadecimal digits
The key IDs for each domain are sorted smallest
to largest prior to encoding. The query type is NULL.
</p>
-<p>
+ <p>
By monitoring these queries, zone operators will
be able to see which resolvers have been updated to
trust a new key; this may help them decide when it
is safe to remove an old one.
</p>
-<p>
+ <p>
The default is <strong class="userinput"><code>yes</code></strong>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>use-id-pool</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
<span class="emphasis"><em>This option is obsolete</em></span>.
<acronym class="acronym">BIND</acronym> 9 always allocates query
IDs from a pool.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>use-ixfr</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
<span class="emphasis"><em>This option is obsolete</em></span>.
If you need to disable IXFR to a particular server or
servers, see
Usage”</a>.
See also
<a class="xref" href="Bv9ARM.ch04.html#incremental_zone_transfers" title="Incremental Zone Transfers (IXFR)">the section called “Incremental Zone Transfers (IXFR)”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>provide-ixfr</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>provide-ixfr</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#server_statement_definition_and_usage" title="server Statement Definition and Usage">the section called “<span class="command"><strong>server</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>request-ixfr</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>request-ixfr</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#server_statement_definition_and_usage" title="server Statement Definition and Usage">the section called “<span class="command"><strong>server</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>request-expire</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>request-expire</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#server_statement_definition_and_usage" title="server Statement Definition and Usage">the section called “<span class="command"><strong>server</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>treat-cr-as-space</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option was used in <acronym class="acronym">BIND</acronym>
8 to make
the server treat carriage return ("<span class="command"><strong>\r</strong></span>") characters the same way
and NT/DOS "<span class="command"><strong>\r\n</strong></span>" newlines
are always accepted,
and the option is ignored.
- </p></dd>
+ </p>
+ </dd>
<dt>
<span class="term"><span class="command"><strong>additional-from-auth</strong></span>, </span><span class="term"><span class="command"><strong>additional-from-cache</strong></span></span>
</dt>
<dd>
-<p>
+
+ <p>
These options control the behavior of an authoritative
server when
answering queries which have additional data, or when
following CNAME
and DNAME chains.
</p>
-<p>
+
+ <p>
When both of these options are set to <strong class="userinput"><code>yes</code></strong>
(the default) and a
query is being answered from authoritative data (a zone
what would
otherwise be provided in the additional section.
</p>
-<p>
+
+ <p>
For example, if a query asks for an MX record for host <code class="literal">foo.example.com</code>,
and the record found is "<code class="literal">MX 10 mail.example.net</code>", normally the address
records (A and AAAA) for <code class="literal">mail.example.net</code> will be provided as well,
the server only search for additional data in the zone it
answers from.
</p>
-<p>
+
+ <p>
These options are intended for use in authoritative-only
servers, or in authoritative-only views. Attempts to set
them to <span class="command"><strong>no</strong></span> without also
server to
ignore the options and log a warning message.
</p>
-<p>
+
+ <p>
Specifying <span class="command"><strong>additional-from-cache no</strong></span> actually
disables the use of the cache not only for additional data
lookups
correctness of
the cached data is an issue.
</p>
-<p>
+
+ <p>
When a name server is non-recursively queried for a name
that is not
below the apex of any served zone, it normally answers with
upwards referrals are not required for the resolution
process.
</p>
-</dd>
+
+ </dd>
<dt><span class="term"><span class="command"><strong>match-mapped-addresses</strong></span></span></dt>
<dd>
-<p>
+ <p>
If <strong class="userinput"><code>yes</code></strong>, then an
IPv4-mapped IPv6 address will match any address match
list entries that match the corresponding IPv4 address.
</p>
-<p>
+ <p>
This option was introduced to work around a kernel quirk
in some operating systems that causes IPv4 TCP
connections, such as zone transfers, to be accepted on an
<span class="command"><strong>named</strong></span> now solves this problem
internally. The use of this option is discouraged.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>filter-aaaa-on-v4</strong></span></span></dt>
<dd>
-<p>
+ <p>
This option is only available when
<acronym class="acronym">BIND</acronym> 9 is compiled with the
<strong class="userinput"><code>--enable-filter-aaaa</code></strong> option on the
to override the global <span class="command"><strong>filter-aaaa-on-v4</strong></span>
option.
</p>
-<p>
+ <p>
If <strong class="userinput"><code>yes</code></strong>,
the DNS client is at an IPv4 address, in <span class="command"><strong>filter-aaaa</strong></span>,
and if the response does not include DNSSEC signatures,
This filtering applies to all responses and not only
authoritative responses.
</p>
-<p>
+ <p>
If <strong class="userinput"><code>break-dnssec</code></strong>,
then AAAA records are deleted even when DNSSEC is enabled.
As suggested by the name, this makes the response not verify,
because the DNSSEC protocol is designed detect deletions.
</p>
-<p>
+ <p>
This mechanism can erroneously cause other servers to
not give AAAA records to their clients.
A recursing server with both IPv6 and IPv4 network connections
via IPv4 will be denied AAAA records even if its client is
using IPv6.
</p>
-<p>
+ <p>
This mechanism is applied to authoritative as well as
non-authoritative records.
A client using IPv4 that is not allowed recursion can
erroneously be given AAAA records because the server is not
allowed to check for A records.
</p>
-<p>
+ <p>
Some AAAA records are given to IPv4 clients in glue records.
IPv4 clients that are servers can then erroneously
answer requests for AAAA records received via IPv4.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>filter-aaaa-on-v6</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Identical to <span class="command"><strong>filter-aaaa-on-v4</strong></span>,
except it filters AAAA responses to queries from IPv6
clients instead of IPv4 clients. To filter all
responses, set both options to <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>ixfr-from-differences</strong></span></span></dt>
<dd>
-<p>
+ <p>
When <strong class="userinput"><code>yes</code></strong> and the server loads a new
version of a master zone from its zone file or receives a
new version of a slave file via zone transfer, it will
transmitted to downstream slaves as an incremental zone
transfer.
</p>
-<p>
+ <p>
By allowing incremental zone transfers to be used for
non-dynamic zones, this option saves bandwidth at the
expense of increased CPU and memory consumption at the
temporarily allocate memory to hold this complete
difference set.
</p>
-<p><span class="command"><strong>ixfr-from-differences</strong></span>
+ <p><span class="command"><strong>ixfr-from-differences</strong></span>
also accepts <span class="command"><strong>master</strong></span> and
<span class="command"><strong>slave</strong></span> at the view and options
levels which causes
<span class="command"><strong>slave</strong></span> zones respectively.
It is off by default.
</p>
-<p>
+ <p>
Note: if inline signing is enabled for a zone, the
user-provided <span class="command"><strong>ixfr-from-differences</strong></span>
setting is ignored for that zone.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>multi-master</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This should be set when you have multiple masters for a zone
and the
addresses refer to different machines. If <strong class="userinput"><code>yes</code></strong>, <span class="command"><strong>named</strong></span> will
when the serial number on the master is less than what <span class="command"><strong>named</strong></span>
currently
has. The default is <strong class="userinput"><code>no</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>auto-dnssec</strong></span></span></dt>
<dd>
-<p>
+ <p>
Zones configured for dynamic DNS may use this
option to allow varying levels of automatic DNSSEC key
management. There are three possible settings:
</p>
-<p>
+ <p>
<span class="command"><strong>auto-dnssec allow;</strong></span> permits
keys to be updated and the zone fully re-signed
whenever the user issues the command <span class="command"><strong>rndc sign
<em class="replaceable"><code>zonename</code></em></strong></span>.
</p>
-<p>
+ <p>
<span class="command"><strong>auto-dnssec maintain;</strong></span> includes the
above, but also automatically adjusts the zone's DNSSEC
keys on schedule, according to the keys' timing metadata
interval is defined by
<span class="command"><strong>dnssec-loadkeys-interval</strong></span>.)
</p>
-<p>
+ <p>
The default setting is <span class="command"><strong>auto-dnssec off</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-enable</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This indicates whether DNSSEC-related resource
records are to be returned by <span class="command"><strong>named</strong></span>.
If set to <strong class="userinput"><code>no</code></strong>,
<span class="command"><strong>named</strong></span> will not return DNSSEC-related
resource records unless specifically queried for.
The default is <strong class="userinput"><code>yes</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-validation</strong></span></span></dt>
<dd>
-<p>
+ <p>
Enable DNSSEC validation in <span class="command"><strong>named</strong></span>.
Note <span class="command"><strong>dnssec-enable</strong></span> also needs to be
set to <strong class="userinput"><code>yes</code></strong> to be effective.
If set to <strong class="userinput"><code>no</code></strong>, DNSSEC validation
is disabled.
</p>
-<p>
+ <p>
If set to <strong class="userinput"><code>auto</code></strong>, DNSSEC validation
is enabled, and a default trust anchor for the DNS root
zone is used. If set to <strong class="userinput"><code>yes</code></strong>,
or <span class="command"><strong>managed-keys</strong></span> statement. The default
is <strong class="userinput"><code>yes</code></strong>.
</p>
-<p>
+ <p>
The default root trust anchor is stored in the file
<code class="filename">bind.keys</code>.
<span class="command"><strong>named</strong></span> will load that key at
<code class="filename">bind.keys</code> can be downloaded
from <a class="link" href="https://www.isc.org/bind-keys" target="_top">https://www.isc.org/bind-keys</a>.
</p>
-<p>
+ <p>
To prevent problems if <code class="filename">bind.keys</code> is
not found, the current trust anchor is also compiled in
to <span class="command"><strong>named</strong></span>. Relying on this is not
recommended, however, as it requires <span class="command"><strong>named</strong></span>
to be recompiled with a new key when the root key expires.)
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
<span class="command"><strong>named</strong></span> <span class="emphasis"><em>only</em></span>
loads the root key from <code class="filename">bind.keys</code>.
The file cannot be used to store keys for other zones.
if <span class="command"><strong>dnssec-validation auto</strong></span> is not in
use.
</p>
-<p>
+ <p>
Whenever the resolver sends out queries to an
EDNS-compliant server, it always sets the DO bit
indicating it can support DNSSEC responses even if
<span class="command"><strong>dnssec-validation</strong></span> is off.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-accept-expired</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Accept expired signatures when verifying DNSSEC signatures.
The default is <strong class="userinput"><code>no</code></strong>.
Setting this option to <strong class="userinput"><code>yes</code></strong>
leaves <span class="command"><strong>named</strong></span> vulnerable to
replay attacks.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>querylog</strong></span></span></dt>
<dd>
-<p>
+ <p>
Query logging provides a complete log of all incoming
queries and all query errors. This provides more insight
into the server's activity, but with a cost to
performance which may be significant on heavily-loaded
servers.
</p>
-<p>
+ <p>
The <span class="command"><strong>querylog</strong></span> option specifies
whether query logging should be active when
<span class="command"><strong>named</strong></span> first starts.
command <span class="command"><strong>rndc querylog on</strong></span>, or
deactivated with <span class="command"><strong>rndc querylog off</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-names</strong></span></span></dt>
<dd>
-<p>
+ <p>
This option is used to restrict the character set and syntax
of
certain domain names in master files and/or DNS responses
For answers received from the network (<span class="command"><strong>response</strong></span>)
the default is <span class="command"><strong>ignore</strong></span>.
</p>
-<p>
+ <p>
The rules for legal hostnames and mail domains are derived
from RFC 952 and RFC 821 as modified by RFC 1123.
</p>
-<p><span class="command"><strong>check-names</strong></span>
+ <p><span class="command"><strong>check-names</strong></span>
applies to the owner names of A, AAAA and MX records.
It also applies to the domain names in the RDATA of NS, SOA,
MX, and SRV records.
name indicated that it is a reverse lookup of a hostname
(the owner name ends in IN-ADDR.ARPA, IP6.ARPA, or IP6.INT).
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-dup-records</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Check master zones for records that are treated as different
by DNSSEC but are semantically equal in plain DNS. The
default is to <span class="command"><strong>warn</strong></span>. Other possible
values are <span class="command"><strong>fail</strong></span> and
<span class="command"><strong>ignore</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-mx</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Check whether the MX record appears to refer to a IP address.
The default is to <span class="command"><strong>warn</strong></span>. Other possible
values are <span class="command"><strong>fail</strong></span> and
<span class="command"><strong>ignore</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-wildcard</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is used to check for non-terminal wildcards.
The use of non-terminal wildcards is almost always as a
result of a failure
This option
affects master zones. The default (<span class="command"><strong>yes</strong></span>) is to check
for non-terminal wildcards and issue a warning.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-integrity</strong></span></span></dt>
<dd>
-<p>
+ <p>
Perform post load zone integrity checks on master
zones. This checks that MX and SRV records refer
to address (A or AAAA) records and that glue
checks use <span class="command"><strong>named-checkzone</strong></span>).
The default is <span class="command"><strong>yes</strong></span>.
</p>
-<p>
+ <p>
The use of the SPF record for publishing Sender
Policy Framework is deprecated as the migration
from using TXT records to SPF records was abandoned.
TXT record does not exist and can be suppressed with
<span class="command"><strong>check-spf</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-mx-cname</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <span class="command"><strong>check-integrity</strong></span> is set then
fail, warn or ignore MX records that refer
to CNAMES. The default is to <span class="command"><strong>warn</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-srv-cname</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <span class="command"><strong>check-integrity</strong></span> is set then
fail, warn or ignore SRV records that refer
to CNAMES. The default is to <span class="command"><strong>warn</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-sibling</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When performing integrity checks, also check that
sibling glue exists. The default is <span class="command"><strong>yes</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-spf</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <span class="command"><strong>check-integrity</strong></span> is set then
check that there is a TXT Sender Policy Framework
record present (starts with "v=spf1") if there is an
SPF record present. The default is
<span class="command"><strong>warn</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>zero-no-soa-ttl</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When returning authoritative negative responses to
SOA queries set the TTL of the SOA record returned in
the authority section to zero.
The default is <span class="command"><strong>yes</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>zero-no-soa-ttl-cache</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When caching a negative response to a SOA query
set the TTL to zero.
The default is <span class="command"><strong>no</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>update-check-ksk</strong></span></span></dt>
<dd>
-<p>
+ <p>
When set to the default value of <code class="literal">yes</code>,
check the KSK bit in each key to determine how the key
should be used when generating RRSIGs for a secure zone.
</p>
-<p>
+ <p>
Ordinarily, zone-signing keys (that is, keys without the
KSK bit set) are used to sign the entire zone, while
key-signing keys (keys with the KSK bit set) are only
similar to the <span class="command"><strong>dnssec-signzone -z</strong></span>
command line option.
</p>
-<p>
+ <p>
When this option is set to <code class="literal">yes</code>, there
must be at least two active keys for every algorithm
represented in the DNSKEY RRset: at least one KSK and one
this requirement is not met, this option will be ignored
for that algorithm.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-dnskey-kskonly</strong></span></span></dt>
<dd>
-<p>
+ <p>
When this option and <span class="command"><strong>update-check-ksk</strong></span>
are both set to <code class="literal">yes</code>, only key-signing
keys (that is, keys with the KSK bit set) will be used
This is similar to the
<span class="command"><strong>dnssec-signzone -x</strong></span> command line option.
</p>
-<p>
+ <p>
The default is <span class="command"><strong>no</strong></span>. If
<span class="command"><strong>update-check-ksk</strong></span> is set to
<code class="literal">no</code>, this option is ignored.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>try-tcp-refresh</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Try to refresh the zone using TCP if UDP queries fail.
For BIND 8 compatibility, the default is
<span class="command"><strong>yes</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-secure-to-insecure</strong></span></span></dt>
<dd>
-<p>
+ <p>
Allow a dynamic zone to transition from secure to
insecure (i.e., signed to unsigned) by deleting all
of the DNSKEY records. The default is <span class="command"><strong>no</strong></span>.
at the zone apex is deleted, all RRSIG and NSEC records
will be removed from the zone as well.
</p>
-<p>
+ <p>
If the zone uses NSEC3, then it is also necessary to
delete the NSEC3PARAM RRset from the zone apex; this will
cause the removal of all corresponding NSEC3 records.
(It is expected that this requirement will be eliminated
in a future release.)
</p>
-<p>
+ <p>
Note that if a zone has been configured with
<span class="command"><strong>auto-dnssec maintain</strong></span> and the
private keys remain accessible in the key repository,
then the zone will be automatically signed again the
next time <span class="command"><strong>named</strong></span> is started.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="forwarding"></a>Forwarding</h4></div></div></div>
-<p>
+
+ <p>
The forwarding facility can be used to create a large site-wide
cache on a few servers, reducing traffic over links to external
name servers. It can also be used to allow queries by servers that
the server is not authoritative and does not have the answer in
its cache.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>forward</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is only meaningful if the
forwarders list is not empty. A value of <code class="varname">first</code>,
the default, causes the server to query the forwarders
the answer itself. If <code class="varname">only</code> is
specified, the
server will only query the forwarders.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>forwarders</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a list of IP addresses to which queries shall be
forwarded. The default is the empty list (no forwarding).
Each address in the list can be associated with an optional
port number and/or DSCP value, and a default port number and
DSCP value can be set for the entire list.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-<p>
+
+ <p>
Forwarding can also be configured on a per-domain basis, allowing
for the global forwarding options to be overridden in a variety
of ways. You can set particular domains to use different
or not forward at all, see <a class="xref" href="Bv9ARM.ch06.html#zone_statement_grammar" title="zone Statement Grammar">the section called “<span class="command"><strong>zone</strong></span>
Statement Grammar”</a>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="dual_stack"></a>Dual-stack Servers</h4></div></div></div>
-<p>
+
+ <p>
Dual-stack servers are used as servers of last resort to work
around
problems in reachability due the lack of support for either IPv4
or IPv6
on the host machine.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>dual-stack-servers</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies host names or addresses of machines with access to
both IPv4 and IPv6 transports. If a hostname is used, the
server must be able
stacked, then the <span class="command"><strong>dual-stack-servers</strong></span> have no effect unless
access to a transport has been disabled on the command line
(e.g. <span class="command"><strong>named -4</strong></span>).
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="access_control"></a>Access Control</h4></div></div></div>
-<p>
+
+
+ <p>
Access to the server can be restricted based on the IP address
of the requesting system. See <a class="xref" href="Bv9ARM.ch06.html#address_match_lists" title="Address Match Lists">the section called “Address Match Lists”</a> for
details on how to specify IP address lists.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>allow-notify</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies which hosts are allowed to
notify this server, a slave, of zone changes in addition
to the zone masters.
for a slave zone. If not specified, the default is to
process notify messages
only from a zone's master.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-query</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies which hosts are allowed to ask ordinary
DNS questions. <span class="command"><strong>allow-query</strong></span> may
also be specified in the <span class="command"><strong>zone</strong></span>
If not specified, the default is to allow queries
from all hosts.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
<span class="command"><strong>allow-query-cache</strong></span> is now
used to specify access to the cache.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-query-on</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies which local addresses can accept ordinary
DNS questions. This makes it possible, for instance,
to allow queries on internal-facing interfaces but
disallow them on external-facing ones, without
necessarily knowing the internal network's addresses.
</p>
-<p>
+ <p>
Note that <span class="command"><strong>allow-query-on</strong></span> is only
checked for queries that are permitted by
<span class="command"><strong>allow-query</strong></span>. A query must be
allowed by both ACLs, or it will be refused.
</p>
-<p>
+ <p>
<span class="command"><strong>allow-query-on</strong></span> may
also be specified in the <span class="command"><strong>zone</strong></span>
statement, in which case it overrides the
<span class="command"><strong>options allow-query-on</strong></span> statement.
</p>
-<p>
+ <p>
If not specified, the default is to allow queries
on all addresses.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
<span class="command"><strong>allow-query-cache</strong></span> is
used to specify access to the cache.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-query-cache</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies which hosts are allowed to get answers
from the cache. If <span class="command"><strong>allow-query-cache</strong></span>
is not set then <span class="command"><strong>allow-recursion</strong></span>
set in which case <span class="command"><strong>none;</strong></span> is used,
otherwise the default (<span class="command"><strong>localnets;</strong></span>
<span class="command"><strong>localhost;</strong></span>) is used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-query-cache-on</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies which local addresses can give answers
from the cache. If not specified, the default is
to allow cache queries on any address,
<span class="command"><strong>localnets</strong></span> and
<span class="command"><strong>localhost</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-recursion</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies which hosts are allowed to make recursive
queries through this server. If
<span class="command"><strong>allow-recursion</strong></span> is not set
is used if set, otherwise the default
(<span class="command"><strong>localnets;</strong></span>
<span class="command"><strong>localhost;</strong></span>) is used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-recursion-on</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies which local addresses can accept recursive
queries. If not specified, the default is to allow
recursive queries on all addresses.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-update</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies which hosts are allowed to
submit Dynamic DNS updates for master zones. The default is
to deny
updates from all hosts. Note that allowing updates based
on the requestor's IP address is insecure; see
<a class="xref" href="Bv9ARM.ch07.html#dynamic_update_security" title="Dynamic Update Security">the section called “Dynamic Update Security”</a> for details.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-update-forwarding</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies which hosts are allowed to
submit Dynamic DNS updates to slave zones to be forwarded to
the
with the
master server, not the slaves.
</p>
-<p>
+ <p>
Note that enabling the update forwarding feature on a slave
server
may expose master servers relying on insecure IP address
access control to attacks; see <a class="xref" href="Bv9ARM.ch07.html#dynamic_update_security" title="Dynamic Update Security">the section called “Dynamic Update Security”</a>
for more details.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-v6-synthesis</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option was introduced for the smooth transition from
AAAA
to A6 and from "nibble labels" to binary labels.
deprecated,
this option was also deprecated.
It is now ignored with some warning messages.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-transfer</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies which hosts are allowed to
receive zone transfers from the server. <span class="command"><strong>allow-transfer</strong></span> may
also be specified in the <span class="command"><strong>zone</strong></span>
case it overrides the <span class="command"><strong>options allow-transfer</strong></span> statement.
If not specified, the default is to allow transfers to all
hosts.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>blackhole</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a list of addresses that the
server will not accept queries from or use to resolve a
query. Queries
from these addresses will not be responded to. The default
is <strong class="userinput"><code>none</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>filter-aaaa</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a list of addresses to which
<span class="command"><strong>filter-aaaa-on-v4</strong></span>
and <span class="command"><strong>filter-aaaa-on-v6</strong></span>
apply. The default is <strong class="userinput"><code>any</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>keep-response-order</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a list of addresses to which the server
will send responses to TCP queries in the same order
in which they were received. This disables the
processing of TCP queries in parallel. The default
is <strong class="userinput"><code>none</code></strong>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>no-case-compress</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies a list of addresses which require responses
to use case-insensitive compression. This ACL can be
used when <span class="command"><strong>named</strong></span> needs to work with
1034 to use case-insensitive name comparisons when
checking for matching domain names.
</p>
-<p>
+ <p>
If left undefined, the ACL defaults to
<span class="command"><strong>none</strong></span>: case-insensitive compression
will be used for all clients. If the ACL is defined and
compressing domain names in DNS responses sent to that
client.
</p>
-<p>
+ <p>
This can result in slightly smaller responses: if
a response contains the names "example.com" and
"example.COM", case-insensitive compression would treat
match the query, which is required by some clients
due to incorrect use of case-sensitive comparisons.
</p>
-<p>
+ <p>
Case-insensitive compression is <span class="emphasis"><em>always</em></span>
used in AXFR and IXFR responses, regardless of whether
the client matches this ACL.
</p>
-<p>
+ <p>
There are circumstances in which <span class="command"><strong>named</strong></span>
will not preserve the case of owner names of records:
if a zone file defines records of different types with
have their case preserved unless the client matches this
ACL.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>resolver-query-timeout</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The amount of time in seconds that the resolver
will spend attempting to resolve a recursive
query before failing. The default and minimum
<code class="literal">30</code>. Setting it to
<code class="literal">0</code> will result in the default
being used.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="interfaces"></a>Interfaces</h4></div></div></div>
-<p>
+
+ <p>
The interfaces and ports that the server will answer queries
from may be specified using the <span class="command"><strong>listen-on</strong></span> option. <span class="command"><strong>listen-on</strong></span> takes
an optional port and an <code class="varname">address_match_list</code>
The server will listen on all interfaces allowed by the address
match list. If a port is not specified, port 53 will be used.
</p>
-<p>
+ <p>
Multiple <span class="command"><strong>listen-on</strong></span> statements are
allowed.
For example,
</p>
+
<pre class="programlisting">listen-on { 5.6.7.8; };
listen-on port 1234 { !1.2.3.4; 1.2/16; };
</pre>
-<p>
+
+ <p>
will enable the name server on port 53 for the IP address
5.6.7.8, and on port 1234 of an address on the machine in net
1.2 that is not 1.2.3.4.
</p>
-<p>
+
+ <p>
If no <span class="command"><strong>listen-on</strong></span> is specified, the
server will listen on port 53 on all IPv4 interfaces.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>listen-on-v6</strong></span> option is used to
specify the interfaces and the ports on which the server will
listen for incoming queries sent using IPv6. If not specified,
the server will listen on port 53 on all IPv6 interfaces.
</p>
-<p>
+
+ <p>
When </p>
<pre class="programlisting">{ any; }</pre>
<p> is
If the system only has incomplete API support for IPv6, however,
the behavior is the same as that for IPv4.
</p>
-<p>
+
+ <p>
A list of particular IPv6 addresses can also be specified, in
which case
the server listens on a separate socket for each specified
IPv4 addresses specified in <span class="command"><strong>listen-on-v6</strong></span>
will be ignored, with a logged warning.
</p>
-<p>
+
+ <p>
Multiple <span class="command"><strong>listen-on-v6</strong></span> options can
be used.
For example,
</p>
+
<pre class="programlisting">listen-on-v6 { any; };
listen-on-v6 port 1234 { !2001:db8::/32; any; };
</pre>
-<p>
+
+ <p>
will enable the name server on port 53 for any IPv6 addresses
(with a single wildcard socket),
and on port 1234 of IPv6 addresses that is not in the prefix
2001:db8::/32 (with separate sockets for each matched address.)
</p>
-<p>
+
+ <p>
To make the server not listen on any IPv6 address, use
</p>
+
<pre class="programlisting">listen-on-v6 { none; };
</pre>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="query_address"></a>Query Address</h4></div></div></div>
-<p>
+
+ <p>
If the server doesn't know the answer to a question, it will
query other name servers. <span class="command"><strong>query-source</strong></span> specifies
the address and port used for such queries. For queries sent over
a wildcard IP address (<span class="command"><strong>INADDR_ANY</strong></span>)
will be used.
</p>
-<p>
+
+ <p>
If <span class="command"><strong>port</strong></span> is <span class="command"><strong>*</strong></span> or is omitted,
a random port number from a pre-configured
range is picked up and will be used for each query.
the <span class="command"><strong>avoid-v4-udp-ports</strong></span>
and <span class="command"><strong>avoid-v6-udp-ports</strong></span> options, respectively.
</p>
-<p>
+
+ <p>
The defaults of the <span class="command"><strong>query-source</strong></span> and
<span class="command"><strong>query-source-v6</strong></span> options
are:
</p>
+
<pre class="programlisting">query-source address * port *;
query-source-v6 address * port *;
</pre>
-<p>
+
+ <p>
If <span class="command"><strong>use-v4-udp-ports</strong></span> or
<span class="command"><strong>use-v6-udp-ports</strong></span> is unspecified,
<span class="command"><strong>named</strong></span> will check if the operating
<span class="command"><strong>named</strong></span> will use the corresponding system
default range; otherwise, it will use its own defaults:
</p>
+
<pre class="programlisting">use-v4-udp-ports { range 1024 65535; };
use-v6-udp-ports { range 1024 65535; };
</pre>
-<p>
+
+ <p>
Note: make sure the ranges be sufficiently large for
security. A desirable size depends on various parameters,
but we generally recommend it contain at least 16384 ports
ranges are sufficiently large and are reasonably
independent from the ranges used by other applications.
</p>
-<p>
+
+ <p>
Note: the operational configuration
where <span class="command"><strong>named</strong></span> runs may prohibit the use
of some ports. For example, UNIX systems will not allow
It is therefore important to configure the set of ports
that can be safely used in the expected operational environment.
</p>
-<p>
+
+ <p>
The defaults of the <span class="command"><strong>avoid-v4-udp-ports</strong></span> and
<span class="command"><strong>avoid-v6-udp-ports</strong></span> options
are:
</p>
+
<pre class="programlisting">avoid-v4-udp-ports {};
avoid-v6-udp-ports {};
</pre>
-<p>
+
+ <p>
Note: BIND 9.5.0 introduced
the <span class="command"><strong>use-queryport-pool</strong></span>
option to support a pool of such random ports, but this
<span class="command"><strong>query-source-v6</strong></span> options;
it implicitly disables the use of randomized port numbers.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>use-queryport-pool</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is obsolete.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>queryport-pool-ports</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is obsolete.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>queryport-pool-updateinterval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is obsolete.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
The address specified in the <span class="command"><strong>query-source</strong></span> option
is used for both UDP and TCP queries, but the port applies only
to UDP queries. TCP queries always use a random
unprivileged port.
</p>
-</div>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ </div>
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Solaris 2.5.1 and earlier does not support setting the source
address for TCP sockets.
</p>
-</div>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ </div>
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
See also <span class="command"><strong>transfer-source</strong></span> and
<span class="command"><strong>notify-source</strong></span>.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="zone_transfers"></a>Zone Transfers</h4></div></div></div>
-<p>
+
+ <p>
<acronym class="acronym">BIND</acronym> has mechanisms in place to
facilitate zone transfers
and set limits on the amount of load that transfers place on the
system. The following options apply to zone transfers.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>also-notify</strong></span></span></dt>
<dd>
-<p>
+ <p>
Defines a global list of IP addresses of name servers
that are also sent NOTIFY messages whenever a fresh copy of
the
In place of explicit addresses, one or more named
<span class="command"><strong>masters</strong></span> lists can be used.
</p>
-<p>
+ <p>
If an <span class="command"><strong>also-notify</strong></span> list
is given in a <span class="command"><strong>zone</strong></span> statement,
it will override
the empty
list (no global notification list).
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-time-in</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Inbound zone transfers running longer than
this many minutes will be terminated. The default is 120
minutes
(2 hours). The maximum value is 28 days (40320 minutes).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-idle-in</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Inbound zone transfers making no progress
in this many minutes will be terminated. The default is 60
minutes
(1 hour). The maximum value is 28 days (40320 minutes).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-time-out</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Outbound zone transfers running longer than
this many minutes will be terminated. The default is 120
minutes
(2 hours). The maximum value is 28 days (40320 minutes).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-idle-out</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Outbound zone transfers making no progress
in this many minutes will be terminated. The default is 60
minutes (1
hour). The maximum value is 28 days (40320 minutes).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-rate</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The rate at which NOTIFY requests will be sent
during normal zone maintenance operations. (NOTIFY
requests due to initial zone loading are subject
20 per second.
The lowest possible rate is one per second; when set
to zero, it will be silently raised to one.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>startup-notify-rate</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The rate at which NOTIFY requests will be sent
when the name server is first starting up, or when
zones have been newly added to the nameserver.
The default is 20 per second.
The lowest possible rate is one per second; when set
to zero, it will be silently raised to one.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>serial-query-rate</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Slave servers will periodically query master
servers to find out if zone serial numbers have
changed. Each such query uses a minute amount of
per second. The default is 20 per second.
The lowest possible rate is one per second; when set
to zero, it will be silently raised to one.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>serial-queries</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
In BIND 8, the <span class="command"><strong>serial-queries</strong></span>
option
set the maximum number of concurrent serial number queries
serial queries and ignores the <span class="command"><strong>serial-queries</strong></span> option.
Instead, it limits the rate at which the queries are sent
as defined using the <span class="command"><strong>serial-query-rate</strong></span> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfer-format</strong></span></span></dt>
-<dd><p>
+<dd>
+
+ <p>
Zone transfers can be sent using two different formats,
<span class="command"><strong>one-answer</strong></span> and
<span class="command"><strong>many-answers</strong></span>.
<span class="command"><strong>transfer-format</strong></span> may be overridden on a
per-server basis by using the <span class="command"><strong>server</strong></span>
statement.
- </p></dd>
+ </p>
+
+ </dd>
<dt><span class="term"><span class="command"><strong>transfer-message-size</strong></span></span></dt>
<dd>
-<p>
+ <p>
This is an upper bound on the uncompressed size of DNS
messages used in zone transfers over TCP. If a message
grows larger than this size, additional messages will be
fit within the size limit, a larger message will be
permitted so the record can be transferred.)
</p>
-<p>
+ <p>
Valid values are between 512 and 65535 octets, and any
values outside that range will be adjusted to the nearest
value within it. The default is <code class="literal">20480</code>,
as effectively, because 16536 is the largest permissible
compression offset pointer in a DNS message.
</p>
-<p>
+ <p>
This option is mainly intended for server testing;
there is rarely any benefit in setting a value other
than the default.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfers-in</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum number of inbound zone transfers
that can be running concurrently. The default value is <code class="literal">10</code>.
Increasing <span class="command"><strong>transfers-in</strong></span> may
speed up the convergence
of slave zones, but it also may increase the load on the
local system.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfers-out</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum number of outbound zone transfers
that can be running concurrently. Zone transfer requests in
excess
of the limit will be refused. The default value is <code class="literal">10</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfers-per-ns</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum number of inbound zone transfers
that can be concurrently transferring from a given remote
name server.
the load on the remote name server. <span class="command"><strong>transfers-per-ns</strong></span> may
be overridden on a per-server basis by using the <span class="command"><strong>transfers</strong></span> phrase
of the <span class="command"><strong>server</strong></span> statement.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfer-source</strong></span></span></dt>
<dd>
-<p><span class="command"><strong>transfer-source</strong></span>
+ <p><span class="command"><strong>transfer-source</strong></span>
determines which local address will be bound to IPv4
TCP connections used to fetch zones transferred
inbound by the server. It also determines the
<span class="command"><strong>zone</strong></span> block in the configuration
file.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Solaris 2.5.1 and earlier does not support setting the
source address for TCP sockets.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfer-source-v6</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The same as <span class="command"><strong>transfer-source</strong></span>,
except zone transfers are performed using IPv6.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>alt-transfer-source</strong></span></span></dt>
<dd>
-<p>
+ <p>
An alternate transfer source if the one listed in
<span class="command"><strong>transfer-source</strong></span> fails and
<span class="command"><strong>use-alt-transfer-source</strong></span> is
set.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
If you do not wish the alternate transfer source
query.
</p>
</div>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>alt-transfer-source-v6</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
An alternate transfer source if the one listed in
<span class="command"><strong>transfer-source-v6</strong></span> fails and
<span class="command"><strong>use-alt-transfer-source</strong></span> is
set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>use-alt-transfer-source</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Use the alternate transfer sources or not. If views are
specified this defaults to <span class="command"><strong>no</strong></span>
otherwise it defaults to
<span class="command"><strong>yes</strong></span> (for BIND 8
compatibility).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-source</strong></span></span></dt>
<dd>
-<p><span class="command"><strong>notify-source</strong></span>
+ <p><span class="command"><strong>notify-source</strong></span>
determines which local source address, and
optionally UDP port, will be used to send NOTIFY
messages. This address must appear in the slave
<span class="command"><strong>view</strong></span> block in the configuration
file.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Solaris 2.5.1 and earlier does not support setting the
source address for TCP sockets.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-source-v6</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Like <span class="command"><strong>notify-source</strong></span>,
but applies to notify messages sent to IPv6 addresses.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="port_lists"></a>UDP Port Lists</h4></div></div></div>
-<p>
+
+ <p>
<span class="command"><strong>use-v4-udp-ports</strong></span>,
<span class="command"><strong>avoid-v4-udp-ports</strong></span>,
<span class="command"><strong>use-v6-udp-ports</strong></span>, and
available ports are determined.
For example, with the following configuration
</p>
+
<pre class="programlisting">
use-v6-udp-ports { range 32768 65535; };
avoid-v6-udp-ports { 40000; range 50000 60000; };
</pre>
-<p>
+
+ <p>
UDP ports of IPv6 messages sent
from <span class="command"><strong>named</strong></span> will be in one
of the following ranges: 32768 to 39999, 40001 to 49999,
and 60001 to 65535.
</p>
-<p>
+
+ <p>
<span class="command"><strong>avoid-v4-udp-ports</strong></span> and
<span class="command"><strong>avoid-v6-udp-ports</strong></span> can be used
to prevent <span class="command"><strong>named</strong></span> from choosing as its random source port a
sense; they are provided for backward compatibility and
to possibly simplify the port specification.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="resource_limits"></a>Operating System Resource Limits</h4></div></div></div>
-<p>
+
+ <p>
The server's usage of many system resources can be limited.
Scaled values are allowed when specifying resource limits. For
example, <span class="command"><strong>1G</strong></span> can be used instead of
that was in force when the server was started. See the description
of <span class="command"><strong>size_spec</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#configuration_file_elements" title="Configuration File Elements">the section called “Configuration File Elements”</a>.
</p>
-<p>
+
+ <p>
The following options set operating system resource limits for
the name server process. Some operating systems don't support
some or
the
unsupported limit is used.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>coresize</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum size of a core dump. The default
is <code class="literal">default</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>datasize</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum amount of data memory the server
may use. The default is <code class="literal">default</code>.
This is a hard limit on server memory usage.
<span class="command"><strong>max-cache-size</strong></span> and
<span class="command"><strong>recursive-clients</strong></span>
options instead.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>files</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum number of files the server
may have open concurrently. The default is <code class="literal">unlimited</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>stacksize</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum amount of stack memory the server
may use. The default is <code class="literal">default</code>.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="server_resource_limits"></a>Server Resource Limits</h4></div></div></div>
-<p>
+
+ <p>
The following options set limits on the server's
resource consumption that are enforced internally by the
server rather than the operating system.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>max-ixfr-log-size</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is obsolete; it is accepted
and ignored for BIND 8 compatibility. The option
<span class="command"><strong>max-journal-size</strong></span> performs a
similar function in BIND 9.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-journal-size</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets a maximum size for each journal file
(see <a class="xref" href="Bv9ARM.ch04.html#journal" title="The journal file">the section called “The journal file”</a>). When the journal file
approaches
<code class="literal">unlimited</code>, which also
means 2 gigabytes.
This may also be set on a per-zone basis.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-records</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum number of records permitted in a zone.
The default is zero which means unlimited.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>host-statistics-max</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
In BIND 8, specifies the maximum number of host statistics
entries to be kept.
Not implemented in BIND 9.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>recursive-clients</strong></span></span></dt>
<dd>
-<p>
+ <p>
The maximum number ("hard quota") of simultaneous
recursive lookups the server will perform on behalf
of clients. The default is
<span class="command"><strong>recursive-clients</strong></span> option may
have to be decreased on hosts with limited memory.
</p>
-<p>
+ <p>
<code class="option">recursive-clients</code> defines a "hard
quota" limit for pending recursive clients: when more
clients than this are pending, new incoming requests
will not be accepted, and for each incoming request
a previous pending request will also be dropped.
</p>
-<p>
+ <p>
A "soft quota" is also set. When this lower
quota is exceeded, incoming requests are accepted, but
for each one, a pending request will be dropped.
otherwise it is set to 90% of
<code class="option">recursive-clients</code>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>tcp-clients</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum number of simultaneous client TCP
connections that the server will accept.
The default is <code class="literal">150</code>.
- </p></dd>
+ </p>
+ </dd>
<dt>
<a name="clients-per-query"></a><span class="term"><a name="cpq_term"></a><span class="command"><strong>clients-per-query</strong></span>, </span><span class="term"><span class="command"><strong>max-clients-per-query</strong></span></span>
</dt>
<dd>
-<p>These set the
+ <p>These set the
initial value (minimum) and maximum number of recursive
simultaneous clients for any given query
(<qname,qtype,qclass>) that the server will accept
self tune this value and changes will be logged. The
default values are 10 and 100.
</p>
-<p>
+ <p>
This value should reflect how many queries come in for
a given name in the time it takes to resolve that name.
If the number of queries exceed this value, <span class="command"><strong>named</strong></span> will
estimate will then be lowered in 20 minutes if it has
remained unchanged.
</p>
-<p>
+ <p>
If <span class="command"><strong>clients-per-query</strong></span> is set to zero,
then there is no limit on the number of clients per query
and no queries will be dropped.
</p>
-<p>
+ <p>
If <span class="command"><strong>max-clients-per-query</strong></span> is set to zero,
then there is no upper bound other than imposed by
<span class="command"><strong>recursive-clients</strong></span>.
</p>
-</dd>
+ </dd>
<dt>
<a name="fetches-per-zone"></a><span class="term"><span class="command"><strong>fetches-per-zone</strong></span></span>
</dt>
<dd>
-<p>
+ <p>
The maximum number of simultaneous iterative
queries to any one domain that the server will
permit before blocking new queries for data
would take to resolve them. It should be smaller
than <code class="option">recursive-clients</code>.
</p>
-<p>
+ <p>
When many clients simultaneously query for the
same name and type, the clients will all be attached
to the same fetch, up to the
<code class="option">max-clients-per-query</code> is not
effective as a limit.
</p>
-<p>
+ <p>
Optionally, this value may be followed by the keyword
<code class="literal">drop</code> or <code class="literal">fail</code>,
indicating whether queries which exceed the fetch
or answered with SERVFAIL. The default is
<code class="literal">drop</code>.
</p>
-<p>
+ <p>
If <span class="command"><strong>fetches-per-zone</strong></span> is set to zero,
then there is no limit on the number of fetches per query
and no queries will be dropped. The default is zero.
</p>
-<p>
+ <p>
The current list of active fetches can be dumped by
running <span class="command"><strong>rndc recursing</strong></span>. The list
includes the number of active fetches for each
next time a fetch is sent to that domain, it is
recreated with the counters set to zero.)
</p>
-</dd>
+ </dd>
<dt>
<a name="fetches-per-server"></a><span class="term"><span class="command"><strong>fetches-per-server</strong></span></span>
</dt>
<dd>
-<p>
+ <p>
The maximum number of simultaneous iterative
queries that the server will allow to be sent to
a single upstream name server before blocking
would take to resolve them. It should be smaller
than <code class="option">recursive-clients</code>.
</p>
-<p>
+ <p>
Optionally, this value may be followed by the keyword
<code class="literal">drop</code> or <code class="literal">fail</code>,
indicating whether queries will be dropped with no
exceeded the per-server quota. The default is
<code class="literal">fail</code>.
</p>
-<p>
+ <p>
If <span class="command"><strong>fetches-per-server</strong></span> is set to zero,
then there is no limit on the number of fetches per query
and no queries will be dropped. The default is zero.
</p>
-<p>
+ <p>
The <span class="command"><strong>fetches-per-server</strong></span> quota is
dynamically adjusted in response to detected
congestion. As queries are sent to a server
can be used to adjust the parameters for this
calculation.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>fetch-quota-params</strong></span></span></dt>
<dd>
-<p>
+ <p>
Sets the parameters to use for dynamic resizing of
the <code class="option">fetches-per-server</code> quota in
response to detected congestion.
</p>
-<p>
+ <p>
The first argument is an integer value indicating
how frequently to recalculate the moving average
of the ratio of timeouts to responses for each
the average ratio after every 100 queries have either
been answered or timed out.
</p>
-<p>
+ <p>
The remaining three arguments represent the "low"
threshold (defaulting to a timeout ratio of 0.1),
the "high" threshold (defaulting to a timeout
precision of 1/100: at most two places after
the decimal point are significant.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>reserved-sockets</strong></span></span></dt>
<dd>
-<p>
+ <p>
The number of file descriptors reserved for TCP, stdio,
etc. This needs to be big enough to cover the number of
interfaces <span class="command"><strong>named</strong></span> listens on plus
maximum value is <code class="literal">128</code> less than
maxsockets (-S). This option may be removed in the future.
</p>
-<p>
+ <p>
This option has little effect on Windows.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-cache-size</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum amount of memory to use for the
server's cache, in bytes or % of total physical memory.
When the amount of data in the cache
once at startup, so <span class="command"><strong>named</strong></span> will not
adjust the cache size if the amount of physical memory
is changed during runtime.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>tcp-listen-queue</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The listen queue depth. The default and minimum is 10.
If the kernel supports the accept filter "dataready" this
also controls how
less than 10 will be silently raised. A value of 0 may also
be used; on most platforms this sets the listen queue
length to a system-defined default value.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="intervals"></a>Periodic Task Intervals</h4></div></div></div>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>cleaning-interval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This interval is effectively obsolete. Previously,
the server would remove expired resource records
from the cache every <span class="command"><strong>cleaning-interval</strong></span> minutes.
rely on the periodic cleaning any more.
Specifying this option therefore has no effect on
the server's behavior.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>heartbeat-interval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The server will perform zone maintenance tasks
for all zones marked as <span class="command"><strong>dialup</strong></span> whenever this
interval expires. The default is 60 minutes. Reasonable
to 1 day (1440 minutes). The maximum value is 28 days
(40320 minutes).
If set to 0, no zone maintenance for these zones will occur.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>interface-interval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The server will scan the network interface list
every <span class="command"><strong>interface-interval</strong></span>
minutes. The default
<span class="command"><strong>listen-on</strong></span> configuration), and
will
stop listening on interfaces that have gone away.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>statistics-interval</strong></span></span></dt>
<dd>
-<p>
+ <p>
Name server statistics will be logged
every <span class="command"><strong>statistics-interval</strong></span>
minutes. The default is
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Not yet implemented in
<acronym class="acronym">BIND</acronym> 9.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>topology</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
In BIND 8, this option indicated network topology
so that preferential treatment could be given to
the topologicaly closest name servers when sending
queries. It is not implemented in BIND 9.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="the_sortlist_statement"></a>The <span class="command"><strong>sortlist</strong></span> Statement</h4></div></div></div>
-<p>
+
+ <p>
The response to a DNS query may consist of multiple resource
records (RRs) forming a resource record set (RRset). The name
server will normally return the RRs within the RRset in an
client's address. This only requires configuring the name
servers, not all the clients.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>sortlist</strong></span> statement (see below) takes an
<span class="command"><strong>address_match_list</strong></span> and interprets it in a
special way. Each top level statement in the
the query until a match is found. When the addresses in the
first element overlap, the first rule to match gets selected.
</p>
-<p>
+ <p>
Once the source address of the query has been matched, if the
top level statement contains only one element, the actual
primitive element that matched the source address is used to
address in the response with the minimum distance is moved to
the beginning of the response.
</p>
-<p>
+ <p>
In the following example, any queries received from any of the
addresses of the host itself will get responses preferring
addresses on any of the locally connected networks. Next most
the 192.168.5/24 network will only prefer other addresses on
their directly connected networks.
</p>
+
<pre class="programlisting">sortlist {
// IF the local host
// THEN first fit on the following nets
{ { 192.168.4/24; 192.168.5/24; };
};
};</pre>
-<p>
+
+ <p>
The following example will give reasonable behavior for the
local host and hosts on directly connected networks. It is
similar to the behavior of the address sort in
directly connected network will prefer addresses on that same
network. Responses to other queries will not be sorted.
</p>
+
<pre class="programlisting">sortlist {
{ localhost; localnets; };
{ localnets; };
};
</pre>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="rrset_ordering"></a>RRset Ordering</h4></div></div></div>
-<p>
+
+ <p>
When multiple records are returned in an answer it may be
useful to configure the order of the records placed into the
response.
See also the <span class="command"><strong>sortlist</strong></span> statement,
<a class="xref" href="Bv9ARM.ch06.html#the_sortlist_statement" title="The sortlist Statement">the section called “The <span class="command"><strong>sortlist</strong></span> Statement”</a>.
</p>
-<p>
+
+ <p>
An <span class="command"><strong>order_spec</strong></span> is defined as
follows:
</p>
-<p>
+ <p>
[<span class="optional">class <em class="replaceable"><code>class_name</code></em></span>]
[<span class="optional">type <em class="replaceable"><code>type_name</code></em></span>]
[<span class="optional">name <em class="replaceable"><code>"domain_name"</code></em></span>]
order <em class="replaceable"><code>ordering</code></em>
</p>
-<p>
+ <p>
If no class is specified, the default is <span class="command"><strong>ANY</strong></span>.
If no type is specified, the default is <span class="command"><strong>ANY</strong></span>.
If no name is specified, the default is "<span class="command"><strong>*</strong></span>" (asterisk).
</p>
-<p>
+ <p>
The legal values for <span class="command"><strong>ordering</strong></span> are:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="0.750in" class="1">
<col width="3.750in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
For example:
</p>
+
<pre class="programlisting">rrset-order {
class IN type A name "host.example.com" order random;
order cyclic;
};
</pre>
-<p>
+
+ <p>
will cause any responses for type A records in class IN that
have "<code class="literal">host.example.com</code>" as a
suffix, to always be returned
in random order. All other records are returned in cyclic order.
</p>
-<p>
+ <p>
If multiple <span class="command"><strong>rrset-order</strong></span> statements
appear, they are not combined — the last one applies.
</p>
-<p>
+ <p>
By default, all records are returned in random order.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
In this release of <acronym class="acronym">BIND</acronym> 9, the
<span class="command"><strong>rrset-order</strong></span> statement does not support
"fixed" ordering by default. Fixed ordering can be enabled
at compile time by specifying "--enable-fixed-rrset" on
the "configure" command line.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="tuning"></a>Tuning</h4></div></div></div>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>lame-ttl</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the number of seconds to cache a
lame server indication. 0 disables caching. (This is
<span class="bold"><strong>NOT</strong></span> recommended.)
The default is <code class="literal">600</code> (10 minutes) and the
maximum value is
<code class="literal">1800</code> (30 minutes).
- </p></dd>
+ </p>
+
+ </dd>
<dt><span class="term"><span class="command"><strong>servfail-ttl</strong></span></span></dt>
<dd>
-<p>
+ <p>
Sets the number of seconds to cache a
SERVFAIL response due to DNSSEC validation failure or
other general server failure. If set to
query that failed due to DNSSEC validation to be retried
without waiting for the SERVFAIL TTL to expire.
</p>
-<p>
+ <p>
The maximum value is <code class="literal">30</code>
seconds; any higher value will be silently
reduced. The default is <code class="literal">1</code>
second.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-ncache-ttl</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
To reduce network traffic and increase performance,
the server stores negative answers. <span class="command"><strong>max-ncache-ttl</strong></span> is
used to set a maximum retention time for these answers in
<span class="command"><strong>max-ncache-ttl</strong></span> cannot exceed
7 days and will
be silently truncated to 7 days if set to a greater value.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-cache-ttl</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the maximum time for which the server will
cache ordinary (positive) answers in seconds.
The default is 604800 (one week).
SERVFAIL, because of lost caches of intermediate
RRsets (such as NS and glue AAAA/A records) in the
resolution process.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>min-roots</strong></span></span></dt>
<dd>
-<p>
+ <p>
The minimum number of root servers that
is required for a request for the root servers to be
accepted. The default
is <strong class="userinput"><code>2</code></strong>.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Not implemented in <acronym class="acronym">BIND</acronym> 9.
</p>
-</div>
-</dd>
-<dt><span class="term"><span class="command"><strong>resolver-nonbackoff-tries</strong></span></span></dt>
-<dd><p>
- Specifies how many retries occur before exponential
- backoff kicks in. The default is <strong class="userinput"><code>3</code></strong>.
- </p></dd>
-<dt><span class="term"><span class="command"><strong>resolver-retry-interval</strong></span></span></dt>
-<dd><p>
- The base retry interval in milliseconds.
- The default is <strong class="userinput"><code>800</code></strong>.
- </p></dd>
+ </div>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-validity-interval</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies the number of days into the future when
DNSSEC signatures automatically generated as a
result of dynamic updates (<a class="xref" href="Bv9ARM.ch04.html#dynamic_update" title="Dynamic Update">the section called “Dynamic Update”</a>) will expire. There
giving a re-signing interval of 7 1/2 days. The maximum
values are 10 years (3660 days).
</p>
-<p>
+ <p>
The signature inception time is unconditionally
set to one hour before the current time to allow
for a limited amount of clock skew.
</p>
-<p>
+ <p>
The <span class="command"><strong>sig-validity-interval</strong></span>
should be, at least, several multiples of the SOA
expire interval to allow for reasonable interaction
between the various timer and expiry dates.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-signing-nodes</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the maximum number of nodes to be
examined in each quantum when signing a zone with
a new DNSKEY. The default is
<code class="literal">100</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-signing-signatures</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify a threshold number of signatures that
will terminate processing a quantum when signing
a zone with a new DNSKEY. The default is
<code class="literal">10</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-signing-type</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specify a private RDATA type to be used when generating
signing state records. The default is
<code class="literal">65534</code>.
</p>
-<p>
+ <p>
It is expected that this parameter may be removed
in a future version once there is a standard type.
</p>
-<p>
+ <p>
Signing state records are used to internally by
<span class="command"><strong>named</strong></span> to track the current state of
a zone-signing process, i.e., whether it is still active
records for a zone, use
<span class="command"><strong>rndc signing -clear all <em class="replaceable"><code>zone</code></em></strong></span>.
</p>
-</dd>
+ </dd>
<dt>
<span class="term"><span class="command"><strong>min-refresh-time</strong></span>, </span><span class="term"><span class="command"><strong>max-refresh-time</strong></span>, </span><span class="term"><span class="command"><strong>min-retry-time</strong></span>, </span><span class="term"><span class="command"><strong>max-retry-time</strong></span></span>
</dt>
<dd>
-<p>
+ <p>
These options control the server's behavior on refreshing a
zone (querying for SOA changes) or retrying failed
transfers. Usually the SOA values for the zone are used,
these values are set by the master, giving slave server
administrators little control over their contents.
</p>
-<p>
+ <p>
These options allow the administrator to set a minimum and
maximum refresh and retry time in seconds per-zone,
per-view, or globally. These options are valid for
slave and stub zones, and clamp the SOA refresh and
retry times to the specified values.
</p>
-<p>
+ <p>
The following defaults apply.
<span class="command"><strong>min-refresh-time</strong></span> 300 seconds,
<span class="command"><strong>max-refresh-time</strong></span> 2419200 seconds
and <span class="command"><strong>max-retry-time</strong></span> 1209600 seconds
(2 weeks).
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>edns-udp-size</strong></span></span></dt>
<dd>
-<p>
+ <p>
Sets the maximum advertised EDNS UDP buffer size in
bytes, to control the size of packets received from
authoritative servers in response to recursive queries.
will be silently adjusted to the nearest value within
it). The default value is 4096.
</p>
-<p>
+ <p>
The usual reason for setting
<span class="command"><strong>edns-udp-size</strong></span> to a non-default value
is to get UDP answers to pass through broken firewalls
that block fragmented packets and/or block UDP DNS
packets that are greater than 512 bytes.
</p>
-<p>
+ <p>
When <span class="command"><strong>named</strong></span> first queries a remote
server, it will advertise a UDP buffer size of 512, as
this has the greatest chance of success on the first try.
</p>
-<p>
+ <p>
If the initial response times out, <span class="command"><strong>named</strong></span>
will try again with plain DNS, and if that is successful,
it will be taken as evidence that the server does not
will send an EDNS query to see if the situation has
improved.)
</p>
-<p>
+ <p>
However, if the initial query is successful with
EDNS advertising a buffer size of 512, then
<span class="command"><strong>named</strong></span> will advertise progressively
responses begin timing out or
<span class="command"><strong>edns-udp-size</strong></span> is reached.
</p>
-<p>
+ <p>
The default buffer sizes used by <span class="command"><strong>named</strong></span>
are 512, 1232, 1432, and 4096, but never exceeding
<span class="command"><strong>edns-udp-size</strong></span>. (The values 1232 and
UDP message to be sent without fragmentation at the
minimum MTU sizes for Ethernet and IPv6 networks.)
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-udp-size</strong></span></span></dt>
<dd>
-<p>
+ <p>
Sets the maximum EDNS UDP message size
<span class="command"><strong>named</strong></span> will send in bytes.
Valid values are 512 to 4096 (values outside this
range will be silently adjusted to the nearest
value within it). The default value is 4096.
</p>
-<p>
+ <p>
This value applies to responses sent by a server; to
set the advertised buffer size in queries, see
<span class="command"><strong>edns-udp-size</strong></span>.
</p>
-<p>
+ <p>
The usual reason for setting
<span class="command"><strong>max-udp-size</strong></span> to a non-default
value is to get UDP answers to pass through broken
This is independent of the advertised receive
buffer (<span class="command"><strong>edns-udp-size</strong></span>).
</p>
-<p>
+ <p>
Setting this to a low value will encourage additional
TCP traffic to the nameserver.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>masterfile-format</strong></span></span></dt>
<dd>
-<p>Specifies
+ <p>Specifies
the file format of zone files (see
<a class="xref" href="Bv9ARM.ch06.html#zonefile_format" title="Additional File Formats">the section called “Additional File Formats”</a>).
The default value is <code class="constant">text</code>, which is the
<span class="command"><strong>named-compilezone</strong></span> tool, or dumped by
<span class="command"><strong>named</strong></span>.
</p>
-<p>
+ <p>
Note that when a zone file in a different format than
<code class="constant">text</code> is loaded, <span class="command"><strong>named</strong></span>
may omit some of the checks which would be performed for a
loaded directly into memory via memory mapping, with only
minimal checking.
</p>
-<p>
+ <p>
This statement sets the
<span class="command"><strong>masterfile-format</strong></span> for all zones,
but can be overridden on a per-zone or per-view basis
<span class="command"><strong>view</strong></span> block in the configuration
file.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>masterfile-style</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specifies the formatting of zone files during dump
when the <code class="option">masterfile-format</code> is
<code class="constant">text</code>. (This option is ignored
with any other <code class="option">masterfile-format</code>.)
</p>
-<p>
+ <p>
When set to <code class="constant">relative</code>,
records are printed in a multi-line format with owner
names expressed relative to a shared origin. When set
zone is to be edited by hand. The default is
<code class="constant">relative</code>.
</p>
-</dd>
+ </dd>
<dt>
<a name="max-recursion-depth"></a><span class="term"><span class="command"><strong>max-recursion-depth</strong></span></span>
</dt>
-<dd><p>
+<dd>
+ <p>
Sets the maximum number of levels of recursion
that are permitted at any one time while servicing
a recursive query. Resolving a name may require
of indirections exceeds this value, the recursive
query is terminated and returns SERVFAIL. The
default is 7.
- </p></dd>
+ </p>
+ </dd>
<dt>
<a name="max-recursion-queries"></a><span class="term"><span class="command"><strong>max-recursion-queries</strong></span></span>
</dt>
-<dd><p>
+<dd>
+ <p>
Sets the maximum number of iterative queries that
may be sent while servicing a recursive query.
If more queries are sent, the recursive query
look up top level domains such as "com" and "net"
and the DNS root zone are exempt from this limitation.
The default is 75.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-delay</strong></span></span></dt>
<dd>
-<p>
+ <p>
The delay, in seconds, between sending sets of notify
messages for a zone. The default is five (5) seconds.
</p>
-<p>
+ <p>
The overall rate that NOTIFY messages are sent for all
zones is controlled by <span class="command"><strong>serial-query-rate</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-rsa-exponent-size</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum RSA exponent size, in bits, that will
be accepted when validating. Valid values are 35
to 4096 bits. The default zero (0) is also accepted
and is equivalent to 4096.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>prefetch</strong></span></span></dt>
<dd>
-<p>
+ <p>
When a query is received for cached data which
is to expire shortly, <span class="command"><strong>named</strong></span> can
refresh the data from the authoritative server
immediately, ensuring that the cache always has an
answer available.
</p>
-<p>
+ <p>
The <code class="option">prefetch</code> specifies the
"trigger" TTL value at which prefetch of the current
query will take place: when a cache record with a
prefetch to be disabled.
The default trigger TTL is <code class="literal">2</code>.
</p>
-<p>
+ <p>
An optional second argument specifies the "eligibility"
TTL: the smallest <span class="emphasis"><em>original</em></span>
TTL value that will be accepted for a record to be
adjust it upward.
The default eligibility TTL is <code class="literal">9</code>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>v6-bias</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
When determining the next nameserver to try
preference IPv6 nameservers by this many milliseconds.
The default is <code class="literal">50</code> milliseconds.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="builtin"></a>Built-in server information zones</h4></div></div></div>
-<p>
+
+ <p>
The server provides some helpful diagnostic information
through a number of built-in zones under the
pseudo-top-level-domain <code class="literal">bind</code> in the
<span class="command"><strong>rate-limit</strong></span> is set to allow
three responses per second.
</p>
-<p>
+ <p>
If you need to disable these zones, use the options
below, or hide the built-in <span class="command"><strong>CHAOS</strong></span>
view by
defining an explicit view of class <span class="command"><strong>CHAOS</strong></span>
that matches all clients.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>version</strong></span></span></dt>
<dd>
-<p>
+ <p>
The version the server should report
via a query of the name <code class="literal">version.bind</code>
with type <span class="command"><strong>TXT</strong></span>, class <span class="command"><strong>CHAOS</strong></span>.
Specifying <span class="command"><strong>version none</strong></span>
disables processing of the queries.
</p>
-<p>
+ <p>
Setting <span class="command"><strong>version</strong></span> to any value
(including <code class="literal">none</code>) will also
disable queries for <code class="literal">authors.bind TXT CH</code>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>hostname</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The hostname the server should report via a query of
the name <code class="filename">hostname.bind</code>
with type <span class="command"><strong>TXT</strong></span>, class <span class="command"><strong>CHAOS</strong></span>.
identify which of a group of anycast servers is actually
answering your queries. Specifying <span class="command"><strong>hostname none;</strong></span>
disables processing of the queries.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>server-id</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The ID the server should report when receiving a Name
Server Identifier (NSID) query, or a query of the name
<code class="filename">ID.SERVER</code> with type
Specifying <span class="command"><strong>server-id hostname;</strong></span> will cause <span class="command"><strong>named</strong></span> to
use the hostname as found by the gethostname() function.
The default <span class="command"><strong>server-id</strong></span> is <span class="command"><strong>none</strong></span>.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="empty"></a>Built-in Empty Zones</h4></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>named</strong></span> server has some built-in
empty zones (SOA and NS records only).
These are for zones that should normally be answered locally
IPv6 link local addresses, the IPv6 loopback address and the
IPv6 unknown address.
</p>
-<p>
+ <p>
The server will attempt to determine if a built-in zone
already exists or is active (covered by a forward-only
forwarding declaration) and will not create an empty
zone in that case.
</p>
-<p>
+ <p>
The current list of empty zones is:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
</ul></div>
<p>
</p>
-<p>
+ <p>
Empty zones are settable at the view level and only apply to
views of class IN. Disabled empty zones are only inherited
from options if there are no disabled empty zones specified
</pre>
<p>
</p>
-<p>
+ <p>
If you are using the address ranges covered here, you should
already have reverse zones covering the addresses you use.
In practice this appears to not be the case with many queries
to be deployed to channel the query load away from the
infrastructure servers.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
The real parent servers for these zones should disable all
enable them to return referrals to deeper in the tree.
</p>
</div>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>empty-server</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify what server name will appear in the returned
SOA record for empty zones. If none is specified, then
the zone's name will be used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>empty-contact</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify what contact name will appear in the returned
SOA record for empty zones. If none is specified, then
"." will be used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>empty-zones-enable</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Enable or disable all empty zones. By default, they
are enabled.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>disable-empty-zone</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Disable individual empty zones. By default, none are
disabled. This option can be specified multiple times.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="acache"></a>Additional Section Caching</h4></div></div></div>
-<p>
+
+
+ <p>
The additional section cache, also called <span class="command"><strong>acache</strong></span>,
is an internal cache to improve the response performance of BIND 9.
When additional section caching is enabled, BIND 9 will
mechanism of BIND 9, and is not related to the DNS caching
server function.
</p>
-<p>
+
+ <p>
Additional section caching does not change the
response content (except the RRsets ordering of the additional
section, see below), but can improve the response performance
It is particularly effective when BIND 9 acts as an authoritative
server for a zone that has many delegations with many glue RRs.
</p>
-<p>
+
+ <p>
In order to obtain the maximum performance improvement
from additional section caching, setting
<span class="command"><strong>additional-from-cache</strong></span>
does not short-cut of additional section information from the
DNS cache data.
</p>
-<p>
+
+ <p>
One obvious disadvantage of <span class="command"><strong>acache</strong></span> is
that it requires much more
memory for the internal cached data.
consumption
for acache by using <span class="command"><strong>max-acache-size</strong></span>.
</p>
-<p>
+
+ <p>
Additional section caching also has a minor effect on the
RRset ordering in the additional section.
Without <span class="command"><strong>acache</strong></span>,
it only contains a single RR), in which case the
ordering does not matter much.
</p>
-<p>
+
+ <p>
The following is a summary of options related to
<span class="command"><strong>acache</strong></span>.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>acache-enable</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <span class="command"><strong>yes</strong></span>, additional section caching is
enabled. The default value is <span class="command"><strong>no</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>acache-cleaning-interval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The server will remove stale cache entries, based on an LRU
based
algorithm, every <span class="command"><strong>acache-cleaning-interval</strong></span> minutes.
The default is 60 minutes.
If set to 0, no periodic cleaning will occur.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-acache-size</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum amount of memory in bytes to use for the server's acache.
When the amount of data in the acache reaches this limit,
the server
separately to the
acache of each view.
The default is <code class="literal">16M</code>.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="content_filtering"></a>Content Filtering</h4></div></div></div>
-<p>
+
+ <p>
<acronym class="acronym">BIND</acronym> 9 provides the ability to filter
out DNS responses from external DNS servers containing
certain types of data in the answer section.
<span class="command"><strong>deny-answer-aliases</strong></span>,
</p>
<pre class="programlisting">www.example.com. CNAME xxx.example.com.</pre>
-<p>
+
+ <p>
returned by an "example.com" server will be accepted.
</p>
-<p>
+
+ <p>
In the <code class="varname">address_match_list</code> of the
<span class="command"><strong>deny-answer-addresses</strong></span> option, only
<code class="varname">ip_addr</code>
are meaningful;
any <code class="varname">key_id</code> will be silently ignored.
</p>
-<p>
+
+ <p>
If a response message is rejected due to the filtering,
the entire message is discarded without being cached, and
a SERVFAIL error will be returned to the client.
</p>
-<p>
+
+ <p>
This filtering is intended to prevent "DNS rebinding attacks," in
which an attacker, in response to a query for a domain name the
attacker controls, returns an IP address within your own network or
</a>
for more details about the attacks.
</p>
-<p>
+
+ <p>
For example, if you own a domain named "example.net" and
your internal network uses an IPv4 prefix 192.0.2.0/24,
you might specify the following rules:
</p>
+
<pre class="programlisting">deny-answer-addresses { 192.0.2.0/24; } except-from { "example.net"; };
deny-answer-aliases { "example.net"; };
</pre>
-<p>
+
+ <p>
If an external attacker lets a web browser in your local
network look up an IPv4 address of "attacker.example.com",
the attacker's DNS server would return a response like this:
</p>
+
<pre class="programlisting">attacker.example.com. A 192.0.2.1</pre>
-<p>
+
+ <p>
in the answer section.
Since the rdata of this record (the IPv4 address) matches
the specified prefix 192.0.2.0/24, this response will be
ignored.
</p>
-<p>
+
+ <p>
On the other hand, if the browser looks up a legitimate
internal web server "www.example.net" and the
following response is returned to
the <acronym class="acronym">BIND</acronym> 9 server
</p>
+
<pre class="programlisting">www.example.net. A 192.0.2.2</pre>
-<p>
+
+ <p>
it will be accepted since the owner name "www.example.net"
matches the <span class="command"><strong>except-from</strong></span> element,
"example.net".
</p>
-<p>
+
+ <p>
Note that this is not really an attack on the DNS per se.
In fact, there is nothing wrong for an "external" name to
be mapped to your "internal" IP address or domain name
very sure you have no other choice and the attack is a
real threat for your applications.
</p>
-<p>
+
+ <p>
Care should be particularly taken if you want to use this
option for addresses within 127.0.0.0/8.
These addresses are obviously "internal", but many
Filtering out DNS records containing this address
spuriously can break such applications.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="rpz"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div>
-<p>
+
+ <p>
<acronym class="acronym">BIND</acronym> 9 includes a limited
mechanism to modify DNS responses for requests
analogous to email anti-spam DNS blacklists.
deny the existence of IP addresses for domains (NODATA),
or contain other IP addresses or data.
</p>
-<p>
+
+ <p>
Response policy zones are named in the
<span class="command"><strong>response-policy</strong></span> option for the view or among the
global options if there is no response-policy option for the view.
Note that zones using <span class="command"><strong>masterfile-format map</strong></span>
cannot be used as policy zones.
</p>
-<p>
+
+ <p>
A <span class="command"><strong>response-policy</strong></span> option can support
multiple policy zones. To maximize performance, a radix
tree is used to quickly identify response policy zones
in a single <span class="command"><strong>response-policy</strong></span> option; more
than that is a configuration error.
</p>
-<p>
+
+ <p>
Rules encoded in response policy zones are processed after
<a class="link" href="Bv9ARM.ch06.html#access_control" title="Access Control">Access Control Lists
(ACLs)</a>. All queries from clients which are not
permitted access to the resolver will be answered with a
status code of REFUSED, regardless of configured RPZ rules.
</p>
-<p>
+
+ <p>
Five policy triggers can be encoded in RPZ records.
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>RPZ-CLIENT-IP</strong></span></span></dt>
<dd>
-<p>
+ <p>
IP records are triggered by the IP address of the
DNS client.
Client IP address triggers are encoded in records that have
B4 is the decimal value of the least significant byte of the
IPv4 address as in IN-ADDR.ARPA.
</p>
-<p>
+
+ <p>
IPv6 addresses are encoded in a format similar
to the standard IPv6 text representation,
<strong class="userinput"><code>prefixlength.W8.W7.W6.W5.W4.W3.W2.W1.rpz-client-ip</code></strong>.
encodings.
The IPv6 prefix length must be between 1 and 128.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>QNAME</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
QNAME policy records are triggered by query names of
requests and targets of CNAME records resolved to generate
the response.
The owner name of a QNAME policy record is
the query name relativized to the policy zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>RPZ-IP</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
IP triggers are IP addresses in an
A or AAAA record in the ANSWER section of a response.
They are encoded like client-IP triggers except as
subdomains of <span class="command"><strong>rpz-ip</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>RPZ-NSDNAME</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
NSDNAME triggers match names of authoritative servers
for the query name, a parent of the query name, a CNAME for
query name, or a parent of a CNAME.
NSIP triggers match IP addresses in A and
AAAA RRsets for domains that can be checked against NSDNAME
policy records.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>RPZ-NSIP</strong></span></span></dt>
<dd>
-<p>
+ <p>
NSIP triggers match the IP addresses of authoritative
servers. They are enncoded like IP triggers, except as
subdomains of <span class="command"><strong>rpz-nsip</strong></span>.
The default value of <span class="command"><strong>min-ns-dots</strong></span> is
1, to exclude top level domains.
</p>
-<p>
+ <p>
If a name server's IP address is not yet known,
<span class="command"><strong>named</strong></span> will recursively look up
the IP address before applying an RPZ-NSIP rule.
rules should always be applied even if an
address needs to be looked up first.
</p>
-</dd>
+ </dd>
</dl></div>
<p>
</p>
-<p>
+
+ <p>
The query response is checked against all response policy zones,
so two or more policy records can be triggered by a response.
Because DNS responses are rewritten according to at most one
</ol></div>
<p>
</p>
-<p>
+
+ <p>
When the processing of a response is restarted to resolve
DNAME or CNAME records and a policy record set has
not been triggered,
all response policy zones are again consulted for the
DNAME or CNAME names and addresses.
</p>
-<p>
+
+ <p>
RPZ record sets are any types of DNS record except
DNAME or DNSSEC that encode actions or responses to
individual queries.
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>PASSTHRU</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The whitelist policy is specified
by a CNAME whose target is <span class="command"><strong>rpz-passthru</strong></span>.
It causes the response to not be rewritten
and is most often used to "poke holes" in policies for
CIDR blocks.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>DROP</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The blacklist policy is specified
by a CNAME whose target is <span class="command"><strong>rpz-drop</strong></span>.
It causes the response to be discarded.
Nothing is sent to the DNS client.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>TCP-Only</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The "slip" policy is specified
by a CNAME whose target is <span class="command"><strong>rpz-tcp-only</strong></span>.
It changes UDP responses to short, truncated DNS responses
that require the DNS client to try again with TCP.
It is used to mitigate distributed DNS reflection attacks.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>NXDOMAIN</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The domain undefined response is encoded
by a CNAME whose target is the root domain (.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>NODATA</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The empty set of resource records is specified by
CNAME whose target is the wildcard top-level
domain (*.).
It rewrites the response to NODATA or ANCOUNT=0.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>Local Data</strong></span></span></dt>
<dd>
-<p>
+ <p>
A set of ordinary DNS records can be used to answer queries.
Queries for record types not the set are answered with
NODATA.
</p>
-<p>
+
+ <p>
A special form of local data is a CNAME whose target is a
wildcard such as *.example.com.
It is used as if were an ordinary CNAME after the asterisk (*)
The purpose for this special form is query logging in the
walled garden's authority DNS server.
</p>
-</dd>
+ </dd>
</dl></div>
<p>
</p>
-<p>
+
+ <p>
All of the actions specified in all of the individual records
in a policy zone
can be overridden with a <span class="command"><strong>policy</strong></span> clause in the
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>GIVEN</strong></span></span></dt>
-<dd><p>The placeholder policy says "do not override but
+<dd>
+ <p>The placeholder policy says "do not override but
perform the action specified in the zone."
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>DISABLED</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
The testing override policy causes policy zone records to do
nothing but log what they would have done if the
policy zone were not disabled.
Disabled policy zones should appear first,
because they will often not be logged
if a higher precedence trigger is found first.
- </p></dd>
+ </p>
+ </dd>
<dt>
<span class="term"><span class="command"><strong>PASSTHRU</strong></span>, </span><span class="term"><span class="command"><strong>DROP</strong></span>, </span><span class="term"><span class="command"><strong>TCP-Only</strong></span>, </span><span class="term"><span class="command"><strong>NXDOMAIN</strong></span>, </span><span class="term"><span class="command"><strong>NODATA</strong></span></span>
</dt>
-<dd><p>
+<dd>
+ <p>
override with the corresponding per-record policy.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>CNAME domain</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
causes all RPZ policy records to act as if they were
"cname domain" records.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-<p>
+
+ <p>
By default, the actions encoded in a response policy zone
are applied only to queries that ask for recursion (RD=1).
That default can be changed for a single policy zone or
delete answers that would otherwise contain RFC 1918 values
on the externally visible name server or view.
</p>
-<p>
+
+ <p>
Also by default, RPZ actions are applied only to DNS requests
that either do not request DNSSEC metadata (DO=0) or when no
DNSSEC records are available for request name in the original
clause option reflects the fact that results rewritten by RPZ
actions cannot verify.
</p>
-<p>
+
+ <p>
No DNS records are needed for a QNAME or Client-IP trigger.
The name or IP address itself is sufficient,
so in principle the query name need not be recursively resolved.
appear to be rewritten, since no recursion is being done to
discover problems at the authoritative server.
</p>
-<p>
+
+ <p>
The TTL of a record modified by RPZ policies is set from the
TTL of the relevant record in policy zone. It is then limited
to a maximum value.
The <span class="command"><strong>max-policy-ttl</strong></span> clause changes the
maximum seconds from its default of 5.
</p>
-<p>
+
+ <p>
For example, you might use this option statement
</p>
<pre class="programlisting"> response-policy { zone "badlist"; };</pre>
-<p>
+ <p>
and this zone statement
</p>
<pre class="programlisting"> zone "badlist" {type master; file "master/badlist"; allow-query {none;}; };</pre>
-<p>
+ <p>
with this zone file
</p>
<pre class="programlisting">$TTL 1H
*.example.com CNAME rpz-tcp-only.
</pre>
-<p>
+ <p>
RPZ can affect server performance.
Each configured response policy zone requires the server to
perform one to four additional database lookups before a
A server with four response policy zones with QNAME and IP
triggers might have a maximum QPS rate about 50% lower.
</p>
-<p>
+
+ <p>
Responses rewritten by RPZ are counted in the
<span class="command"><strong>RPZRewrites</strong></span> statistics.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>log</strong></span> clause can be used to optionally
turn off rewrite logging for a particular response policy
zone. By default, all rewrites are logged.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="rrl"></a>Response Rate Limiting</h4></div></div></div>
-<p>
+
+ <p>
Excessive almost identical UDP <span class="emphasis"><em>responses</em></span>
can be controlled by configuring a
<span class="command"><strong>rate-limit</strong></span> clause in an
Legitimate clients react to dropped or truncated response
by retrying with UDP or with TCP respectively.
</p>
-<p>
+
+ <p>
This mechanism is intended for authoritative DNS servers.
It can be used on recursive servers but can slow
applications such as SMTP servers (mail receivers) and
same domains.
When possible, closing "open" recursive servers is better.
</p>
-<p>
+
+ <p>
Response rate limiting uses a "credit" or "token bucket" scheme.
Each combination of identical response and client
has a conceptual account that earns a specified number
When the specified number of credits for a class of
responses is set to 0, those responses are not rate limited.
</p>
-<p>
+
+ <p>
The notions of "identical response" and "DNS client"
for rate limiting are not simplistic.
All responses to an address block are counted as if to a
specified with <span class="command"><strong>ipv4-prefix-length</strong></span> (default 24)
and <span class="command"><strong>ipv6-prefix-length</strong></span> (default 56).
</p>
-<p>
+
+ <p>
All non-empty responses for a valid domain name (qname)
and record type (qtype) are identical and have a limit specified
with <span class="command"><strong>responses-per-second</strong></span>
<span class="command"><strong>referrals-per-second</strong></span>
(default <span class="command"><strong>responses-per-second</strong></span>).
</p>
-<p>
+
+ <p>
Responses generated from local wildcards are counted and limited
as if they were for the parent domain name.
This controls flooding using random.wild.example.com.
</p>
-<p>
+
+ <p>
All requests that result in DNS errors other
than NXDOMAIN, such as SERVFAIL and FORMERR, are identical
regardless of requested name (qname) or record type (qtype).
but it can be set separately with
<span class="command"><strong>errors-per-second</strong></span>.
</p>
-<p>
+
+ <p>
Many attacks using DNS involve UDP requests with forged source
addresses.
Rate limiting prevents the use of BIND 9 to flood a network
cannot be replaced with truncated responses and are instead
leaked at the <span class="command"><strong>slip</strong></span> rate.
</p>
-<p>
+
+ <p>
(NOTE: Dropped responses from an authoritative server may
reduce the difficulty of a third party successfully forging
a response to a recursive resolver. The best security
responses to be truncated rather than dropped. This reduces
the effectiveness of rate-limiting against reflection attacks.)
</p>
-<p>
+
+ <p>
When the approximate query per second rate exceeds
the <span class="command"><strong>qps-scale</strong></span> value,
then the <span class="command"><strong>responses-per-second</strong></span>,
Responses sent via TCP are not limited
but are counted to compute the query per second rate.
</p>
-<p>
+
+ <p>
Communities of DNS clients can be given their own parameters or no
rate limiting by putting
<span class="command"><strong>rate-limit</strong></span> statements in <span class="command"><strong>view</strong></span>
DNS clients within a view can be exempted from rate limits
with the <span class="command"><strong>exempt-clients</strong></span> clause.
</p>
-<p>
+
+ <p>
UDP responses of all kinds can be limited with the
<span class="command"><strong>all-per-second</strong></span> phrase. This rate
limiting is unlike the rate limiting provided by
or parsing DNS requests, but that rate limiting must
be done before the DNS server sees the requests.
</p>
-<p>
+
+ <p>
The maximum size of the table used to track requests and
rate limit responses is set with <span class="command"><strong>max-table-size</strong></span>.
Each entry in the table is between 40 and 80 bytes.
expansions of the table and inform
choices for the initial and maximum table size.
</p>
-<p>
+
+ <p>
Use <span class="command"><strong>log-only yes</strong></span> to test rate limiting parameters
without actually dropping any requests.
</p>
-<p>
+
+ <p>
Responses dropped by rate limits are included in the
<span class="command"><strong>RateDropped</strong></span> and <span class="command"><strong>QryDropped</strong></span>
statistics.
Responses that truncated by rate limits are included in
<span class="command"><strong>RateSlipped</strong></span> and <span class="command"><strong>RespTruncated</strong></span>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"></div>
-<p>
+ <p>
Named supports NXDOMAIN redirection via two methods:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
</ul></div>
<p>
</p>
-<p>
+ <p>
With both methods when named gets a NXDOMAIN response
it examines a separate namespace to see if the NXDOMAIN
response should be replaced with an alternative response.
</p>
-<p>
+ <p>
With a redirect zone (<span class="command"><strong>zone "." { type redirect; };</strong></span>), the
data used to replace the NXDOMAIN is held in a single
zone which is not part of the normal namespace. All the
redirect information is contained in the zone; there are
no delegations.
</p>
-<p>
+ <p>
With a redirect namespace (<span class="command"><strong>option { nxdomain-redirect
<suffix> };</strong></span>) the data used to replace the
NXDOMAIN is part of the normal namespace and is looked up by
the replacement data or a NXDOMAIN indicating that there
is no replacement.
</p>
-<p>
+ <p>
If both a redirect zone and a redirect namespace are configured,
the redirect zone is tried first.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="server_statement_grammar"></a><span class="command"><strong>server</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>server</strong></span> <em class="replaceable"><code>netprefix</code></em> {
<span class="command"><strong>bogus</strong></span> <em class="replaceable"><code>boolean</code></em>;
<span class="command"><strong>edns</strong></span> <em class="replaceable"><code>boolean</code></em>;
<span class="command"><strong>transfers</strong></span> <em class="replaceable"><code>integer</code></em>;
};
</pre>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="server_statement_definition_and_usage"></a><span class="command"><strong>server</strong></span> Statement Definition and
Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>server</strong></span> statement defines
characteristics
to be associated with a remote name server. If a prefix length is
server clause applies regardless of the order in
<code class="filename">named.conf</code>.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>server</strong></span> statement can occur at
the top level of the
configuration file or inside a <span class="command"><strong>view</strong></span>
used as
defaults.
</p>
-<p>
+
+ <p>
If you discover that a remote server is giving out bad data,
marking it as bogus will prevent further queries to it. The
default
value of <span class="command"><strong>bogus</strong></span> is <span class="command"><strong>no</strong></span>.
</p>
-<p>
+ <p>
The <span class="command"><strong>provide-ixfr</strong></span> clause determines
whether
the local server, acting as master, will respond with an
view or
global options block is used as a default.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>request-ixfr</strong></span> clause determines
whether
the local server, acting as a slave, will request incremental zone
also be set in the zone block and, if set there, it will
override the global or view setting for that zone.
</p>
-<p>
+
+ <p>
IXFR requests to servers that do not support IXFR will
automatically
fall back to AXFR. Therefore, there is no need to manually list
and slave claim to support it, for example if one of the servers
is buggy and crashes or corrupts data when IXFR is used.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>request-expire</strong></span> clause determines
whether the local server, when acting as a slave, will
request the EDNS EXPIRE value. The EDNS EXPIRE value
record instead.
The default is <span class="command"><strong>yes</strong></span>.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>edns</strong></span> clause determines whether
the local server will attempt to use EDNS when communicating
with the remote server. The default is <span class="command"><strong>yes</strong></span>.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>edns-udp-size</strong></span> option sets the
EDNS UDP size that is advertised by <span class="command"><strong>named</strong></span>
when querying the remote server. Valid values are 512
behavior may be brought into conformance with the
<span class="command"><strong>options/view</strong></span> behavior in future releases.)
</p>
-<p>
+
+ <p>
The <span class="command"><strong>edns-version</strong></span> option sets the
maximum EDNS VERSION that will be sent to the server(s)
by the resolver. The actual EDNS version sent is still
adjusted. This option will not be needed until higher
EDNS versions than 0 are in use.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>max-udp-size</strong></span> option sets the
maximum EDNS UDP message size <span class="command"><strong>named</strong></span>
will send. Valid values are 512 to 4096 bytes (values
option is useful when you know that there is a firewall
that is blocking large replies from <span class="command"><strong>named</strong></span>.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>tcp-only</strong></span> option sets the transport
protocol to TCP. The default is to use the UDP transport
and to fallback on TCP only when a truncated response
is received.
</p>
-<p>
+
+ <p>
The server supports two zone transfer methods. The first, <span class="command"><strong>one-answer</strong></span>,
uses one DNS message per resource record transferred. <span class="command"><strong>many-answers</strong></span> packs
as many resource records as possible into a message. <span class="command"><strong>many-answers</strong></span> is
by the <span class="command"><strong>options</strong></span> statement will be
used.
</p>
-<p><span class="command"><strong>transfers</strong></span>
+
+ <p><span class="command"><strong>transfers</strong></span>
is used to limit the number of concurrent inbound zone
transfers from the specified server. If no
<span class="command"><strong>transfers</strong></span> clause is specified, the
limit is set according to the
<span class="command"><strong>transfers-per-ns</strong></span> option.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>keys</strong></span> clause identifies a
<span class="command"><strong>key_id</strong></span> defined by the <span class="command"><strong>key</strong></span> statement,
to be used for transaction security (TSIG, <a class="xref" href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called “TSIG”</a>)
required
to be signed by this key.
</p>
-<p>
+
+ <p>
Only a single key per server is currently supported.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>transfer-source</strong></span> and
<span class="command"><strong>transfer-source-v6</strong></span> clauses specify
the IPv4 and IPv6 source
<span class="command"><strong>transfer-source-v6</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>notify-source</strong></span> and
<span class="command"><strong>notify-source-v6</strong></span> clauses specify the
IPv4 and IPv6 source address to be used for notify
can be specified. Similarly, for an IPv6 remote server,
only <span class="command"><strong>notify-source-v6</strong></span> can be specified.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>query-source</strong></span> and
<span class="command"><strong>query-source-v6</strong></span> clauses specify the
IPv4 and IPv6 source address to be used for queries
be specified. Similarly, for an IPv6 remote server,
only <span class="command"><strong>query-source-v6</strong></span> can be specified.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>request-nsid</strong></span> clause determines
whether the local server will add a NSID EDNS option
to requests sent to the server. This overrides
<span class="command"><strong>request-nsid</strong></span> set at the view or
option level.
</p>
-<p>
+
+ <p>
The <span class="command"><strong>send-cookie</strong></span> clause determines
whether the local server will add a COOKIE EDNS option
to requests sent to the server. This overrides
determine that COOKIE is not supported by the remote server
and not add a COOKIE EDNS option to requests.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="statschannels"></a><span class="command"><strong>statistics-channels</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>statistics-channels</strong></span> {
<span class="command"><strong>inet</strong></span> ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [
} ];
};
</pre>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="statistics_channels"></a><span class="command"><strong>statistics-channels</strong></span> Statement Definition and
Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>statistics-channels</strong></span> statement
declares communication channels to be used by system
administrators to get access to statistics information of
the name server.
</p>
-<p>
+
+ <p>
This statement intends to be flexible to support multiple
communication protocols in the future, but currently only
HTTP access is supported.
still accepted even if it is built without the library,
but any HTTP access will fail with an error.
</p>
-<p>
+
+ <p>
An <span class="command"><strong>inet</strong></span> control channel is a TCP socket
listening at the specified <span class="command"><strong>ip_port</strong></span> on the
specified <span class="command"><strong>ip_addr</strong></span>, which can be an IPv4 or IPv6
To listen on the IPv6 wildcard address,
use an <span class="command"><strong>ip_addr</strong></span> of <code class="literal">::</code>.
</p>
-<p>
+
+ <p>
If no port is specified, port 80 is used for HTTP channels.
The asterisk "<code class="literal">*</code>" cannot be used for
<span class="command"><strong>ip_port</strong></span>.
</p>
-<p>
+
+ <p>
The attempt of opening a statistics channel is
restricted by the optional <span class="command"><strong>allow</strong></span> clause.
Connections to the statistics channel are permitted based on the
recommended to restrict the source of connection requests
appropriately.
</p>
-<p>
+
+ <p>
If no <span class="command"><strong>statistics-channels</strong></span> statement is present,
<span class="command"><strong>named</strong></span> will not open any communication channels.
</p>
-<p>
+
+ <p>
The statistics are available in various formats and views
depending on the URI used to access them. For example, if
the statistics channel is configured to listen on 127.0.0.1
charts and graphs using the Google Charts API when using a
javascript-capable browser.
</p>
-<p>
+
+ <p>
Broken-out subsets of the statistics can be viewed at
<a class="link" href="http://127.0.0.1:8888/xml/v3/status" target="_top">http://127.0.0.1:8888/xml/v3/status</a>
(server uptime and last reconfiguration time),
<a class="link" href="http://127.0.0.1:8888/xml/v3/traffic" target="_top">http://127.0.0.1:8888/xml/v3/traffic</a>
(traffic sizes).
</p>
-<p>
+
+ <p>
The full set of statistics can also be read in JSON format at
<a class="link" href="http://127.0.0.1:8888/json" target="_top">http://127.0.0.1:8888/json</a>,
with the broken-out subsets at
<a class="link" href="http://127.0.0.1:8888/json/v1/traffic" target="_top">http://127.0.0.1:8888/json/v1/traffic</a>
(traffic sizes).
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="trusted-keys"></a><span class="command"><strong>trusted-keys</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>trusted-keys</strong></span> { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em>
<em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>quoted_string</code></em>; ... };
</pre>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="trusted_keys"></a><span class="command"><strong>trusted-keys</strong></span> Statement Definition
and Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>trusted-keys</strong></span> statement defines
DNSSEC security roots. DNSSEC is described in <a class="xref" href="Bv9ARM.ch04.html#DNSSEC" title="DNSSEC">the section called “DNSSEC”</a>. A security root is defined when the
public key for a non-authoritative zone is known, but
proven secure. The resolver attempts DNSSEC validation
on all DNS data in subdomains of a security root.
</p>
-<p>
+ <p>
All keys (and corresponding zones) listed in
<span class="command"><strong>trusted-keys</strong></span> are deemed to exist regardless
of what parent zones say. Similarly for all keys listed in
used to validate the DNSKEY RRset. The parent's DS RRset
will not be used.
</p>
-<p>
+ <p>
The <span class="command"><strong>trusted-keys</strong></span> statement can contain
multiple key entries, each consisting of the key's
domain name, flags, protocol, algorithm, and the Base64
in the key data, so the configuration may be split up into
multiple lines.
</p>
-<p>
+ <p>
<span class="command"><strong>trusted-keys</strong></span> may be set at the top level
of <code class="filename">named.conf</code> or within a view. If it is
set in both places, they are additive: keys defined at the top
level are inherited by all views, but keys defined in a view
are only used within that view.
</p>
-<p>
+ <p>
Validation below specified names can be temporarily disabled
by using <span class="command"><strong>rndc nta</strong></span>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="managed_keys"></a><span class="command"><strong>managed-keys</strong></span> Statement Grammar</h3></div></div></div>
-<pre class="programlisting">
+ <pre class="programlisting">
<span class="command"><strong>managed-keys</strong></span> { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>integer</code></em>
<em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>quoted_string</code></em>; ... };
</pre>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="managed-keys"></a><span class="command"><strong>managed-keys</strong></span> Statement Definition
and Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>managed-keys</strong></span> statement, like
<span class="command"><strong>trusted-keys</strong></span>, defines DNSSEC
security roots. The difference is that
automatically, without intervention from the resolver
operator.
</p>
-<p>
+ <p>
Suppose, for example, that a zone's key-signing
key was compromised, and the zone owner had to revoke and
replace the key. A resolver which had the old key in a
continue until the resolver operator had updated the
<span class="command"><strong>trusted-keys</strong></span> statement with the new key.
</p>
-<p>
+ <p>
If, however, the zone were listed in a
<span class="command"><strong>managed-keys</strong></span> statement instead, then the
zone owner could add a "stand-by" key to the zone in advance.
using that key to validate answers, minimizing the damage that
the compromised key could do.
</p>
-<p>
+ <p>
A <span class="command"><strong>managed-keys</strong></span> statement contains a list of
the keys to be managed, along with information about how the
keys are to be initialized for the first time. The only
allow keys to be initialized by other methods, eliminating this
requirement.)
</p>
-<p>
+ <p>
Consequently, a <span class="command"><strong>managed-keys</strong></span> statement
appears similar to a <span class="command"><strong>trusted-keys</strong></span>, differing
in the presence of the second field, containing the keyword
managed key database and start the RFC 5011 key maintenance
process.
</p>
-<p>
+ <p>
The first time <span class="command"><strong>named</strong></span> runs with a managed key
configured in <code class="filename">named.conf</code>, it fetches the
DNSKEY RRset directly from the zone apex, and validates it
statement. If the DNSKEY RRset is validly signed, then it is
used as the basis for a new managed keys database.
</p>
-<p>
+ <p>
From that point on, whenever <span class="command"><strong>named</strong></span> runs, it
sees the <span class="command"><strong>managed-keys</strong></span> statement, checks to
make sure RFC 5011 key maintenance has already been initialized
statement is not used to validate answers; it has been
superseded by the key or keys stored in the managed keys database.
</p>
-<p>
+ <p>
The next time <span class="command"><strong>named</strong></span> runs after a name
has been <span class="emphasis"><em>removed</em></span> from the
<span class="command"><strong>managed-keys</strong></span> statement, the corresponding
and RFC 5011 key maintenance will no longer be used for that
domain.
</p>
-<p>
+ <p>
In the current implementation, the managed keys database
is stored as a master-format zone file.
</p>
-<p>
+ <p>
On servers which do not use views, this file is named
<code class="filename">managed-keys.bind</code>. When views are in
use, there will be a separate managed keys database for each
a hash of the view name), followed by
the suffix <code class="filename">.mkeys</code>.
</p>
-<p>
+ <p>
When the key database is changed, the zone is updated.
As with any other dynamic zone, changes will be written
into a journal file, e.g.,
(For this reason among others, the working directory
should be always be writable by <span class="command"><strong>named</strong></span>.)
</p>
-<p>
+ <p>
If the <span class="command"><strong>dnssec-validation</strong></span> option is
set to <strong class="userinput"><code>auto</code></strong>, <span class="command"><strong>named</strong></span>
will automatically initialize a managed key for the
found, the initializing key is also compiled directly
into <span class="command"><strong>named</strong></span>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="view_statement_grammar"></a><span class="command"><strong>view</strong></span> Statement Grammar</h3></div></div></div>
+
<pre class="programlisting"><span class="command"><strong>view</strong></span> <em class="replaceable"><code>view_name</code></em> [ <em class="replaceable"><code>class</code></em> ] <span class="command"><strong>{</strong></span>
<span class="command"><strong>match-clients {</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ;
<span class="command"><strong>match-destinations {</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ;
[ <em class="replaceable"><code>zone_statement</code></em> ; ... ]
<span class="command"><strong>} </strong></span>;
</pre>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="view_statement"></a><span class="command"><strong>view</strong></span> Statement Definition and Usage</h3></div></div></div>
-<p>
+
+ <p>
The <span class="command"><strong>view</strong></span> statement is a powerful
feature
of <acronym class="acronym">BIND</acronym> 9 that lets a name server
implementing
split DNS setups without having to run multiple servers.
</p>
-<p>
+
+ <p>
Each <span class="command"><strong>view</strong></span> statement defines a view
of the
DNS namespace that will be seen by a subset of clients. A client
a client request will be resolved in the context of the first
<span class="command"><strong>view</strong></span> that it matches.
</p>
-<p>
+
+ <p>
Zones defined within a <span class="command"><strong>view</strong></span>
statement will
only be accessible to clients that match the <span class="command"><strong>view</strong></span>.
"internal"
and "external" clients in a split DNS setup.
</p>
-<p>
+
+ <p>
Many of the options given in the <span class="command"><strong>options</strong></span> statement
can also be used within a <span class="command"><strong>view</strong></span>
statement, and then
view-specific defaults
take precedence over those in the <span class="command"><strong>options</strong></span> statement.
</p>
-<p>
+
+ <p>
Views are class specific. If no class is given, class IN
is assumed. Note that all non-IN views must contain a hint zone,
since only the IN class has compiled-in default hints.
</p>
-<p>
+
+ <p>
If there are no <span class="command"><strong>view</strong></span> statements in
the config
file, a default view that matches any client is automatically
statements must
occur inside <span class="command"><strong>view</strong></span> statements.
</p>
-<p>
+
+ <p>
Here is an example of a typical split DNS setup implemented
using <span class="command"><strong>view</strong></span> statements:
</p>
+
<pre class="programlisting">view "internal" {
// This should match our internal networks.
match-clients { 10.0.0.0/8; };
};
};
</pre>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="zone_statement_grammar"></a><span class="command"><strong>zone</strong></span>
Statement Grammar</h3></div></div></div>
+
<pre class="programlisting">
<span class="command"><strong>zone</strong></span> <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {
<span class="command"><strong>type</strong></span> ( master | primary );
<span class="command"><strong>in-view</strong></span> <em class="replaceable"><code>string</code></em>;
};
</pre>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="zone_statement"></a><span class="command"><strong>zone</strong></span> Statement Definition and Usage</h3></div></div></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="zone_types"></a>Zone Types</h4></div></div></div>
-<p>
+ <p>
The <span class="command"><strong>type</strong></span> keyword is required
for the <span class="command"><strong>zone</strong></span> configuration unless
it is an <span class="command"><strong>in-view</strong></span> configuration. Its
<code class="varname">slave</code>, <code class="varname">static-stub</code>,
and <code class="varname">stub</code>.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col class="1">
<col class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-<div class="section">
+</table>
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="class"></a>Class</h4></div></div></div>
-<p>
+
+ <p>
The zone's name may optionally be followed by a class. If
a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>),
is assumed. This is correct for the vast majority of cases.
</p>
-<p>
+ <p>
The <code class="literal">hesiod</code> class is
named for an information service from MIT's Project Athena. It
is
<code class="literal">HS</code> is
a synonym for hesiod.
</p>
-<p>
+ <p>
Another MIT development is Chaosnet, a LAN protocol created
in the mid-1970s. Zone data for it can be specified with the <code class="literal">CHAOS</code> class.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="zone_options"></a>Zone Options</h4></div></div></div>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>allow-notify</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>allow-notify</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-query</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>allow-query</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-query-on</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>allow-query-on</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-transfer</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of <span class="command"><strong>allow-transfer</strong></span>
in <a class="xref" href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-update</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of <span class="command"><strong>allow-update</strong></span>
in <a class="xref" href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>update-policy</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a "Simple Secure Update" policy. See
<a class="xref" href="Bv9ARM.ch06.html#dynamic_update_policies" title="Dynamic Update Policies">the section called “Dynamic Update Policies”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>allow-update-forwarding</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of <span class="command"><strong>allow-update-forwarding</strong></span>
in <a class="xref" href="Bv9ARM.ch06.html#access_control" title="Access Control">the section called “Access Control”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>also-notify</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Only meaningful if <span class="command"><strong>notify</strong></span>
is
active for this zone. The set of machines that will
<span class="command"><strong>also-notify</strong></span> is not
meaningful for stub zones.
The default is the empty list.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-names</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This option is used to restrict the character set and
syntax of
certain domain names in master files and/or DNS responses
network. The default varies according to zone type. For <span class="command"><strong>master</strong></span> zones the default is <span class="command"><strong>fail</strong></span>. For <span class="command"><strong>slave</strong></span>
zones the default is <span class="command"><strong>warn</strong></span>.
It is not implemented for <span class="command"><strong>hint</strong></span> zones.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-mx</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>check-mx</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-spf</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>check-spf</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-wildcard</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>check-wildcard</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-integrity</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>check-integrity</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>check-sibling</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>check-sibling</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>zero-no-soa-ttl</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>zero-no-soa-ttl</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>update-check-ksk</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>update-check-ksk</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-loadkeys-interval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>dnssec-loadkeys-interval</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#options" title="options Statement Definition and Usage">the section called “<span class="command"><strong>options</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-update-mode</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>dnssec-update-mode</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#options" title="options Statement Definition and Usage">the section called “<span class="command"><strong>options</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-dnskey-kskonly</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>dnssec-dnskey-kskonly</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>try-tcp-refresh</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>try-tcp-refresh</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>database</strong></span></span></dt>
<dd>
-<p>
+ <p>
Specify the type of database to be used for storing the
zone data. The string following the <span class="command"><strong>database</strong></span> keyword
is interpreted as a list of whitespace-delimited words.
specific
to the database type.
</p>
-<p>
+ <p>
The default is <strong class="userinput"><code>"rbt"</code></strong>, BIND 9's
native in-memory
red-black-tree database. This database does not take
arguments.
</p>
-<p>
+ <p>
Other values are possible if additional database drivers
have been linked into the server. Some sample drivers are
included
with the distribution but none are linked in by default.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>dialup</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>dialup</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>delegation-only</strong></span></span></dt>
<dd>
-<p>
+ <p>
The flag only applies to forward, hint and stub
zones. If set to <strong class="userinput"><code>yes</code></strong>,
then the zone will also be treated as if it is
also a delegation-only type zone.
</p>
-<p>
+ <p>
See caveats in <a class="xref" href="Bv9ARM.ch06.html#root_delegation_only"><span class="command"><strong>root-delegation-only</strong></span></a>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the zone's filename. In <span class="command"><strong>master</strong></span>,
<span class="command"><strong>hint</strong></span>, and <span class="command"><strong>redirect</strong></span>
zones which do not have <span class="command"><strong>masters</strong></span>
<span class="command"><strong>masters</strong></span> defined, zone data is
retrieved from another server and saved in this file.
This option is not applicable to other zone types.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>forward</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Only meaningful if the zone has a forwarders
list. The <span class="command"><strong>only</strong></span> value causes
the lookup to fail
after trying the forwarders and getting no answer, while <span class="command"><strong>first</strong></span> would
allow a normal lookup to be tried.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>forwarders</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Used to override the list of global forwarders.
If it is not specified in a zone of type <span class="command"><strong>forward</strong></span>,
no forwarding is done for the zone and the global options are
not used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>ixfr-base</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Was used in <acronym class="acronym">BIND</acronym> 8 to
specify the name
of the transaction log (journal) file for dynamic update
file by appending "<code class="filename">.jnl</code>"
to the name of the
zone file.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>ixfr-tmp-file</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Was an undocumented option in <acronym class="acronym">BIND</acronym> 8.
Ignored in <acronym class="acronym">BIND</acronym> 9.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>journal</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
Allow the default journal's filename to be overridden.
The default is the zone's filename with "<code class="filename">.jnl</code>" appended.
This is applicable to <span class="command"><strong>master</strong></span> and <span class="command"><strong>slave</strong></span> zones.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-journal-size</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>max-journal-size</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#server_resource_limits" title="Server Resource Limits">the section called “Server Resource Limits”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-records</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>max-records</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#server_resource_limits" title="Server Resource Limits">the section called “Server Resource Limits”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-time-in</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>max-transfer-time-in</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-idle-in</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>max-transfer-idle-in</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-time-out</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>max-transfer-time-out</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-transfer-idle-out</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>max-transfer-idle-out</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>notify</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-delay</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>notify-delay</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-to-soa</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>notify-to-soa</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>pubkey</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
In <acronym class="acronym">BIND</acronym> 8, this option was
intended for specifying
a public zone key for verification of signatures in DNSSEC
signed
zones when they are loaded from disk. <acronym class="acronym">BIND</acronym> 9 does not verify signatures
on load and ignores the option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>zone-statistics</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>zone-statistics</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#options" title="options Statement Definition and Usage">the section called “<span class="command"><strong>options</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>server-addresses</strong></span></span></dt>
<dd>
-<p>
+ <p>
Only meaningful for static-stub zones.
This is a list of IP addresses to which queries
should be sent in recursive resolution for the
configure the apex NS RR with associated glue A or
AAAA RRs.
</p>
-<p>
+ <p>
For example, if "example.com" is configured as a
static-stub zone with 192.0.2.1 and 2001:db8::1234
in a <span class="command"><strong>server-addresses</strong></span> option,
<pre class="programlisting">example.com. NS example.com.
example.com. A 192.0.2.1
example.com. AAAA 2001:db8::1234</pre>
-<p>
+ <p>
These records are internally used to resolve
names under the static-stub zone.
For instance, if the server receives a query for
will initiate recursive resolution and send
queries to 192.0.2.1 and/or 2001:db8::1234.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>server-names</strong></span></span></dt>
<dd>
-<p>
+ <p>
Only meaningful for static-stub zones.
This is a list of domain names of nameservers that
act as authoritative servers of the static-stub
"ns.example.net" cannot, and will be rejected by
the configuration parser.
</p>
-<p>
+ <p>
A non empty list for this option will internally
configure the apex NS RR with the specified names.
For example, if "example.com" is configured as a
<pre class="programlisting">example.com. NS ns1.example.net.
example.com. NS ns2.example.net.
</pre>
-<p>
+ <p>
These records are internally used to resolve
names under the static-stub zone.
For instance, if the server receives a query for
"ns2.example.net" to IP addresses, and then send
queries to (one or more of) these addresses.
</p>
-</dd>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-validity-interval</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>sig-validity-interval</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-signing-nodes</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>sig-signing-nodes</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-signing-signatures</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>sig-signing-signatures</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>sig-signing-type</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>sig-signing-type</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfer-source</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>transfer-source</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>transfer-source-v6</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>transfer-source-v6</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>alt-transfer-source</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>alt-transfer-source</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>alt-transfer-source-v6</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>alt-transfer-source-v6</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>use-alt-transfer-source</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>use-alt-transfer-source</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-source</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>notify-source</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>notify-source-v6</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>notify-source-v6</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#zone_transfers" title="Zone Transfers">the section called “Zone Transfers”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt>
<span class="term"><span class="command"><strong>min-refresh-time</strong></span>, </span><span class="term"><span class="command"><strong>max-refresh-time</strong></span>, </span><span class="term"><span class="command"><strong>min-retry-time</strong></span>, </span><span class="term"><span class="command"><strong>max-retry-time</strong></span></span>
</dt>
-<dd><p>
+<dd>
+ <p>
See the description in <a class="xref" href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>ixfr-from-differences</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>ixfr-from-differences</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
(Note that the <span class="command"><strong>ixfr-from-differences</strong></span>
<strong class="userinput"><code>master</code></strong> and
<strong class="userinput"><code>slave</code></strong> choices are not
available at the zone level.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>key-directory</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>key-directory</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#options" title="options Statement Definition and Usage">the section called “<span class="command"><strong>options</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>auto-dnssec</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>auto-dnssec</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#options" title="options Statement Definition and Usage">the section called “<span class="command"><strong>options</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>serial-update-method</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>serial-update-method</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#options" title="options Statement Definition and Usage">the section called “<span class="command"><strong>options</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>inline-signing</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
If <code class="literal">yes</code>, this enables
"bump in the wire" signing of a zone, where a
unsigned zone is transferred in or loaded from
disk and a signed version of the zone is served,
with possibly, a different serial number. This
behavior is disabled by default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>multi-master</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of <span class="command"><strong>multi-master</strong></span> in
<a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>masterfile-format</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of <span class="command"><strong>masterfile-format</strong></span>
in <a class="xref" href="Bv9ARM.ch06.html#tuning" title="Tuning">the section called “Tuning”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>max-zone-ttl</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of <span class="command"><strong>max-zone-ttl</strong></span>
in <a class="xref" href="Bv9ARM.ch06.html#options" title="options Statement Definition and Usage">the section called “<span class="command"><strong>options</strong></span> Statement Definition and
Usage”</a>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>dnssec-secure-to-insecure</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
See the description of
<span class="command"><strong>dnssec-secure-to-insecure</strong></span> in <a class="xref" href="Bv9ARM.ch06.html#boolean_options" title="Boolean Options">the section called “Boolean Options”</a>.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="dynamic_update_policies"></a>Dynamic Update Policies</h4></div></div></div>
-<p><acronym class="acronym">BIND</acronym> 9 supports two alternative
+
+ <p><acronym class="acronym">BIND</acronym> 9 supports two alternative
methods of granting clients the right to perform
dynamic updates to a zone, configured by the
<span class="command"><strong>allow-update</strong></span> and
<span class="command"><strong>update-policy</strong></span> option, respectively.
</p>
-<p>
+ <p>
The <span class="command"><strong>allow-update</strong></span> clause is a simple
access control list. Any client that matches
the ACL is granted permission to update any record
in the zone.
</p>
-<p>
+ <p>
The <span class="command"><strong>update-policy</strong></span> clause
allows more fine-grained control over what updates are
allowed. It specifies a set of rules, in which each rule
to specify update permissions based on client source
address.
</p>
-<p>
+ <p>
<span class="command"><strong>update-policy</strong></span> rules are only meaningful
for zones of type <span class="command"><strong>master</strong></span>, and are
not allowed in any other zone type.
<span class="command"><strong>allow-update</strong></span> and
<span class="command"><strong>update-policy</strong></span> at the same time.
</p>
-<p>
+ <p>
A pre-defined <span class="command"><strong>update-policy</strong></span> rule can be
switched on with the command
<span class="command"><strong>update-policy local;</strong></span>.
within the zone. Assuming the key name is "local-ddns",
this policy is equivalent to:
</p>
-<pre class="programlisting">update-policy { grant local-ddns zonesub any; };
+
+ <pre class="programlisting">update-policy { grant local-ddns zonesub any; };
</pre>
-<p>
+
+ <p>
...with the additional restriction that only clients
connecting from the local system will be permitted to send
updates.
</p>
-<p>
+ <p>
Note that only one session key is generated by
<span class="command"><strong>named</strong></span>; all zones configured to use
<span class="command"><strong>update-policy local</strong></span> will accept the same key.
</p>
-<p>
+ <p>
The command <span class="command"><strong>nsupdate -l</strong></span> implements this
feature, sending requests to localhost and signing them using
the key retrieved from the session key file.
</p>
-<p>
+
+ <p>
Other rule definitions look like this:
</p>
+
<pre class="programlisting">
( <span class="command"><strong>grant</strong></span> | <span class="command"><strong>deny</strong></span> ) <em class="replaceable"><code>identity</code></em> <em class="replaceable"><code>ruletype</code></em> [<span class="optional"> <em class="replaceable"><code>name</code></em> </span>] [<span class="optional"> <em class="replaceable"><code>types</code></em> </span>]
</pre>
-<p>
+
+ <p>
Each rule grants or denies privileges. Rules are checked
in the order in which they are specified in the
<span class="command"><strong>update-policy</strong></span> statement. Once a message
<span class="command"><strong>ruletype</strong></span> field, and the interpretation
of other fields varies depending on the rule type.
</p>
-<p>
+ <p>
In general, a rule is matched when the
key that signed an update request matches the
<span class="command"><strong>identity</strong></span> field, the name of the record
<span class="command"><strong>types</strong></span> field. Details for each rule type
are described below.
</p>
-<p>
+ <p>
The <span class="command"><strong>identity</strong></span> field must be set to
a fully-qualified domain name. In most cases, this
represensts the name of the TSIG or SIG(0) key that must be
(e.g, <strong class="userinput"><code>"host/machine@REALM"</code></strong>) or
Windows realm (<strong class="userinput"><code>machine$@REALM</code></strong>).
</p>
-<p>
+ <p>
The <em class="replaceable"><code>name</code></em> field also specifies
a fully-qualified domain name. This often
represents the name of the record to be updated.
Interpretation of this field is dependent on rule type.
</p>
-<p>
+ <p>
If no <span class="command"><strong>types</strong></span> are explicitly specified,
then a rule matches all types except RRSIG, NS, SOA, NSEC
and NSEC3. Types may be specified by name, including
is made to delete all records associated with a name,
the rules are checked for each existing record type.
</p>
-<p>
+ <p>
The <em class="replaceable"><code>ruletype</code></em> field has 16
values:
<code class="varname">name</code>, <code class="varname">subdomain</code>,
<code class="varname">tcp-self</code>, <code class="varname">6to4-self</code>,
<code class="varname">zonesub</code>, and <code class="varname">external</code>.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="0.819in" class="1">
<col width="3.681in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-<div class="section">
+</table>
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="multiple_views"></a>Multiple views</h4></div></div></div>
-<p>
+
+ <p>
When multiple views are in use, a zone may be
referenced by more than one of them. Often, the views
will contain different zones with the same name, allowing
way to do this: it allows a view to reference a zone that
was defined in a previously configured view. Example:
</p>
-<pre class="programlisting">
+ <pre class="programlisting">
view internal {
match-clients { 10/8; };
};
};
</pre>
-<p>
+ <p>
An <span class="command"><strong>in-view</strong></span> option cannot refer to a view
that is configured later in the configuration file.
</p>
-<p>
+ <p>
A <span class="command"><strong>zone</strong></span> statement which uses the
<span class="command"><strong>in-view</strong></span> option may not use any other
options with the exception of <span class="command"><strong>forward</strong></span>
the behavior of the containing view, rather than changing
the zone object itself.)
</p>
-<p>
+ <p>
Zone level acls (e.g. allow-query, allow-transfer) and
other configuration details of the zone are all set
in the view the referenced zone is defined in. Care
need to be taken to ensure that acls are wide enough
for all views referencing the zone.
</p>
-<p>
+ <p>
An <span class="command"><strong>in-view</strong></span> zone cannot be used as a
response policy zone.
</p>
-<p>
+ <p>
An <span class="command"><strong>in-view</strong></span> zone is not intended to reference
a <span class="command"><strong>forward</strong></span> zone.
</p>
-</div>
-</div>
-</div>
-<div class="section">
+ </div>
+
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="zone_file"></a>Zone File</h2></div></div></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="types_of_resource_records_and_when_to_use_them"></a>Types of Resource Records and When to Use Them</h3></div></div></div>
-<p>
+
+ <p>
This section, largely borrowed from RFC 1034, describes the
concept of a Resource Record (RR) and explains when each is used.
Since the publication of RFC 1034, several new RRs have been
identified
and implemented in the DNS. These are also included.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.7.6.2.3"></a>Resource Records</h4></div></div></div>
-<p>
+
+ <p>
A domain name identifies a node. Each node has a set of
resource information, which may be empty. The set of resource
information associated with a particular name is composed of
permitted for optimization purposes, for example, to specify
that a particular nearby server be tried first. See <a class="xref" href="Bv9ARM.ch06.html#the_sortlist_statement" title="The sortlist Statement">the section called “The <span class="command"><strong>sortlist</strong></span> Statement”</a> and <a class="xref" href="Bv9ARM.ch06.html#rrset_ordering" title="RRset Ordering">the section called “RRset Ordering”</a>.
</p>
-<p>
+
+ <p>
The components of a Resource Record are:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.000in" class="1">
<col width="3.500in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
The following are <span class="emphasis"><em>types</em></span> of valid RRs:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="0.875in" class="1">
<col width="3.625in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
The following <span class="emphasis"><em>classes</em></span> of resource records
are currently valid in the DNS:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+<table border="1">
<colgroup>
<col width="0.875in" class="1">
<col width="3.625in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+
+ <p>
The owner name is often implicit, rather than forming an
integral
part of the RR. For example, many name servers internally form
that
fits the needs of the resource being described.
</p>
-<p>
+ <p>
The meaning of the TTL field is a time limit on how long an
RR can be kept in a cache. This limit does not apply to
authoritative
following
the change.
</p>
-<p>
+ <p>
The data in the RDATA section of RRs is carried as a combination
of binary strings and domain names. The domain names are
frequently
used as "pointers" to other data in the DNS.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="rr_text"></a>Textual expression of RRs</h4></div></div></div>
-<p>
+
+ <p>
RRs are represented in binary form in the packets of the DNS
protocol, and are usually represented in highly encoded form
when
possible
using parentheses.
</p>
-<p>
+ <p>
The start of the line gives the owner of the RR. If a line
begins with a blank, then the owner is assumed to be the same as
that of the previous RR. Blank lines are often included for
readability.
</p>
-<p>
+ <p>
Following the owner, we list the TTL, type, and class of the
RR. Class and type use the mnemonics defined above, and TTL is
an integer before the type field. In order to avoid ambiguity
values
are often omitted from examples in the interests of clarity.
</p>
-<p>
+ <p>
The resource data or RDATA section of the RR are given using
knowledge of the typical representation for the data.
</p>
-<p>
+ <p>
For example, we might show the RRs carried in a message as:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+<table border="1">
<colgroup>
<col width="1.381in" class="1">
<col width="1.020in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
The MX RRs have an RDATA section which consists of a 16-bit
number followed by a domain name. The address RRs use a
standard
IP address format to contain a 32-bit internet address.
</p>
-<p>
+ <p>
The above example shows six RRs, with two RRs at each of three
domain names.
</p>
-<p>
+ <p>
Similarly we might see:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+<table border="1">
<colgroup>
<col width="1.491in" class="1">
<col width="1.067in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
This example shows two addresses for
<code class="literal">XX.LCS.MIT.EDU</code>, each of a different class.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="mx_records"></a>Discussion of MX Records</h3></div></div></div>
-<p>
+
+ <p>
As described above, domain servers store information as a
series of resource records, each of which contains a particular
piece of information about a given domain name (which is usually,
and stored with some additional type information to help systems
determine when the RR is relevant.
</p>
-<p>
+
+ <p>
MX records are used to control delivery of email. The data
specified in the record is a priority and a domain name. The
priority
It <span class="emphasis"><em>must</em></span> have an associated address record
(A or AAAA) — CNAME is not sufficient.
</p>
-<p>
+ <p>
For a given domain, if there is both a CNAME record and an
MX record, the MX record is in error, and will be ignored.
Instead,
pointed to by the CNAME.
For example:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.708in" class="1">
<col width="0.444in" class="2">
</td>
</tr>
</tbody>
-</table></div>
+</table>
+ </div>
<p>
Mail delivery will be attempted to <code class="literal">mail.example.com</code> and
<code class="literal">mail2.example.com</code> (in
any order), and if neither of those succeed, delivery to <code class="literal">mail.backup.org</code> will
be attempted.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="Setting_TTLs"></a>Setting TTLs</h3></div></div></div>
-<p>
+
+ <p>
The time-to-live of the RR field is a 32-bit integer represented
in units of seconds, and is primarily used by resolvers when they
cache RRs. The TTL describes how long a RR can be cached before it
currently
used in a zone file.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="0.750in" class="1">
<col width="4.375in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
All of these TTLs default to units of seconds, though units
can be explicitly specified, for example, <code class="literal">1h30m</code>.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="ipv4_reverse"></a>Inverse Mapping in IPv4</h3></div></div></div>
-<p>
+
+ <p>
Reverse name resolution (that is, translation from IP address
to name) is achieved by means of the <span class="emphasis"><em>in-addr.arpa</em></span> domain
and PTR records. Entries in the in-addr.arpa domain are made in
PTR records if the machine has more than one name. For example,
in the [<span class="optional">example.com</span>] domain:
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.125in" class="1">
<col width="4.000in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+</table>
+ </div>
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
The <span class="command"><strong>$ORIGIN</strong></span> lines in the examples
are for providing context to the examples only — they do not
necessarily
appear in the actual usage. They are only used here to indicate
that the example is relative to the listed origin.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="zone_directives"></a>Other Zone File Directives</h3></div></div></div>
-<p>
+
+ <p>
The Master File Format was initially defined in RFC 1035 and
has subsequently been extended. While the Master File Format
itself
same
class.
</p>
-<p>
+ <p>
Master File Directives include <span class="command"><strong>$ORIGIN</strong></span>, <span class="command"><strong>$INCLUDE</strong></span>,
and <span class="command"><strong>$TTL.</strong></span>
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="atsign"></a>The <span class="command"><strong>@</strong></span> (at-sign)</h4></div></div></div>
-<p>
+
+ <p>
When used in the label (or name) field, the asperand or
at-sign (@) symbol represents the current origin.
At the start of the zone file, it is the
<<code class="varname">zone_name</code>> (followed by
trailing dot).
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="origin_directive"></a>The <span class="command"><strong>$ORIGIN</strong></span> Directive</h4></div></div></div>
-<p>
+
+ <p>
Syntax: <span class="command"><strong>$ORIGIN</strong></span>
<em class="replaceable"><code>domain-name</code></em>
[<span class="optional"><em class="replaceable"><code>comment</code></em></span>]
</p>
-<p><span class="command"><strong>$ORIGIN</strong></span>
+ <p><span class="command"><strong>$ORIGIN</strong></span>
sets the domain name that will be appended to any
unqualified records. When a zone is first read in there
is an implicit <span class="command"><strong>$ORIGIN</strong></span>
the domain specified in the <span class="command"><strong>$ORIGIN</strong></span>
argument if it is not absolute.
</p>
+
<pre class="programlisting">
$ORIGIN example.com.
WWW CNAME MAIN-SERVER
</pre>
-<p>
+
+ <p>
is equivalent to
</p>
+
<pre class="programlisting">
WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
</pre>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="include_directive"></a>The <span class="command"><strong>$INCLUDE</strong></span> Directive</h4></div></div></div>
-<p>
+
+ <p>
Syntax: <span class="command"><strong>$INCLUDE</strong></span>
<em class="replaceable"><code>filename</code></em>
[<span class="optional">
<em class="replaceable"><code>origin</code></em> </span>]
[<span class="optional"> <em class="replaceable"><code>comment</code></em> </span>]
</p>
-<p>
+ <p>
Read and process the file <code class="filename">filename</code> as
if it were included into the file at this point. If <span class="command"><strong>origin</strong></span> is
specified the file is processed with <span class="command"><strong>$ORIGIN</strong></span> set
to that value, otherwise the current <span class="command"><strong>$ORIGIN</strong></span> is
used.
</p>
-<p>
+ <p>
The origin and the current domain name
revert to the values they had prior to the <span class="command"><strong>$INCLUDE</strong></span> once
the file has been read.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
RFC 1035 specifies that the current origin should be restored
after
an <span class="command"><strong>$INCLUDE</strong></span>, but it is silent
This could be construed as a deviation from RFC 1035, a
feature, or both.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="ttl_directive"></a>The <span class="command"><strong>$TTL</strong></span> Directive</h4></div></div></div>
-<p>
+
+ <p>
Syntax: <span class="command"><strong>$TTL</strong></span>
<em class="replaceable"><code>default-ttl</code></em>
[<span class="optional">
<em class="replaceable"><code>comment</code></em> </span>]
</p>
-<p>
+ <p>
Set the default Time To Live (TTL) for subsequent records
with undefined TTLs. Valid TTLs are of the range 0-2147483647
seconds.
</p>
-<p><span class="command"><strong>$TTL</strong></span>
+ <p><span class="command"><strong>$TTL</strong></span>
is defined in RFC 2308.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="generate_directive"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span class="command"><strong>$GENERATE</strong></span> Directive</h3></div></div></div>
-<p>
+
+ <p>
Syntax: <span class="command"><strong>$GENERATE</strong></span>
<em class="replaceable"><code>range</code></em>
<em class="replaceable"><code>lhs</code></em>
<em class="replaceable"><code>rhs</code></em>
[<span class="optional"><em class="replaceable"><code>comment</code></em></span>]
</p>
-<p><span class="command"><strong>$GENERATE</strong></span>
+ <p><span class="command"><strong>$GENERATE</strong></span>
is used to create a series of resource records that only
differ from each other by an
iterator. <span class="command"><strong>$GENERATE</strong></span> can be used to
sub /24 reverse delegations described in RFC 2317:
Classless IN-ADDR.ARPA delegation.
</p>
+
<pre class="programlisting">$ORIGIN 0.0.192.IN-ADDR.ARPA.
$GENERATE 1-2 @ NS SERVER$.EXAMPLE.
$GENERATE 1-127 $ CNAME $.0</pre>
-<p>
+
+ <p>
is equivalent to
</p>
+
<pre class="programlisting">0.0.0.192.IN-ADDR.ARPA. NS SERVER1.EXAMPLE.
0.0.0.192.IN-ADDR.ARPA. NS SERVER2.EXAMPLE.
1.0.0.192.IN-ADDR.ARPA. CNAME 1.0.0.0.192.IN-ADDR.ARPA.
...
127.0.0.192.IN-ADDR.ARPA. CNAME 127.0.0.0.192.IN-ADDR.ARPA.
</pre>
-<p>
+
+ <p>
Generate a set of A and MX records. Note the MX's right hand
side is a quoted string. The quotes will be stripped when the
right hand side is processed.
</p>
+
<pre class="programlisting">
$ORIGIN EXAMPLE.
$GENERATE 1-127 HOST-$ A 1.2.3.$
$GENERATE 1-127 HOST-$ MX "0 ."</pre>
-<p>
+
+ <p>
is equivalent to
</p>
+
<pre class="programlisting">HOST-1.EXAMPLE. A 1.2.3.1
HOST-1.EXAMPLE. MX 0 .
HOST-2.EXAMPLE. A 1.2.3.2
HOST-127.EXAMPLE. A 1.2.3.127
HOST-127.EXAMPLE. MX 0 .
</pre>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="0.875in" class="1">
<col width="4.250in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+ <p>
The <span class="command"><strong>$GENERATE</strong></span> directive is a <acronym class="acronym">BIND</acronym> extension
and not part of the standard zone file format.
</p>
-<p>
+ <p>
BIND 8 did not support the optional TTL and CLASS fields.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="zonefile_format"></a>Additional File Formats</h3></div></div></div>
-<p>
+
+ <p>
In addition to the standard textual format, BIND 9
supports the ability to read or dump to zone files in
other formats.
</p>
-<p>
+ <p>
The <code class="constant">raw</code> format is
a binary representation of zone data in a manner similar
to that used in zone transfers. Since it does not require
parsing text, load time is significantly reduced.
</p>
-<p>
+ <p>
An even faster alternative is the <code class="constant">map</code>
format, which is an image of a <acronym class="acronym">BIND</acronym> 9
in-memory zone database; it is capable of being loaded
function; the zone can begin serving queries almost
immediately.
</p>
-<p>
+ <p>
For a primary server, a zone file in
<code class="constant">raw</code> or <code class="constant">map</code>
format is expected to be generated from a textual zone
<span class="command"><strong>named</strong></span> dumps the zone contents after
zone transfer or when applying prior updates.
</p>
-<p>
+ <p>
If a zone file in a binary format needs manual modification,
it first must be converted to a textual form by the
<span class="command"><strong>named-compilezone</strong></span> command. All
should then be converted to the binary form by the
<span class="command"><strong>named-compilezone</strong></span> command again.
</p>
-<p>
+ <p>
Note that <span class="command"><strong>map</strong></span> format is extremely
architecture-specific. A <code class="constant">map</code>
file <span class="emphasis"><em>cannot</em></span> be used on a system
portable backup of such a file, conversion to
<code class="constant">text</code> format is recommended.
</p>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="statistics"></a>BIND9 Statistics</h2></div></div></div>
-<p>
+
+ <p>
<acronym class="acronym">BIND</acronym> 9 maintains lots of statistics
information and provides several interfaces for users to
get access to the statistics.
are meaningful in <acronym class="acronym">BIND</acronym> 9,
and other information that is considered useful.
</p>
-<p>
+
+ <p>
The statistics information is categorized into the following
sections.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="3.300in" class="1">
<col width="2.625in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-<p>
+</table>
+ </div>
+
+ <p>
A subset of Name Server Statistics is collected and shown
per zone for which the server has the authority when
<span class="command"><strong>zone-statistics</strong></span> is set to
Usage”</a>
for further details.
</p>
-<p>
+
+ <p>
These statistics counters are shown with their zone and
view names. The view name is omitted when the server is
not configured with explicit views.</p>
-<p>
+
+ <p>
There are currently two user interfaces to get access to the
statistics.
One is in the plain text format dumped to the file specified
is specified in the configuration file
(see <a class="xref" href="Bv9ARM.ch06.html#statschannels" title="statistics-channels Statement Grammar">the section called “<span class="command"><strong>statistics-channels</strong></span> Statement Grammar”</a>.)
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="statsfile"></a>The Statistics File</h3></div></div></div>
-<p>
+
+ <p>
The text format statistics dump begins with a line, like:
</p>
-<p>
+ <p>
<span class="command"><strong>+++ Statistics Dump +++ (973798949)</strong></span>
</p>
-<p>
+ <p>
The number in parentheses is a standard
Unix-style timestamp, measured as seconds since January 1, 1970.
as described above.
Each section begins with a line, like:
</p>
-<p>
+
+ <p>
<span class="command"><strong>++ Name Server Statistics ++</strong></span>
</p>
-<p>
+
+ <p>
Each section consists of lines, each containing the statistics
counter value followed by its textual description.
See below for available counters.
For brevity, counters that have a value of 0 are not shown
in the statistics file.
</p>
-<p>
+
+ <p>
The statistics dump ends with the line where the
number is identical to the number in the beginning line; for example:
</p>
-<p>
+ <p>
<span class="command"><strong>--- Statistics Dump --- (973798949)</strong></span>
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="statistics_counters"></a>Statistics Counters</h3></div></div></div>
-<p>
+
+ <p>
The following tables summarize statistics counters that
<acronym class="acronym">BIND</acronym> 9 provides.
For each row of the tables, the leftmost column is the
it gives the corresponding counter name of the
<acronym class="acronym">BIND</acronym> 8 statistics, if applicable.
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="stats_counters"></a>Name Server Statistics Counters</h4></div></div></div>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="1.150in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-<div class="section">
+</table>
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="zone_stats"></a>Zone Maintenance Statistics Counters</h4></div></div></div>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="3.350in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-<div class="section">
+</table>
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="resolver_stats"></a>Resolver Statistics Counters</h4></div></div></div>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="1.150in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-<div class="section">
+</table>
+ </div>
+
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="socket_stats"></a>Socket I/O Statistics Counters</h4></div></div></div>
-<p>
+
+ <p>
Socket I/O statistics counters are defined per socket
types, which are
<span class="command"><strong>UDP4</strong></span> (UDP/IPv4),
Not all counters are available for all socket types;
exceptions are noted in the description field.
</p>
-<div class="informaltable"><table class="informaltable" border="1">
+
+ <div class="informaltable">
+ <table border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="3.350in" class="2">
</td>
</tr>
</tbody>
-</table></div>
-</div>
-<div class="section">
+</table>
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="bind8_compatibility"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div>
-<p>
+
+ <p>
Most statistics counters that were available
in <span class="command"><strong>BIND</strong></span> 8 are also supported in
<span class="command"><strong>BIND</strong></span> 9 as shown in the above tables.
Here are notes about other counters that do not appear
in these tables.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>RFwdR,SFwdR</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
These counters are not supported
because <span class="command"><strong>BIND</strong></span> 9 does not adopt
the notion of <span class="emphasis"><em>forwarding</em></span>
as <span class="command"><strong>BIND</strong></span> 8 did.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>RAXFR</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This counter is accessible in the Incoming Queries section.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>RIQ</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This counter is accessible in the Incoming Requests section.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>ROpts</strong></span></span></dt>
-<dd><p>
+<dd>
+ <p>
This counter is not supported
because <span class="command"><strong>BIND</strong></span> 9 does not care
about IP options in the first place.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-</div>
-</div>
-</div>
+ </div>
+ </div>
+ </div>
+
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 7. BIND 9 Security Considerations</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch06.html" title="Chapter 6. BIND 9 Configuration Reference">
<dt><span class="section"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt>
</dl>
</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="Access_Control_Lists"></a>Access Control Lists</h2></div></div></div>
-<p>
+
+ <p>
Access Control Lists (ACLs) are address match lists that
you can set up and nickname for future use in
<span class="command"><strong>allow-notify</strong></span>, <span class="command"><strong>allow-query</strong></span>,
<span class="command"><strong>blackhole</strong></span>, <span class="command"><strong>allow-transfer</strong></span>,
<span class="command"><strong>match-clients</strong></span>, etc.
</p>
-<p>
+ <p>
Using ACLs allows you to have finer control over who can access
your name server, without cluttering up your config files with huge
lists of IP addresses.
</p>
-<p>
+ <p>
It is a <span class="emphasis"><em>good idea</em></span> to use ACLs, and to
control access to your server. Limiting access to your server by
outside parties can help prevent spoofing and denial of service
(DoS) attacks against your server.
</p>
-<p>
+ <p>
ACLs match clients on the basis of up to three characteristics:
1) The client's IP address; 2) the TSIG or SIG(0) key that was
used to sign the request, if any; and 3) an address prefix
encoded in an EDNS Client Subnet option, if any.
</p>
-<p>
+ <p>
Here is an example of ACLs based on client addresses:
</p>
+
<pre class="programlisting">
// Set up an ACL named "bogusnets" that will block
// RFC1918 space and some reserved space, which is
allow-query { any; };
};
</pre>
-<p>
+
+ <p>
This allows authoritative queries for "example.com" from any
address, but recursive queries only from the networks specified
in "our-nets", and no queries at all from the networks
specified in "bogusnets".
</p>
-<p>
+ <p>
In addition to network addresses and prefixes, which are
matched against the source address of the DNS request, ACLs
may include <code class="option">key</code> elements, which specify the
if that prefix matches an EDNS client subnet option included
in the request.
</p>
-<p>
+ <p>
The EDNS Client Subnet (ECS) option is used by a recursive
resolver to inform an authoritative name server of the network
address block from which the original query was received, enabling
in ACLs that are not prefixed with "ecs" are matched only
against the source address.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
(Note: The authoritative ECS implementation in
<span class="command"><strong>named</strong></span> is based on an early version of the
specification, and is known to have incompatibilities with
the configuration. It can be used for testing purposes, but is
not recommended for production use.)
</p>
-</div>
-<p>
+ </div>
+ <p>
When <acronym class="acronym">BIND</acronym> 9 is built with GeoIP support,
ACLs can also be used for geographic access restrictions.
This is done by specifying an ACL element of the form:
<span class="command"><strong>geoip [<span class="optional">db <em class="replaceable"><code>database</code></em></span>] <em class="replaceable"><code>field</code></em> <em class="replaceable"><code>value</code></em></strong></span>
</p>
-<p>
+ <p>
The <em class="replaceable"><code>field</code></em> indicates which field
to search for a match. Available fields are "country",
"region", "city", "continent", "postal" (postal code),
"metro" (metro code), "area" (area code), "tz" (timezone),
"isp", "asnum", and "domain".
</p>
-<p>
+ <p>
<em class="replaceable"><code>value</code></em> is the value to search
for within the database. A string may be quoted if it
contains spaces or other special characters. An "asnum"
abbreviation; otherwise it treated as the full name of the
state or province.
</p>
-<p>
+ <p>
The <em class="replaceable"><code>database</code></em> field indicates which
GeoIP database to search for a match. In most cases this is
unnecessary, because most search fields can only be found in
the legacy GeoIP API, "netspeed" and "org" databases are also
available.)
</p>
-<p>
+ <p>
By default, if a DNS query includes an EDNS Client Subnet (ECS)
option which encodes a non-zero address prefix, then GeoIP ACLs
will be matched against that address prefix. Otherwise, they
prevent GeoIP ACLs from matching against ECS options, set
the <span class="command"><strong>geoip-use-ecs</strong></span> to <code class="literal">no</code>.
</p>
-<p>
+ <p>
Some example GeoIP ACLs:
</p>
-<pre class="programlisting">geoip country US;
+ <pre class="programlisting">geoip country US;
geoip country JP;
geoip db country country Canada;
geoip region WA;
geoip tz "America/Los_Angeles";
geoip org "Internet Systems Consortium";
</pre>
-<p>
+
+ <p>
ACLs use a "first-match" logic rather than "best-match":
if an address prefix matches an ACL element, then that ACL
is considered to have matched even if a later element would
indicated that the query should be accepted, and the second
element is ignored.
</p>
-<p>
+ <p>
When using "nested" ACLs (that is, ACLs included or referenced
within other ACLs), a negative match of a nested ACL will
the containing ACL to continue looking for matches. This
it originates from a particular network <span class="emphasis"><em>and</em></span>
only when it is signed with a particular key, use:
</p>
-<pre class="programlisting">
+ <pre class="programlisting">
allow-query { !{ !10/8; any; }; key example; };
</pre>
-<p>
+ <p>
Within the nested ACL, any address that is
<span class="emphasis"><em>not</em></span> in the 10/8 network prefix will
be rejected, and this will terminate processing of the
will only matches when <span class="emphasis"><em>both</em></span> conditions
are true.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="chroot_and_setuid"></a><span class="command"><strong>Chroot</strong></span> and <span class="command"><strong>Setuid</strong></span>
</h2></div></div></div>
-<p>
+
+ <p>
On UNIX servers, it is possible to run <acronym class="acronym">BIND</acronym>
in a <span class="emphasis"><em>chrooted</em></span> environment (using
the <span class="command"><strong>chroot()</strong></span> function) by specifying
<acronym class="acronym">BIND</acronym> in a "sandbox", which will limit
the damage done if a server is compromised.
</p>
-<p>
+ <p>
Another useful feature in the UNIX version of <acronym class="acronym">BIND</acronym> is the
ability to run the daemon as an unprivileged user ( <code class="option">-u</code> <em class="replaceable"><code>user</code></em> ).
We suggest running as an unprivileged user when using the <span class="command"><strong>chroot</strong></span> feature.
</p>
-<p>
+ <p>
Here is an example command line to load <acronym class="acronym">BIND</acronym> in a <span class="command"><strong>chroot</strong></span> sandbox,
<span class="command"><strong>/var/named</strong></span>, and to run <span class="command"><strong>named</strong></span> <span class="command"><strong>setuid</strong></span> to
user 202:
</p>
-<p>
+ <p>
<strong class="userinput"><code>/usr/local/sbin/named -u 202 -t /var/named</code></strong>
</p>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="chroot"></a>The <span class="command"><strong>chroot</strong></span> Environment</h3></div></div></div>
-<p>
+
+ <p>
In order for a <span class="command"><strong>chroot</strong></span> environment
to work properly in a particular directory (for example,
<code class="filename">/var/named</code>), you will need to set
options like <span class="command"><strong>directory</strong></span> and
<span class="command"><strong>pid-file</strong></span> to account for this.
</p>
-<p>
+ <p>
Unlike with earlier versions of BIND, you typically will
<span class="emphasis"><em>not</em></span> need to compile <span class="command"><strong>named</strong></span>
statically nor install shared libraries under the new root.
<code class="filename">/dev/log</code>, and
<code class="filename">/etc/localtime</code>.
</p>
-</div>
-<div class="section">
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="setuid"></a>Using the <span class="command"><strong>setuid</strong></span> Function</h3></div></div></div>
-<p>
+
+ <p>
Prior to running the <span class="command"><strong>named</strong></span> daemon,
use
the <span class="command"><strong>touch</strong></span> utility (to change file
to which you want <acronym class="acronym">BIND</acronym>
to write.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
If the <span class="command"><strong>named</strong></span> daemon is running as an
ports if the server is reloaded.
</p>
</div>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dynamic_update_security"></a>Dynamic Update Security</h2></div></div></div>
-<p>
+
+ <p>
Access to the dynamic
update facility should be strictly limited. In earlier versions of
<acronym class="acronym">BIND</acronym>, the only way to do this was
forward it to the master with its own source IP address causing the
master to approve it without question.
</p>
-<p>
+
+ <p>
For these reasons, we strongly recommend that updates be
cryptographically authenticated by means of transaction signatures
(TSIG). That is, the <span class="command"><strong>allow-update</strong></span>
prefixes. Alternatively, the new <span class="command"><strong>update-policy</strong></span>
option can be used.
</p>
-<p>
+
+ <p>
Some sites choose to keep all dynamically-updated DNS data
in a subdomain and delegate that subdomain to a separate zone. This
way, the top-level zone containing critical data such as the IP
of public web and mail servers need not allow dynamic update at
all.
</p>
-</div>
-</div>
+
+ </div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter 8. Troubleshooting</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch07.html" title="Chapter 7. BIND 9 Security Considerations">
<dt><span class="section"><a href="Bv9ARM.ch08.html#more_help">Where Can I Get Help?</a></span></dt>
</dl>
</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="common_problems"></a>Common Problems</h2></div></div></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.9.2.2"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
-<p>
+
+ <p>
The best solution to solving installation and
configuration issues is to take preventative measures by setting
up logging files beforehand. The log files provide a
source of hints and information that can be used to figure out
what went wrong and how to fix the problem.
</p>
-</div>
-</div>
-<div class="section">
+
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id-1.9.3"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
-<p>
+
+ <p>
Zone serial numbers are just numbers — they aren't
date related. A lot of people set them to a number that
represents a date, usually of the form YYYYMMDDRR.
lower than the serial number on the master, the slave
server will attempt to update its copy of the zone.
</p>
-<p>
+
+ <p>
Setting the serial number to a lower number on the master
server than the slave server means that the slave will not perform
updates to its copy of the zone.
</p>
-<p>
+
+ <p>
The solution to this is to add 2147483647 (2^31-1) to the
number, reload the zone and make sure all slaves have updated to
the new zone serial number, then reset the number to what you want
it to be, and reload the zone again.
</p>
-</div>
-<div class="section">
+
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="more_help"></a>Where Can I Get Help?</h2></div></div></div>
-<p>
+
+ <p>
The Internet Systems Consortium
(<acronym class="acronym">ISC</acronym>) offers a wide range
of support and service agreements for <acronym class="acronym">BIND</acronym> and <acronym class="acronym">DHCP</acronym> servers. Four
fix announcements to remote support. It also includes training in
<acronym class="acronym">BIND</acronym> and <acronym class="acronym">DHCP</acronym>.
</p>
-<p>
+
+ <p>
To discuss arrangements for support, contact
<a class="link" href="mailto:info@isc.org" target="_top">info@isc.org</a> or visit the
<acronym class="acronym">ISC</acronym> web page at
<a class="link" href="http://www.isc.org/services/support/" target="_top">http://www.isc.org/services/support/</a>
to read more.
</p>
-</div>
-</div>
+ </div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
-<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.11.17</a></span></dt>
+<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.11.18</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_license">License Change</a></span></dt>
+<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.18">Notes for BIND 9.11.18</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.17">Notes for BIND 9.11.17</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.16">Notes for BIND 9.11.16</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.15">Notes for BIND 9.11.15</a></span></dt>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id-1.10.2"></a>Release Notes for BIND Version 9.11.17</h2></div></div></div>
+<a name="id-1.10.2"></a>Release Notes for BIND Version 9.11.18</h2></div></div></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
+<a name="relnotes-9.11.18"></a>Notes for BIND 9.11.18</h3></div></div></div>
+
+ <div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.18-security"></a>Security Fixes</h4></div></div></div>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <p>
+ DNS rebinding protection was ineffective when BIND 9 is configured as
+ a forwarding DNS server. Found and responsibly reported by Tobias
+ Klein. [GL #1574]
+ </p>
+ </li></ul></div>
+ </div>
+
+ <div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.18-known"></a>Known Issues</h4></div></div></div>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <p>
+ We have received reports that in some circumstances, receipt of an
+ IXFR can cause the processing of queries to slow significantly. Some
+ of these were related to RPZ processing, which has been fixed in this
+ release (see below). Others appear to occur where there are
+ NSEC3-related changes (such as an operator changing the NSEC3 salt
+ used in the hash calculation). These are being investigated.
+ [GL #1685]
+ </p>
+ </li></ul></div>
+ </div>
+
+</div>
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.17"></a>Notes for BIND 9.11.17</h3></div></div></div>
<div class="section">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Appendix B. A Brief History of the DNS and BIND</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch09.html" title="Appendix A. Release Notes">
<div class="titlepage"><div><div><h1 class="title">
<a name="Bv9ARM.ch10"></a>A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym>
</h1></div></div></div>
-<p><a name="historical_dns_information"></a>
+ <p><a name="historical_dns_information"></a>
Although the "official" beginning of the Domain Name
System occurred in 1984 with the publication of RFC 920, the
core of the new system was described in 1983 in RFCs 882 and
became the standards upon which all <acronym class="acronym">DNS</acronym> implementations are
built.
</p>
-<p>
+
+ <p>
The first working domain name server, called "Jeeves", was
written in 1983-84 by Paul Mockapetris for operation on DEC
Tops-20
Administration
(DARPA).
</p>
-<p>
+ <p>
Versions of <acronym class="acronym">BIND</acronym> through
4.8.3 were maintained by the Computer
Systems Research Group (CSRG) at UC Berkeley. Douglas Terry, Mark
Mike Muuss, Jim Bloom and Mike Schwartz. <acronym class="acronym">BIND</acronym> maintenance was subsequently
handled by Mike Karels and Øivind Kure.
</p>
-<p>
+ <p>
<acronym class="acronym">BIND</acronym> versions 4.9 and 4.9.1 were
released by Digital Equipment
Corporation (now Compaq Computer Corporation). Paul Vixie, then
Baran, Anant Kumar, Art Harkin, Win Treese, Don Lewis, Christophe
Wolfhugel, and others.
</p>
-<p>
+ <p>
In 1994, <acronym class="acronym">BIND</acronym> version 4.9.2 was sponsored by
Vixie Enterprises. Paul
Vixie became <acronym class="acronym">BIND</acronym>'s principal
architect/programmer.
</p>
-<p>
+ <p>
<acronym class="acronym">BIND</acronym> versions from 4.9.3 onward
have been developed and maintained
by the Internet Systems Consortium and its predecessor,
the Internet Software Consortium, with support being provided
by ISC's sponsors.
</p>
-<p>
+ <p>
As co-architects/programmers, Bob Halley and
Paul Vixie released the first production-ready version of
<acronym class="acronym">BIND</acronym> version 8 in May 1997.
</p>
-<p>
+ <p>
BIND version 9 was released in September 2000 and is a
major rewrite of nearly all aspects of the underlying
BIND architecture.
</p>
-<p>
+ <p>
BIND versions 4 and 8 are officially deprecated.
No additional development is done
on BIND version 4 or BIND version 8.
</p>
-<p>
+ <p>
<acronym class="acronym">BIND</acronym> development work is made
possible today by the sponsorship
of several corporations, and by the tireless work efforts of
numerous individuals.
</p>
-</div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Appendix C. General DNS Reference Information</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch10.html" title="Appendix B. A Brief History of the DNS and BIND">
</dl></dd>
</dl>
</div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="ipv6addresses"></a>IPv6 addresses (AAAA)</h2></div></div></div>
-<p>
+
+ <p>
IPv6 addresses are 128-bit identifiers for interfaces and
sets of interfaces which were introduced in the <acronym class="acronym">DNS</acronym> to facilitate
scalable Internet routing. There are three types of addresses: <span class="emphasis"><em>Unicast</em></span>,
Unicast address scheme. For more information, see RFC 3587,
"Global Unicast Address Format."
</p>
-<p>
+ <p>
IPv6 unicast addresses consist of a
<span class="emphasis"><em>global routing prefix</em></span>, a
<span class="emphasis"><em>subnet identifier</em></span>, and an
<span class="emphasis"><em>interface identifier</em></span>.
</p>
-<p>
+ <p>
The global routing prefix is provided by the
upstream provider or ISP, and (roughly) corresponds to the
IPv4 <span class="emphasis"><em>network</em></span> section
interface on a given network; in IPv6, addresses belong to
interfaces rather than to machines.
</p>
-<p>
+ <p>
The subnetting capability of IPv6 is much more flexible than
that of IPv4: subnetting can be carried out on bit boundaries,
in much the same way as Classless InterDomain Routing
(CIDR), and the DNS PTR representation ("nibble" format)
makes setting up reverse zones easier.
</p>
-<p>
+ <p>
The Interface Identifier must be unique on the local link,
and is usually generated automatically by the IPv6
implementation, although it is usually possible to
address might look like:
<span class="command"><strong>2001:db8:201:9:a00:20ff:fe81:2b32</strong></span>
</p>
-<p>
+ <p>
IPv6 address specifications often contain long strings
of zeros, so the architects have included a shorthand for
specifying
string
of zeros that can fit, and can be used only once in an address.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="bibliography"></a>Bibliography (and Suggested Reading)</h2></div></div></div>
-<div class="section">
+
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="rfcs"></a>Request for Comments (RFCs)</h3></div></div></div>
-<p>
+
+ <p>
Specification documents for the Internet protocol suite, including
the <acronym class="acronym">DNS</acronym>, are published as part of
the Request for Comments (RFCs)
by the Internet Engineering Task Force (IETF) and the Internet
Engineering Steering Group (IESG). RFCs can be obtained online via FTP at:
</p>
-<p>
+ <p>
<a class="link" href="ftp://www.isi.edu/in-notes/" target="_top">
ftp://www.isi.edu/in-notes/RFC<em class="replaceable"><code>xxxx</code></em>.txt
</a>
</p>
-<p>
+ <p>
(where <em class="replaceable"><code>xxxx</code></em> is
the number of the RFC). RFCs are also available via the Web at:
</p>
-<p>
+ <p>
<a class="link" href="http://www.ietf.org/rfc/" target="_top">http://www.ietf.org/rfc/</a>.
</p>
-<div class="bibliography">
+ <div class="bibliography">
<div class="titlepage"><div><div><h4 class="title"><a name="id-1.12.3.2.6"></a></h4></div></div></div>
-<div class="bibliodiv">
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.2"></a>Standards</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.2.2"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.2.3"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.2.4"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names — Implementation and
- Specification</i>. </span><span class="pubdate">November 1987. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.2.2"></a><p>[<abbr class="abbrev">RFC974</abbr>]
+
+ <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span>
+ <span class="title"><i>Mail Routing and the Domain System</i>. </span>
+ <span class="pubdate">January 1986. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.2.3"></a><p>[<abbr class="abbrev">RFC1034</abbr>]
+
+ <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span>
+ <span class="title"><i>Domain Names — Concepts and Facilities</i>. </span>
+ <span class="pubdate">November 1987. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.2.4"></a><p>[<abbr class="abbrev">RFC1035</abbr>]
+
+ <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span> <span class="title"><i>Domain Names — Implementation and
+ Specification</i>. </span>
+ <span class="pubdate">November 1987. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="proposed_standards"></a>Proposed Standards</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.2"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym>
- Specification</i>. </span><span class="pubdate">July 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.3"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym>
- Queries</i>. </span><span class="pubdate">March 1998. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.4"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.5"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.6"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.7"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.8"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.9"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.10"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.11"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.12"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.3.13"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret
+
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.2"></a><p>[<abbr class="abbrev">RFC2181</abbr>]
+
+ <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span>
+ <span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym>
+ Specification</i>. </span>
+ <span class="pubdate">July 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.3"></a><p>[<abbr class="abbrev">RFC2308</abbr>]
+
+ <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span>
+ <span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym>
+ Queries</i>. </span>
+ <span class="pubdate">March 1998. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.4"></a><p>[<abbr class="abbrev">RFC1995</abbr>]
+
+ <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span>
+ <span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span>
+ <span class="pubdate">August 1996. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.5"></a><p>[<abbr class="abbrev">RFC1996</abbr>]
+
+ <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span>
+ <span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span>
+ <span class="pubdate">August 1996. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.6"></a><p>[<abbr class="abbrev">RFC2136</abbr>]
+
+ <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span>
+ <span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span>
+ <span class="pubdate">April 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.7"></a><p>[<abbr class="abbrev">RFC2671</abbr>]
+
+ <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span>
+ <span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span>
+ <span class="pubdate">August 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.8"></a><p>[<abbr class="abbrev">RFC2672</abbr>]
+
+ <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span>
+ <span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span>
+ <span class="pubdate">August 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.9"></a><p>[<abbr class="abbrev">RFC2845</abbr>]
+
+ <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span>
+ <span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span>
+ <span class="pubdate">May 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.10"></a><p>[<abbr class="abbrev">RFC2930</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span>
+ <span class="pubdate">September 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.11"></a><p>[<abbr class="abbrev">RFC2931</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span>
+ <span class="pubdate">September 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.12"></a><p>[<abbr class="abbrev">RFC3007</abbr>]
+
+ <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span>
+ <span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span>
+ <span class="pubdate">November 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.3.13"></a><p>[<abbr class="abbrev">RFC3645</abbr>]
+
+ <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span>
+ <span class="title"><i>Generic Security Service Algorithm for Secret
Key Transaction Authentication for DNS
- (GSS-TSIG)</i>. </span><span class="pubdate">October 2003. </span></p>
-</div>
+ (GSS-TSIG)</i>. </span>
+ <span class="pubdate">October 2003. </span>
+ </p>
</div>
-<div class="bibliodiv">
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.4"></a><acronym class="acronym">DNS</acronym> Security Proposed Standards</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.4.2"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.4.3"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.4.4"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.4.5"></a><p>[<abbr class="abbrev">RFC4034</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.4.6"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS
- Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.4.2"></a><p>[<abbr class="abbrev">RFC3225</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span>
+ <span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span>
+ <span class="pubdate">December 2001. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.4.3"></a><p>[<abbr class="abbrev">RFC3833</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span>
+ <span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span>
+ <span class="pubdate">August 2004. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.4.4"></a><p>[<abbr class="abbrev">RFC4033</abbr>]
+
+ <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span>
+ <span class="title"><i>DNS Security Introduction and Requirements</i>. </span>
+ <span class="pubdate">March 2005. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.4.5"></a><p>[<abbr class="abbrev">RFC4034</abbr>]
+
+ <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span>
+ <span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span>
+ <span class="pubdate">March 2005. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.4.6"></a><p>[<abbr class="abbrev">RFC4035</abbr>]
+
+ <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span>
+ <span class="title"><i>Protocol Modifications for the DNS
+ Security Extensions</i>. </span>
+ <span class="pubdate">March 2005. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.5"></a>Other Important RFCs About <acronym class="acronym">DNS</acronym>
Implementation</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.5.2"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely
- Deployed <acronym class="acronym">DNS</acronym> Software</i>. </span><span class="pubdate">October 1993. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.5.3"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation
- Errors and Suggested Fixes</i>. </span><span class="pubdate">October 1993. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.5.4"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.5.5"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym>
- Queries for IPv6 Addresses</i>. </span><span class="pubdate">May 2005. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.5.2"></a><p>[<abbr class="abbrev">RFC1535</abbr>]
+
+ <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span>
+ <span class="title"><i>A Security Problem and Proposed Correction With Widely
+ Deployed <acronym class="acronym">DNS</acronym> Software</i>. </span>
+ <span class="pubdate">October 1993. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.5.3"></a><p>[<abbr class="abbrev">RFC1536</abbr>]
+
+ <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span>
+ <span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation
+ Errors and Suggested Fixes</i>. </span>
+ <span class="pubdate">October 1993. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.5.4"></a><p>[<abbr class="abbrev">RFC1982</abbr>]
+
+ <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span>
+ <span class="title"><i>Serial Number Arithmetic</i>. </span>
+ <span class="pubdate">August 1996. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.5.5"></a><p>[<abbr class="abbrev">RFC4074</abbr>]
+
+ <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span>
+ <span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym>
+ Queries for IPv6 Addresses</i>. </span>
+ <span class="pubdate">May 2005. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.6"></a>Resource Record Types</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.2"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.3"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.4"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using
- the Domain Name System</i>. </span><span class="pubdate">June 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.5"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.2"></a><p>[<abbr class="abbrev">RFC1183</abbr>]
+
+ <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span>
+ <span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span>
+ <span class="pubdate">October 1990. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.3"></a><p>[<abbr class="abbrev">RFC1706</abbr>]
+
+ <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span>
+ <span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span>
+ <span class="pubdate">October 1994. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.4"></a><p>[<abbr class="abbrev">RFC2168</abbr>]
+
+ <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span>
+ <span class="title"><i>Resolution of Uniform Resource Identifiers using
+ the Domain Name System</i>. </span>
+ <span class="pubdate">June 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.5"></a><p>[<abbr class="abbrev">RFC1876</abbr>]
+
+ <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span>
+ <span class="title"><i>A Means for Expressing Location Information in the
Domain
- Name System</i>. </span><span class="pubdate">January 1996. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.6"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the
+ Name System</i>. </span>
+ <span class="pubdate">January 1996. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.6"></a><p>[<abbr class="abbrev">RFC2052</abbr>]
+
+ <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span>
+ <span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the
Location of
- Services</i>. </span><span class="pubdate">October 1996. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.7"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to
+ Services</i>. </span>
+ <span class="pubdate">October 1996. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.7"></a><p>[<abbr class="abbrev">RFC2163</abbr>]
+
+ <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span>
+ <span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to
Distribute MIXER
- Conformant Global Address Mapping</i>. </span><span class="pubdate">January 1998. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.8"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.9"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.10"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.11"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.12"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.13"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.14"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.15"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.16"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.17"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.18"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP
- version 6</i>. </span><span class="pubdate">October 2003. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.6.19"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+ Conformant Global Address Mapping</i>. </span>
+ <span class="pubdate">January 1998. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.8"></a><p>[<abbr class="abbrev">RFC2230</abbr>]
+
+ <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span>
+ <span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span>
+ <span class="pubdate">October 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.9"></a><p>[<abbr class="abbrev">RFC2536</abbr>]
+
+ <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span>
+ <span class="pubdate">March 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.10"></a><p>[<abbr class="abbrev">RFC2537</abbr>]
+
+ <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span>
+ <span class="pubdate">March 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.11"></a><p>[<abbr class="abbrev">RFC2538</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span>
+ <span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span>
+ <span class="pubdate">March 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.12"></a><p>[<abbr class="abbrev">RFC2539</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span>
+ <span class="pubdate">March 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.13"></a><p>[<abbr class="abbrev">RFC2540</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span>
+ <span class="pubdate">March 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.14"></a><p>[<abbr class="abbrev">RFC2782</abbr>]
+
+ <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span>
+ <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span>
+ <span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span>
+ <span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span>
+ <span class="pubdate">February 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.15"></a><p>[<abbr class="abbrev">RFC2915</abbr>]
+
+ <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span>
+ <span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span>
+ <span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span>
+ <span class="pubdate">September 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.16"></a><p>[<abbr class="abbrev">RFC3110</abbr>]
+
+ <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span>
+ <span class="pubdate">May 2001. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.17"></a><p>[<abbr class="abbrev">RFC3123</abbr>]
+
+ <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span>
+ <span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span>
+ <span class="pubdate">June 2001. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.18"></a><p>[<abbr class="abbrev">RFC3596</abbr>]
+
+ <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span>
+ <span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP
+ version 6</i>. </span>
+ <span class="pubdate">October 2003. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.6.19"></a><p>[<abbr class="abbrev">RFC3597</abbr>]
+
+ <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span>
+ <span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span>
+ <span class="pubdate">September 2003. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.7"></a><acronym class="acronym">DNS</acronym> and the Internet</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.7.2"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names
- and Other Types</i>. </span><span class="pubdate">April 1989. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.7.3"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and
- Support</i>. </span><span class="pubdate">October 1989. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.7.4"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.7.5"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.7.6"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.7.7"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.7.2"></a><p>[<abbr class="abbrev">RFC1101</abbr>]
+
+ <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span>
+ <span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names
+ and Other Types</i>. </span>
+ <span class="pubdate">April 1989. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.7.3"></a><p>[<abbr class="abbrev">RFC1123</abbr>]
+
+ <span class="author"><span class="surname">Braden</span>. </span>
+ <span class="title"><i>Requirements for Internet Hosts - Application and
+ Support</i>. </span>
+ <span class="pubdate">October 1989. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.7.4"></a><p>[<abbr class="abbrev">RFC1591</abbr>]
+
+ <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span>
+ <span class="title"><i>Domain Name System Structure and Delegation</i>. </span>
+ <span class="pubdate">March 1994. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.7.5"></a><p>[<abbr class="abbrev">RFC2317</abbr>]
+
+ <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span>
+ <span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span>
+ <span class="pubdate">March 1998. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.7.6"></a><p>[<abbr class="abbrev">RFC2826</abbr>]
+
+ <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span>
+ <span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span>
+ <span class="pubdate">May 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.7.7"></a><p>[<abbr class="abbrev">RFC2929</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span>
+ <span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span>
+ <span class="pubdate">September 2000. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.8"></a><acronym class="acronym">DNS</acronym> Operations</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.8.2"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide</i>. </span><span class="pubdate">November 1987. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.8.3"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File
- Configuration Errors</i>. </span><span class="pubdate">October 1993. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.8.4"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and
- Configuration Errors</i>. </span><span class="pubdate">February 1996. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.8.5"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers</i>. </span><span class="pubdate">October 1996. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.8.6"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for
- Network Services</i>. </span><span class="pubdate">October 1997. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.8.2"></a><p>[<abbr class="abbrev">RFC1033</abbr>]
+
+ <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span>
+ <span class="title"><i>Domain administrators operations guide</i>. </span>
+ <span class="pubdate">November 1987. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.8.3"></a><p>[<abbr class="abbrev">RFC1537</abbr>]
+
+ <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span>
+ <span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File
+ Configuration Errors</i>. </span>
+ <span class="pubdate">October 1993. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.8.4"></a><p>[<abbr class="abbrev">RFC1912</abbr>]
+
+ <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span>
+ <span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and
+ Configuration Errors</i>. </span>
+ <span class="pubdate">February 1996. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.8.5"></a><p>[<abbr class="abbrev">RFC2010</abbr>]
+
+ <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span>
+ <span class="title"><i>Operational Criteria for Root Name Servers</i>. </span>
+ <span class="pubdate">October 1996. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.8.6"></a><p>[<abbr class="abbrev">RFC2219</abbr>]
+
+ <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span>
+ <span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for
+ Network Services</i>. </span>
+ <span class="pubdate">October 1997. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.9"></a>Internationalized Domain Names</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.9.2"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names,
- and the Other Internet protocols</i>. </span><span class="pubdate">May 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.9.3"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.9.4"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.9.5"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.9.2"></a><p>[<abbr class="abbrev">RFC2825</abbr>]
+
+ <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span>
+ <span class="title"><i>A Tangled Web: Issues of I18N, Domain Names,
+ and the Other Internet protocols</i>. </span>
+ <span class="pubdate">May 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.9.3"></a><p>[<abbr class="abbrev">RFC3490</abbr>]
+
+ <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span>
+ <span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span>
+ <span class="pubdate">March 2003. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.9.4"></a><p>[<abbr class="abbrev">RFC3491</abbr>]
+
+ <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span>
+ <span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span>
+ <span class="pubdate">March 2003. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.9.5"></a><p>[<abbr class="abbrev">RFC3492</abbr>]
+
+ <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span>
+ <span class="title"><i>Punycode: A Bootstring encoding of Unicode
for Internationalized Domain Names in
- Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
-</div>
+ Applications (IDNA)</i>. </span>
+ <span class="pubdate">March 2003. </span>
+ </p>
</div>
-<div class="bibliodiv">
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.10"></a>Other <acronym class="acronym">DNS</acronym>-related RFCs</h3>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Note: the following list of RFCs, although
<acronym class="acronym">DNS</acronym>-related, are not
concerned with implementing software.
</p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.3"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String
- Attributes</i>. </span><span class="pubdate">May 1993. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.4"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.5"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load
- Balancing</i>. </span><span class="pubdate">April 1995. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.6"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.7"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.8"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.9"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.10"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via
- Shared Unicast Addresses</i>. </span><span class="pubdate">April 2002. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.10.11"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+ </div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.3"></a><p>[<abbr class="abbrev">RFC1464</abbr>]
+
+ <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span>
+ <span class="title"><i>Using the Domain Name System To Store Arbitrary String
+ Attributes</i>. </span>
+ <span class="pubdate">May 1993. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.4"></a><p>[<abbr class="abbrev">RFC1713</abbr>]
+
+ <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span>
+ <span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span>
+ <span class="pubdate">November 1994. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.5"></a><p>[<abbr class="abbrev">RFC1794</abbr>]
+
+ <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span>
+ <span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load
+ Balancing</i>. </span>
+ <span class="pubdate">April 1995. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.6"></a><p>[<abbr class="abbrev">RFC2240</abbr>]
+
+ <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span>
+ <span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span>
+ <span class="pubdate">November 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.7"></a><p>[<abbr class="abbrev">RFC2345</abbr>]
+
+ <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span>
+ <span class="title"><i>Domain Names and Company Name Retrieval</i>. </span>
+ <span class="pubdate">May 1998. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.8"></a><p>[<abbr class="abbrev">RFC2352</abbr>]
+
+ <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span>
+ <span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span>
+ <span class="pubdate">May 1998. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.9"></a><p>[<abbr class="abbrev">RFC3071</abbr>]
+
+ <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span>
+ <span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span>
+ <span class="pubdate">February 2001. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.10"></a><p>[<abbr class="abbrev">RFC3258</abbr>]
+
+ <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span>
+ <span class="title"><i>Distributing Authoritative Name Servers via
+ Shared Unicast Addresses</i>. </span>
+ <span class="pubdate">April 2002. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.10.11"></a><p>[<abbr class="abbrev">RFC3901</abbr>]
+
+ <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span>
+ <span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span>
+ <span class="pubdate">September 2004. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.11"></a>Obsolete and Unimplemented Experimental RFC</h3>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.11.2"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical
- Location</i>. </span><span class="pubdate">November 1994. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.11.3"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.11.4"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation
- and Renumbering</i>. </span><span class="pubdate">July 2000. </span></p>
-</div>
-</div>
-<div class="bibliodiv">
+
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.11.2"></a><p>[<abbr class="abbrev">RFC1712</abbr>]
+
+ <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span>
+ <span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical
+ Location</i>. </span>
+ <span class="pubdate">November 1994. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.11.3"></a><p>[<abbr class="abbrev">RFC2673</abbr>]
+
+ <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span>
+ <span class="title"><i>Binary Labels in the Domain Name System</i>. </span>
+ <span class="pubdate">August 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.11.4"></a><p>[<abbr class="abbrev">RFC2874</abbr>]
+
+ <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span>
+ <span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation
+ and Renumbering</i>. </span>
+ <span class="pubdate">July 2000. </span>
+ </p>
+</div>
+ </div>
+ <div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.6.12"></a>Obsoleted DNS Security RFCs</h3>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
Most of these have been consolidated into RFC4033,
RFC4034 and RFC4035 which collectively describe DNSSECbis.
</p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.3"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.4"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.5"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.6"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC)
- Signing Authority</i>. </span><span class="pubdate">November 2000. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.7"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.8"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.9"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.10"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.11"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.12"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record
- (RR) Secure Entry Point (SEP) Flag</i>. </span><span class="pubdate">April 2004. </span></p>
-</div>
-<div class="biblioentry">
-<a name="id-1.12.3.2.6.12.13"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p>
-</div>
-</div>
-</div>
-</div>
-<div class="section">
+ </div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.3"></a><p>[<abbr class="abbrev">RFC2065</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span>
+ <span class="title"><i>Domain Name System Security Extensions</i>. </span>
+ <span class="pubdate">January 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.4"></a><p>[<abbr class="abbrev">RFC2137</abbr>]
+
+ <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span>
+ <span class="pubdate">April 1997. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.5"></a><p>[<abbr class="abbrev">RFC2535</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span>
+ <span class="title"><i>Domain Name System Security Extensions</i>. </span>
+ <span class="pubdate">March 1999. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.6"></a><p>[<abbr class="abbrev">RFC3008</abbr>]
+
+ <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span>
+ <span class="title"><i>Domain Name System Security (DNSSEC)
+ Signing Authority</i>. </span>
+ <span class="pubdate">November 2000. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.7"></a><p>[<abbr class="abbrev">RFC3090</abbr>]
+
+ <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span>
+ <span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span>
+ <span class="pubdate">March 2001. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.8"></a><p>[<abbr class="abbrev">RFC3445</abbr>]
+
+ <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span>
+ <span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span>
+ <span class="pubdate">December 2002. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.9"></a><p>[<abbr class="abbrev">RFC3655</abbr>]
+
+ <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span>
+ <span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span>
+ <span class="pubdate">November 2003. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.10"></a><p>[<abbr class="abbrev">RFC3658</abbr>]
+
+ <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span>
+ <span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span>
+ <span class="pubdate">December 2003. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.11"></a><p>[<abbr class="abbrev">RFC3755</abbr>]
+
+ <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span>
+ <span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span>
+ <span class="pubdate">May 2004. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.12"></a><p>[<abbr class="abbrev">RFC3757</abbr>]
+
+ <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span>
+ <span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record
+ (RR) Secure Entry Point (SEP) Flag</i>. </span>
+ <span class="pubdate">April 2004. </span>
+ </p>
+</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.2.6.12.13"></a><p>[<abbr class="abbrev">RFC3845</abbr>]
+
+ <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span>
+ <span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span>
+ <span class="pubdate">August 2004. </span>
+ </p>
+</div>
+ </div>
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="internet_drafts"></a>Internet Drafts</h3></div></div></div>
-<p>
+
+ <p>
Internet Drafts (IDs) are rough-draft working documents of
the Internet Engineering Task Force. They are, in essence, RFCs
in the preliminary stages of development. Implementors are
they are "works in progress." IDs have a lifespan of six months
after which they are deleted unless updated by their authors.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="more_about_bind"></a>Other Documents About <acronym class="acronym">BIND</acronym>
</h3></div></div></div>
-<p></p>
-<div class="bibliography">
+
+ <p></p>
+ <div class="bibliography">
<div class="titlepage"><div><div><h4 class="title"><a name="id-1.12.3.4.3"></a></h4></div></div></div>
-<div class="biblioentry">
-<a name="id-1.12.3.4.3.2"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p>
-</div>
-</div>
-</div>
-</div>
-</div>
+ <div class="biblioentry">
+<a name="id-1.12.3.4.3.2"></a><p>
+ <span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span>
+ <span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span>
+ <span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span>
+ </p>
+</div>
+ </div>
+ </div>
+ </div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Appendix D. BIND 9 DNS Library Support</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch11.html" title="Appendix C. General DNS Reference Information">
</dl></dd>
</dl>
</div>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="bind9.library"></a>BIND 9 DNS Library Support</h2></div></div></div>
-<p>
+
+ <p>
This version of BIND 9 "exports" its internal libraries so
that they can be used by third-party applications more easily (we
call them "export" libraries in this document). Certain library
the calling program initializes the libraries by calling
<span class="command"><strong>isc_lib_register()</strong></span>.
</p>
-<p>
+ <p>
In addition to DNS-related APIs that are used within BIND 9, the
libraries provide the following features:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <p>
The "DNS client" module. This is a higher level API that
provides an interface to name resolution, single DNS transaction
with a particular server, and dynamic update. Regarding name
resolution, it supports advanced features such as DNSSEC validation
and caching. This module supports both synchronous and asynchronous
mode.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
The "IRS" (Information Retrieval System) library. It provides an
interface to parse the traditional <code class="filename">resolv.conf</code>
file and more advanced, DNS-specific configuration file for the
rest of this package (see the description for the
<code class="filename">dns.conf</code> file below).
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
As part of the IRS library, the standard address-name
mapping functions, <span class="command"><strong>getaddrinfo()</strong></span> and
<span class="command"><strong>getnameinfo()</strong></span>, are provided. They use the
<span class="command"><strong>getaddrinfo()</strong></span> function resolves both A
and AAAA RRs concurrently when the address family is
unspecified.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
An experimental framework to support other event
libraries than BIND 9's internal event task system.
- </p></li>
+ </p>
+ </li>
</ul></div>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.13.2.5"></a>Installation</h3></div></div></div>
-<pre class="screen">
+
+ <pre class="screen">
$ <strong class="userinput"><code>make install</code></strong>
</pre>
-<p>
+ <p>
Normal installation of BIND will also install library object
and header files. Root privilege is normally required.
</p>
-<p>
+ <p>
To see how to build your own application after the installation, see
<code class="filename">lib/samples/Makefile-postinstall.in</code>.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.13.2.6"></a>Known Defects/Restrictions</h3></div></div></div>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
-<p>
+ <p>
The "fixed" RRset order is not (currently) supported in the export
library. If you want to use "fixed" RRset order for, e.g.
<span class="command"><strong>named</strong></span> while still building the export library
</pre>
<p>
</p>
-</li>
-<li class="listitem"><p>
+ </li>
+<li class="listitem">
+ <p>
RFC 5011 is not supported in the validating stub resolver of the
export library. In fact, it is not clear whether it should: trust
anchors would be a system-wide configuration which would be managed
by an administrator, while the stub resolver will be used by
ordinary applications run by a normal user.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
Not all common <code class="filename">/etc/resolv.conf</code> options are
supported in the IRS library. The only available options in this
version are <span class="command"><strong>debug</strong></span> and <span class="command"><strong>ndots</strong></span>.
- </p></li>
+ </p>
+ </li>
</ul></div>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.13.2.7"></a>The dns.conf File</h3></div></div></div>
-<p>
+
+ <p>
The IRS library supports an "advanced" configuration file related to
the DNS library for configuration parameters that would be beyond the
capability of the <code class="filename">resolv.conf</code> file.
statement in <code class="filename">named.conf</code>. (See
<a class="xref" href="Bv9ARM.ch06.html#trusted-keys" title="trusted-keys Statement Grammar">the section called “<span class="command"><strong>trusted-keys</strong></span> Statement Grammar”</a> for details.)
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.13.2.8"></a>Sample Applications</h3></div></div></div>
-<p>
+
+ <p>
Some sample application programs using this API are provided for
reference. The following is a brief description of these
applications.
</p>
-<div class="section">
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.13.2.8.3"></a>sample: a simple stub resolver utility</h4></div></div></div>
-<p>
+
+ <p>
Sends a query of a given name (of a given optional RR type) to a
specified recursive server and prints the result as a list of RRs.
It can also act as a validating stub resolver if a trust anchor is
given via a set of command line options.
</p>
-<p>
+ <p>
Usage: sample [options] server_address hostname
</p>
-<p>
+ <p>
Options and Arguments:
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-t RRtype</span></dt>
-<dd><p>
+<dd>
+ <p>
specify the RR type of the query. The default is the A RR.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">[-a algorithm] [-e] -k keyname -K keystring</span></dt>
<dd>
-<p>
+ <p>
specify a command-line DNS key to validate the answer. For
example, to specify the following DNSKEY of example.com:
</p>
as "secure entry point").
When -a is omitted rsasha1 will be used by default.
</p>
-</dd>
+ </dd>
<dt><span class="term">-s domain:alt_server_address</span></dt>
-<dd><p>
+<dd>
+ <p>
specify a separate recursive server address for the specific
"domain". Example: -s example.com:2001:db8::1234
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">server_address</span></dt>
-<dd><p>
+<dd>
+ <p>
an IP(v4/v6) address of the recursive server to which queries
are sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">hostname</span></dt>
-<dd><p>
+<dd>
+ <p>
the domain name for the query
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.13.2.8.4"></a>sample-async: a simple stub resolver, working asynchronously</h4></div></div></div>
-<p>
+
+ <p>
Similar to "sample", but accepts a list
of (query) domain names as a separate file and resolves the names
asynchronously.</p>
-<p>
+ <p>
Usage: sample-async [-s server_address] [-t RR_type] input_file</p>
-<p>
+ <p>
Options and Arguments:
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-s server_address</span></dt>
<dd>
an IPv4 address of the recursive server to which queries are sent.
mx.example.net<br>
ns.xxx.example<br>
</p></div>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.13.2.8.5"></a>sample-request: a simple DNS transaction client</h4></div></div></div>
-<p>
+
+ <p>
Sends a query to a specified server, and prints the response with
minimal processing. It doesn't act as a "stub resolver": it stops
the processing once it gets any response from the server, whether
further queries to get the ultimate answer. In other words, this
utility acts as a very simplified <span class="command"><strong>dig</strong></span>.
</p>
-<p>
+ <p>
Usage: sample-request [-t RRtype] server_address hostname
</p>
-<p>
+ <p>
Options and Arguments:
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-t RRtype</span></dt>
-<dd><p>
+<dd>
+ <p>
specify the RR type of the queries. The default is the A RR.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">server_address</span></dt>
-<dd><p>
+<dd>
+ <p>
an IP(v4/v6) address of the recursive server to which
the query is sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">hostname</span></dt>
-<dd><p>
+<dd>
+ <p>
the domain name for the query
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.13.2.8.6"></a>sample-gai: getaddrinfo() and getnameinfo() test code</h4></div></div></div>
-<p>
+
+ <p>
This is a test program to check <span class="command"><strong>getaddrinfo()</strong></span> and
<span class="command"><strong>getnameinfo()</strong></span> behavior. It takes a host name as an
argument, calls <span class="command"><strong>getaddrinfo()</strong></span> with the given host
will fail with an EAI_INSECUREDATA error when DNSSEC validation
fails.
</p>
-<p>
+ <p>
Usage: sample-gai hostname
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.13.2.8.7"></a>sample-update: a simple dynamic update client program</h4></div></div></div>
-<p>
+
+ <p>
Accepts a single update command as a command-line argument, sends
an update request message to the authoritative server, and shows
the response from the server. In other words, this is a simplified
<span class="command"><strong>nsupdate</strong></span>.
</p>
-<p>
+ <p>
Usage: sample-update [options] (add|delete) "update data"
</p>
-<p>
+ <p>
Options and Arguments:
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-a auth_server</span></dt>
-<dd><p>
+<dd>
+ <p>
An IP address of the authoritative server that has authority
for the zone containing the update name. This should
normally be the primary authoritative server that accepts
dynamic updates. It can also be a secondary server that is
configured to forward update requests to the primary server.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k keyfile</span></dt>
-<dd><p>
+<dd>
+ <p>
A TSIG key file to secure the update transaction. The
keyfile format is the same as that for the nsupdate utility.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p prerequisite</span></dt>
-<dd><p>
+<dd>
+ <p>
A prerequisite for the update (only one prerequisite can be
specified). The prerequisite format is the same as that is
accepted by the nsupdate utility.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r recursive_server</span></dt>
-<dd><p>
+<dd>
+ <p>
An IP address of a recursive server that this utility will
use. A recursive server may be necessary to identify the
authoritative server address to which the update request is
sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-z zonename</span></dt>
-<dd><p>
+<dd>
+ <p>
The domain name of the zone that contains
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">(add|delete)</span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the type of update operation. Either "add" or
"delete" must be specified.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">"update data"</span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the data to be updated. A typical example of the
data would look like "name TTL RRtype RDATA".
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
In practice, either -a or -r must be specified. Others can be
optional; the underlying library routine tries to identify the
appropriate server and the zone name for the update.
</p>
-</div>
-<p>
+ </div>
+ <p>
Examples: assuming the primary authoritative server of the
dynamic.example.com zone has an IPv6 address 2001:db8::1234,
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mmmm.key add "foo.dynamic.example.com 30 IN A 192.168.2.1"</code></strong></pre>
-<p>
+ <p>
adds an A RR for foo.dynamic.example.com using the given key.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mmmm.key delete "foo.dynamic.example.com 30 IN A"</code></strong></pre>
-<p>
+ <p>
removes all A RRs for foo.dynamic.example.com using the given key.
</p>
-<pre class="screen">
+ <pre class="screen">
$ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mmmm.key delete "foo.dynamic.example.com"</code></strong></pre>
-<p>
+ <p>
removes all RRs for foo.dynamic.example.com using the given key.
</p>
-</div>
-<div class="section">
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="id-1.13.2.8.8"></a>nsprobe: domain/name server checker in terms of RFC 4074</h4></div></div></div>
-<p>
+
+ <p>
Checks a set of domains to see the name servers of the domains
behave correctly in terms of RFC 4074. This is included in the set
of sample programs to show how the export library can be used in a
DNS-related application.
</p>
-<p>
+ <p>
Usage: nsprobe [-d] [-v [-v...]] [-c cache_address] [input_file]
</p>
-<p>
+ <p>
Options
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-d</span></dt>
-<dd><p>
+<dd>
+ <p>
Run in "debug" mode. With this option nsprobe will dump
every RRs it receives.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Increase verbosity of other normal log messages. This can be
specified multiple times.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c cache_address</span></dt>
-<dd><p>
+<dd>
+ <p>
Specify an IP address of a recursive (caching) name server.
nsprobe uses this server to get the NS RRset of each domain
and the A and/or AAAA RRsets for the name servers. The
default value is 127.0.0.1.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">input_file</span></dt>
-<dd><p>
+<dd>
+ <p>
A file name containing a list of domain (zone) names to be
probed. when omitted the standard input will be used. Each
line of the input file specifies a single domain name such as
for the given domain name, and sends A and AAAA queries to
these servers for some "widely used" names under the zone;
specifically, adding "www" and "ftp" to the zone name.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-</div>
-<div class="section">
+ </div>
+ </div>
+ <div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.13.2.9"></a>Library References</h3></div></div></div>
-<p>
+
+ <p>
As of this writing, there is no formal "manual" for the libraries,
except this document, header files (some of which provide pretty
detailed explanations), and sample application programs.
</p>
+ </div>
</div>
-</div>
-</div>
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Manual pages</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="prev" href="Bv9ARM.ch12.html" title="Appendix D. BIND 9 DNS Library Support">
</dt>
</dl>
</div>
-</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>BIND 9 Administrator Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="next" href="Bv9ARM.ch01.html" title="Chapter 1. Introduction">
</head>
<div>
<div><h1 class="title">
<a name="id-1"></a>BIND 9 Administrator Reference Manual</h1></div>
-<div><p class="releaseinfo">BIND Version 9.11.17</p></div>
+<div><p class="releaseinfo">BIND Version 9.11.18</p></div>
<div><p class="copyright">Copyright © 2000-2020 Internet Systems Consortium, Inc. ("ISC")</p></div>
</div>
<hr>
</dl></dd>
<dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Release Notes</a></span></dt>
<dd><dl>
-<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.11.17</a></span></dt>
+<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.11.18</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_license">License Change</a></span></dt>
+<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.18">Notes for BIND 9.11.18</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.17">Notes for BIND 9.11.17</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.16">Notes for BIND 9.11.16</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.15">Notes for BIND 9.11.15</a></span></dt>
</dl></dd>
</dl>
</div>
-</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ </div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>arpaname</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.ddns-confgen.html" title="ddns-confgen">
</div>
<div class="refentry">
<a name="man.arpaname"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">arpaname</span> — translate IP addresses to the corresponding ARPA names</p>
+<p>
+ <span class="application">arpaname</span>
+ — translate IP addresses to the corresponding ARPA names
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">arpaname</code> {<em class="replaceable"><code>ipaddress </code></em>...}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">arpaname</code>
+ {<em class="replaceable"><code>ipaddress </code></em>...}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.31.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>arpaname</strong></span> translates IP addresses (IPv4 and
IPv6) to the corresponding IN-ADDR.ARPA or IP6.ARPA names.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.31.8"></a><h2>SEE ALSO</h2>
-<p>
+
+ <p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>ddns-confgen</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.rndc-confgen.html" title="rndc-confgen">
</div>
<div class="refentry">
<a name="man.ddns-confgen"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">ddns-confgen</span> — ddns key generation tool</p>
+<p>
+ <span class="application">ddns-confgen</span>
+ — ddns key generation tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">tsig-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-h</code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [name]</p></div>
-<div class="cmdsynopsis"><p><code class="command">ddns-confgen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-q</code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [ -s <em class="replaceable"><code>name</code></em> | -z <em class="replaceable"><code>zone</code></em> ]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">tsig-keygen</code>
+ [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>]
+ [name]
+ </p></div>
+ <div class="cmdsynopsis"><p>
+ <code class="command">ddns-confgen</code>
+ [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>]
+ [<code class="option">-q</code>]
+ [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>]
+ [
+ -s <em class="replaceable"><code>name</code></em>
+ | -z <em class="replaceable"><code>zone</code></em>
+ ]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.30.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>tsig-keygen</strong></span> and <span class="command"><strong>ddns-confgen</strong></span>
are invocation methods for a utility that generates keys for use
in TSIG signing. The resulting keys can be used, for example,
to secure dynamic DNS updates to a zone or for the
<span class="command"><strong>rndc</strong></span> command channel.
</p>
-<p>
+
+ <p>
When run as <span class="command"><strong>tsig-keygen</strong></span>, a domain name
can be specified on the command line which will be used as
the name of the generated key. If no name is specified,
the default is <code class="constant">tsig-key</code>.
</p>
-<p>
+
+ <p>
When run as <span class="command"><strong>ddns-confgen</strong></span>, the generated
key is accompanied by configuration text and instructions
that can be used with <span class="command"><strong>nsupdate</strong></span> and
<span class="command"><strong>rndc-confgen</strong></span> command for setting
up command channel security.)
</p>
-<p>
+
+ <p>
Note that <span class="command"><strong>named</strong></span> itself can configure a
local DDNS key for use with <span class="command"><strong>nsupdate -l</strong></span>:
it does this when a zone is configured with
if <span class="command"><strong>nsupdate</strong></span> is to be used from a remote
system.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.30.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the algorithm to use for the TSIG key. Available
choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256,
hmac-sha384 and hmac-sha512. The default is hmac-sha256.
Options are case-insensitive, and the "hmac-" prefix
may be omitted.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints a short summary of options and arguments.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k <em class="replaceable"><code>keyname</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the key name of the DDNS authentication key.
The default is <code class="constant">ddns-key</code> when neither
the <code class="option">-s</code> nor <code class="option">-z</code> option is
<code class="constant">ddns-key.example.com.</code>
The key name must have the format of a valid domain name,
consisting of letters, digits, hyphens and periods.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q</span></dt>
-<dd><p>
+<dd>
+ <p>
(<span class="command"><strong>ddns-confgen</strong></span> only.) Quiet mode: Print
only the key, with no explanatory text or usage examples;
This is essentially identical to <span class="command"><strong>tsig-keygen</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>randomfile</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a source of random data for generating the
authorization. If the operating system does not provide a
<code class="filename">/dev/random</code> or equivalent device, the
instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard input
should be used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>name</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
(<span class="command"><strong>ddns-confgen</strong></span> only.)
Generate configuration example to allow dynamic updates
of a single hostname. The example <span class="command"><strong>named.conf</strong></span>
Note that the "self" nametype cannot be used, since
the name to be updated may differ from the key name.
This option cannot be used with the <code class="option">-z</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-z <em class="replaceable"><code>zone</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
(<span class="command"><strong>ddns-confgen</strong></span> only.)
Generate configuration example to allow dynamic updates
of a zone: The example <span class="command"><strong>named.conf</strong></span> text
all subdomain names within that
<em class="replaceable"><code>zone</code></em>.
This option cannot be used with the <code class="option">-s</code> option.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.30.9"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">nsupdate</span>(1)</span>,
- <span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">nsupdate</span>(1)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named.conf</span>(5)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>delv</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.host.html" title="host">
</div>
<div class="refentry">
<a name="man.delv"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p>delv — DNS lookup and validation utility</p>
+<p>
+ delv
+ — DNS lookup and validation utility
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">delv</code> [@server] [[<code class="option">-4</code>] | [<code class="option">-6</code>]] [<code class="option">-a <em class="replaceable"><code>anchor-file</code></em></code>] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>level</code></em></code>] [<code class="option">-i</code>] [<code class="option">-m</code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [name] [type] [class] [queryopt...]</p></div>
-<div class="cmdsynopsis"><p><code class="command">delv</code> [<code class="option">-h</code>]</p></div>
-<div class="cmdsynopsis"><p><code class="command">delv</code> [<code class="option">-v</code>]</p></div>
-<div class="cmdsynopsis"><p><code class="command">delv</code> [queryopt...] [query...]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">delv</code>
+ [@server]
+ [
+ [<code class="option">-4</code>]
+ | [<code class="option">-6</code>]
+ ]
+ [<code class="option">-a <em class="replaceable"><code>anchor-file</code></em></code>]
+ [<code class="option">-b <em class="replaceable"><code>address</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-d <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-i</code>]
+ [<code class="option">-m</code>]
+ [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>]
+ [<code class="option">-q <em class="replaceable"><code>name</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
+ [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>]
+ [name]
+ [type]
+ [class]
+ [queryopt...]
+ </p></div>
+
+ <div class="cmdsynopsis"><p>
+ <code class="command">delv</code>
+ [<code class="option">-h</code>]
+ </p></div>
+
+ <div class="cmdsynopsis"><p>
+ <code class="command">delv</code>
+ [<code class="option">-v</code>]
+ </p></div>
+
+ <div class="cmdsynopsis"><p>
+ <code class="command">delv</code>
+ [queryopt...]
+ [query...]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.5.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>delv</strong></span>
+
+ <p><span class="command"><strong>delv</strong></span>
is a tool for sending
DNS queries and validating the results, using the same internal
resolver and validator logic as <span class="command"><strong>named</strong></span>.
</p>
-<p>
+ <p>
<span class="command"><strong>delv</strong></span> will send to a specified name server all
queries needed to fetch and validate the requested data; this
includes the original requested query, subsequent queries to follow
behavior of a name server configured for DNSSEC validating and
forwarding.
</p>
-<p>
+ <p>
By default, responses are validated using built-in DNSSEC trust
anchor for the root zone ("."). Records returned by
<span class="command"><strong>delv</strong></span> are either fully validated or
be used to check the validity of DNS responses in environments
where local name servers may not be trustworthy.
</p>
-<p>
+ <p>
Unless it is told to query a specific name server,
<span class="command"><strong>delv</strong></span> will try each of the servers listed in
<code class="filename">/etc/resolv.conf</code>. If no usable server
queries to the localhost addresses (127.0.0.1 for IPv4, ::1
for IPv6).
</p>
-<p>
+ <p>
When no command line arguments or options are given,
<span class="command"><strong>delv</strong></span> will perform an NS query for "."
(the root zone).
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.5.8"></a><h2>SIMPLE USAGE</h2>
-<p>
+
+
+ <p>
A typical invocation of <span class="command"><strong>delv</strong></span> looks like:
</p>
<pre class="programlisting"> delv @server name type </pre>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">server</code></span></dt>
<dd>
-<p>
+ <p>
is the name or IP address of the name server to query. This
can be an IPv4 address in dotted-decimal notation or an IPv6
address in colon-delimited notation. When the supplied
initial lookup is <span class="emphasis"><em>not</em></span> validated
by DNSSEC).
</p>
-<p>
+ <p>
If no <em class="parameter"><code>server</code></em> argument is
provided, <span class="command"><strong>delv</strong></span> consults
<code class="filename">/etc/resolv.conf</code>; if an
the localhost addresses (127.0.0.1 for IPv4,
::1 for IPv6).
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant">name</code></span></dt>
-<dd><p>
+<dd>
+ <p>
is the domain name to be looked up.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">type</code></span></dt>
-<dd><p>
+<dd>
+ <p>
indicates what type of query is required —
ANY, A, MX, etc.
<em class="parameter"><code>type</code></em> can be any valid query
<em class="parameter"><code>type</code></em> argument is supplied,
<span class="command"><strong>delv</strong></span> will perform a lookup for an
A record.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.5.9"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-a <em class="replaceable"><code>anchor-file</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies a file from which to read DNSSEC trust anchors.
The default is <code class="filename">/etc/bind.keys</code>, which
is included with <acronym class="acronym">BIND</acronym> 9 and contains
one or more trust anchors for the root zone (".").
</p>
-<p>
+ <p>
Keys that do not match the root zone name are ignored.
An alternate key name can be specified using the
<code class="option">+root=NAME</code> options. DNSSEC Lookaside
<code class="option">+dlv=NAME</code> to specify the name of a
zone containing DLV records.
</p>
-<p>
+ <p>
Note: When reading the trust anchor file,
<span class="command"><strong>delv</strong></span> treats <code class="option">managed-keys</code>
statements and <code class="option">trusted-keys</code> statements
<code class="filename">/etc/bind.keys</code> to use DNSSEC
validation in <span class="command"><strong>delv</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term">-b <em class="replaceable"><code>address</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the source IP address of the query to
<em class="parameter"><code>address</code></em>. This must be a valid address
on one of the host's network interfaces or "0.0.0.0" or "::".
An optional source port may be specified by appending
"#<port>"
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the query class for the requested data. Currently,
only class "IN" is supported in <span class="command"><strong>delv</strong></span>
and any other value is ignored.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-d <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the systemwide debug level to <code class="option">level</code>.
The allowed range is from 0 to 99.
The default is 0 (no debugging).
See the <code class="option">+mtrace</code>, <code class="option">+rtrace</code>,
and <code class="option">+vtrace</code> options below for additional
debugging details.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Display the <span class="command"><strong>delv</strong></span> help usage output and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i</span></dt>
-<dd><p>
+<dd>
+ <p>
Insecure mode. This disables internal DNSSEC validation.
(Note, however, this does not set the CD bit on upstream
queries. If the server being queried is performing DNSSEC
can cause <span class="command"><strong>delv</strong></span> to time out. When it
is necessary to examine invalid data to debug a DNSSEC
problem, use <span class="command"><strong>dig +cd</strong></span>.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m</span></dt>
-<dd><p>
+<dd>
+ <p>
Enables memory usage debugging.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>port#</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a destination port to use for queries instead of
the standard DNS port number 53. This option would be used
with a name server that has been configured to listen
for queries on a non-standard port number.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q <em class="replaceable"><code>name</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the query name to <em class="parameter"><code>name</code></em>.
While the query name can be specified without using the
<code class="option">-q</code>, it is sometimes necessary to disambiguate
names from types or classes (for example, when looking up the
name "ns", which could be misinterpreted as the type NS,
or "ch", which could be misinterpreted as class CH).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
<dd>
-<p>
+ <p>
Sets the query type to <em class="parameter"><code>type</code></em>, which
can be any valid query type supported in BIND 9 except
for zone transfer types AXFR and IXFR. As with
query name type or class when they are ambiguous.
it is sometimes necessary to disambiguate names from types.
</p>
-<p>
+ <p>
The default query type is "A", unless the <code class="option">-x</code>
option is supplied to indicate a reverse lookup, in which case
it is "PTR".
</p>
-</dd>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the <span class="command"><strong>delv</strong></span> version and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-x <em class="replaceable"><code>addr</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Performs a reverse lookup, mapping an addresses to
a name. <em class="parameter"><code>addr</code></em> is an IPv4 address in
dotted-decimal notation, or a colon-delimited IPv6 address.
lookup for a name like <code class="literal">11.12.13.10.in-addr.arpa</code>
and sets the query type to PTR. IPv6 addresses are looked up
using nibble format under the IP6.ARPA domain.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-4</span></dt>
-<dd><p>
+<dd>
+ <p>
Forces <span class="command"><strong>delv</strong></span> to only use IPv4.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-6</span></dt>
-<dd><p>
+<dd>
+ <p>
Forces <span class="command"><strong>delv</strong></span> to only use IPv6.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.5.10"></a><h2>QUERY OPTIONS</h2>
-<p><span class="command"><strong>delv</strong></span>
+
+
+ <p><span class="command"><strong>delv</strong></span>
provides a number of query options which affect the way results are
displayed, and in some cases the way lookups are performed.
</p>
-<p>
+
+ <p>
Each query option is identified by a keyword preceded by a plus sign
(<code class="literal">+</code>). Some keywords set or reset an
option. These may be preceded by the string
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Controls whether to set the CD (checking disabled) bit in
queries sent by <span class="command"><strong>delv</strong></span>. This may be useful
when troubleshooting DNSSEC problems from behind a validating
the CD flag on queries will cause the resolver to return
invalid responses, which <span class="command"><strong>delv</strong></span> can then
validate internally and report the errors in detail.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]class</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Controls whether to display the CLASS when printing
a record. The default is to display the CLASS.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ttl</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Controls whether to display the TTL when printing
a record. The default is to display the TTL.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]rtrace</code></span></dt>
<dd>
-<p>
+ <p>
Toggle resolver fetch logging. This reports the
name and type of each query sent by <span class="command"><strong>delv</strong></span>
in the process of carrying out the resolution and validation
all subsequent queries to follow CNAMEs and to establish a
chain of trust for DNSSEC validation.
</p>
-<p>
+ <p>
This is equivalent to setting the debug level to 1 in
the "resolver" logging category. Setting the systemwide
debug level to 1 using the <code class="option">-d</code> option will
product the same output (but will affect other logging
categories as well).
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]mtrace</code></span></dt>
<dd>
-<p>
+ <p>
Toggle message logging. This produces a detailed dump of
the responses received by <span class="command"><strong>delv</strong></span> in the
process of carrying out the resolution and validation process.
</p>
-<p>
+ <p>
This is equivalent to setting the debug level to 10
for the "packets" module of the "resolver" logging
category. Setting the systemwide debug level to 10 using
the <code class="option">-d</code> option will produce the same output
(but will affect other logging categories as well).
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]vtrace</code></span></dt>
<dd>
-<p>
+ <p>
Toggle validation logging. This shows the internal
process of the validator as it determines whether an
answer is validly signed, unsigned, or invalid.
</p>
-<p>
+ <p>
This is equivalent to setting the debug level to 3
for the "validator" module of the "dnssec" logging
category. Setting the systemwide debug level to 3 using
the <code class="option">-d</code> option will produce the same output
(but will affect other logging categories as well).
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]short</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Provide a terse answer. The default is to print the answer in a
verbose form.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]comments</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of comment lines in the output. The default
is to print comments.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]rrcomments</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of per-record comments in the output (for
example, human-readable key information about DNSKEY records).
The default is to print per-record comments.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]crypto</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of cryptographic fields in DNSSEC records.
The contents of these field are unnecessary to debug most DNSSEC
validation failures and removing them makes it easier to see
When omitted they are replaced by the string "[omitted]" or
in the DNSKEY case the key id is displayed as the replacement,
e.g. "[ key id = value ]".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]trust</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Controls whether to display the trust level when printing
a record. The default is to display the trust level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]split[=W]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Split long hex- or base64-formatted fields in resource
records into chunks of <em class="parameter"><code>W</code></em> characters
(where <em class="parameter"><code>W</code></em> is rounded up to the nearest
<em class="parameter"><code>+split=0</code></em> causes fields not to be
split at all. The default is 56 characters, or 44 characters
when multiline mode is active.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]all</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set or clear the display options
<code class="option">+[no]comments</code>,
<code class="option">+[no]rrcomments</code>, and
<code class="option">+[no]trust</code> as a group.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]multiline</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print long records (such as RRSIG, DNSKEY, and SOA records)
in a verbose multi-line format with human-readable comments.
The default is to print each record on a single line, to
facilitate machine parsing of the <span class="command"><strong>delv</strong></span>
output.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]dnssec</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Indicates whether to display RRSIG records in the
<span class="command"><strong>delv</strong></span> output. The default is to
do so. Note that (unlike in <span class="command"><strong>dig</strong></span>)
will always occur unless suppressed by the use of
<code class="option">-i</code> or <code class="option">+noroot</code> and
<code class="option">+nodlv</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]root[=ROOT]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Indicates whether to perform conventional (non-lookaside)
DNSSEC validation, and if so, specifies the
name of a trust anchor. The default is to validate using
a built-in key. If specifying a different trust anchor,
then <code class="option">-a</code> must be used to specify a file
containing the key.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]dlv[=DLV]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Indicates whether to perform DNSSEC lookaside validation,
and if so, specifies the name of the DLV trust anchor.
The <code class="option">-a</code> option must also be used to specify
a file containing the DLV key.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Controls whether to use TCP when sending queries.
The default is to use UDP unless a truncated
response has been received.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]unknownformat</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print all RDATA in unknown RR type presentation format
(RFC 3597). The default is to print RDATA for known types
in the type's presentation format.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.5.11"></a><h2>FILES</h2>
-<p><code class="filename">/etc/bind.keys</code></p>
-<p><code class="filename">/etc/resolv.conf</code></p>
-</div>
-<div class="refsection">
+
+ <p><code class="filename">/etc/bind.keys</code></p>
+ <p><code class="filename">/etc/resolv.conf</code></p>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.5.12"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dig</span>(1)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
<em class="citetitle">RFC4034</em>,
<em class="citetitle">RFC4035</em>,
<em class="citetitle">RFC4431</em>,
<em class="citetitle">RFC5074</em>,
<em class="citetitle">RFC5155</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dig</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="Bv9ARM.ch13.html" title="Manual pages">
</div>
<div class="refentry">
<a name="man.dig"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p>dig — DNS lookup utility</p>
+<p>
+ dig
+ — DNS lookup utility
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-m</code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [[<code class="option">-4</code>] | [<code class="option">-6</code>]] [name] [type] [class] [queryopt...]</p></div>
-<div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
-<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dig</code>
+ [@server]
+ [<code class="option">-b <em class="replaceable"><code>address</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>]
+ [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>]
+ [<code class="option">-m</code>]
+ [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>]
+ [<code class="option">-q <em class="replaceable"><code>name</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
+ [<code class="option">-v</code>]
+ [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>]
+ [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>]
+ [
+ [<code class="option">-4</code>]
+ | [<code class="option">-6</code>]
+ ]
+ [name]
+ [type]
+ [class]
+ [queryopt...]
+ </p></div>
+
+ <div class="cmdsynopsis"><p>
+ <code class="command">dig</code>
+ [<code class="option">-h</code>]
+ </p></div>
+
+ <div class="cmdsynopsis"><p>
+ <code class="command">dig</code>
+ [global-queryopt...]
+ [query...]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dig</strong></span> is a flexible tool
+
+ <p><span class="command"><strong>dig</strong></span> is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
displays the answers that are returned from the name server(s) that
were queried. Most DNS administrators use <span class="command"><strong>dig</strong></span> to
clarity of output. Other lookup tools tend to have less functionality
than <span class="command"><strong>dig</strong></span>.
</p>
-<p>
+
+ <p>
Although <span class="command"><strong>dig</strong></span> is normally used with
command-line
arguments, it also has a batch mode of operation for reading lookup
from the
command line.
</p>
-<p>
+
+ <p>
Unless it is told to query a specific name server,
<span class="command"><strong>dig</strong></span> will try each of the servers listed in
<code class="filename">/etc/resolv.conf</code>. If no usable server addresses
are found, <span class="command"><strong>dig</strong></span> will send the query to the local
host.
</p>
-<p>
+
+ <p>
When no command line arguments or options are given,
<span class="command"><strong>dig</strong></span> will perform an NS query for "." (the root).
</p>
-<p>
+
+ <p>
It is possible to set per-user defaults for <span class="command"><strong>dig</strong></span> via
<code class="filename">${HOME}/.digrc</code>. This file is read and any
options in it are applied before the command line arguments.
The <code class="option">-r</code> option disables this feature, for
scripts that need predictable behaviour.
</p>
-<p>
+
+ <p>
The IN and CH class names overlap with the IN and CH top level
domain names. Either use the <code class="option">-t</code> and
<code class="option">-c</code> options to specify the type and class,
use the <code class="option">-q</code> the specify the domain name, or
use "IN." and "CH." when looking up these top level domains.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.8"></a><h2>SIMPLE USAGE</h2>
-<p>
+
+
+ <p>
A typical invocation of <span class="command"><strong>dig</strong></span> looks like:
</p>
<pre class="programlisting"> dig @server name type </pre>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">server</code></span></dt>
<dd>
-<p>
+ <p>
is the name or IP address of the name server to query. This
can be an IPv4 address in dotted-decimal notation or an IPv6
address in colon-delimited notation. When the supplied
<span class="command"><strong>dig</strong></span> resolves that name before querying
that name server.
</p>
-<p>
+ <p>
If no <em class="parameter"><code>server</code></em> argument is
provided, <span class="command"><strong>dig</strong></span> consults
<code class="filename">/etc/resolv.conf</code>; if an
local host. The reply from the name server that
responds is displayed.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant">name</code></span></dt>
-<dd><p>
+<dd>
+ <p>
is the name of the resource record that is to be looked up.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">type</code></span></dt>
-<dd><p>
+<dd>
+ <p>
indicates what type of query is required —
ANY, A, MX, SIG, etc.
<em class="parameter"><code>type</code></em> can be any valid query
<em class="parameter"><code>type</code></em> argument is supplied,
<span class="command"><strong>dig</strong></span> will perform a lookup for an
A record.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.9"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-4</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv4 only.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-6</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv6 only.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-b <em class="replaceable"><code>address[<span class="optional">#port</span>]</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the source IP address of the query.
The <em class="parameter"><code>address</code></em> must be a valid address on
one of the host's network interfaces, or "0.0.0.0" or "::". An
optional port may be specified by appending "#<port>"
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the query class. The
default <em class="parameter"><code>class</code></em> is IN; other classes
are HS for Hesiod records or CH for Chaosnet records.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Batch mode: <span class="command"><strong>dig</strong></span> reads a list of lookup
requests to process from the
given <em class="parameter"><code>file</code></em>. Each line in the file
should be organized in the same way they would be
presented as queries to
<span class="command"><strong>dig</strong></span> using the command-line interface.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i</span></dt>
-<dd><p>
+<dd>
+ <p>
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6.INT
domain, which is no longer in use. Obsolete bit string
label queries (RFC 2874) are not attempted.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sign queries using TSIG using a key read from the given file.
Key files can be generated using
- <span class="citerefentry"><span class="refentrytitle">tsig-keygen</span>(8)</span>.
+ <span class="citerefentry">
+ <span class="refentrytitle">tsig-keygen</span>(8)
+ </span>.
When using TSIG authentication with <span class="command"><strong>dig</strong></span>,
the name server that is queried needs to know the key and
algorithm that is being used. In BIND, this is done by
providing appropriate <span class="command"><strong>key</strong></span>
and <span class="command"><strong>server</strong></span> statements in
<code class="filename">named.conf</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m</span></dt>
-<dd><p>
+<dd>
+ <p>
Enable memory usage debugging.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Send the query to a non-standard port on the server,
instead of the default port 53. This option would be used
to test a name server that has been configured to listen
for queries on a non-standard port number.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q <em class="replaceable"><code>name</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The domain name to query. This is useful to distinguish
the <em class="parameter"><code>name</code></em> from other arguments.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r</span></dt>
-<dd><p>
+<dd>
+ <p>
Do not read options from <code class="filename">${HOME}/.digrc</code>.
This is useful for scripts that need predictable behaviour.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
<dd>
-<p>
+ <p>
The resource record type to query. It can be any valid query
type. If it is a resource record type supported in BIND 9, it
can be given by the type mnemonic (such as "NS" or "AAAA").
record was
<em class="parameter"><code>N</code></em>.
</p>
-<p>
+ <p>
All resource record types can be expressed as "TYPEnn", where
"nn" is the number of the type. If the resource record type is
not supported in BIND 9, the result will be displayed as
described in RFC 3597.
</p>
-</dd>
+ </dd>
<dt><span class="term">-u</span></dt>
-<dd><p>
+<dd>
+ <p>
Print query times in microseconds instead of milliseconds.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the version number and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-x <em class="replaceable"><code>addr</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Simplified reverse lookups, for mapping addresses to
names. The <em class="parameter"><code>addr</code></em> is an IPv4 address
in dotted-decimal notation, or a colon-delimited IPv6
addresses are looked up using nibble format under the
IP6.ARPA domain (but see also the <code class="option">-i</code>
option).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></span></dt>
<dd>
-<p>
+ <p>
Sign queries using TSIG with the given authentication key.
<em class="parameter"><code>keyname</code></em> is the name of the key, and
<em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
is not specified, the default is <code class="literal">hmac-md5</code>
or if MD5 was disabled <code class="literal">hmac-sha256</code>.
</p>
-<p>
+ <p>
NOTE: You should use the <code class="option">-k</code> option and
avoid the <code class="option">-y</code> option, because
with <code class="option">-y</code> the shared secret is supplied as
a command line argument in clear text. This may be visible
in the output from
- <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
+ <span class="citerefentry">
+ <span class="refentrytitle">ps</span>(1)
+ </span>
or in a history file maintained by the user's shell.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.10"></a><h2>QUERY OPTIONS</h2>
-<p><span class="command"><strong>dig</strong></span>
+
+
+ <p><span class="command"><strong>dig</strong></span>
provides a number of query options which affect
the way in which lookups are made and the results displayed. Some of
these set or reset flag bits in the query header, some determine which
sections of the answer get printed, and others determine the timeout
and retry strategies.
</p>
-<p>
+
+ <p>
Each query option is identified by a keyword preceded by a plus sign
(<code class="literal">+</code>). Some keywords set or reset an
option. These may be preceded
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="option">+[no]aaflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
A synonym for <em class="parameter"><code>+[no]aaonly</code></em>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]aaonly</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the "aa" flag in the query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]additional</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the additional section of a
reply. The default is to display it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]adflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set [do not set] the AD (authentic data) bit in the
query. This requests the server to return whether
all of the answer and authority sections have all
from a OPT-OUT range. AD=0 indicate that some part
of the answer was insecure or not validated. This
bit is set by default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]all</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set or clear all display flags.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]answer</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the answer section of a
reply. The default is to display it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]authority</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the authority section of a
reply. The default is to display it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]badcookie</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Retry lookup with the new server cookie if a
BADCOOKIE response is received.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]besteffort</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Attempt to display the contents of messages which are
malformed. The default is to not display malformed
answers.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+bufsize=B</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the UDP message buffer size advertised using EDNS0
to <em class="parameter"><code>B</code></em> bytes. The maximum and
minimum sizes of this buffer are 65535 and 0 respectively.
Values outside this range are rounded up or down
appropriately. Values other than zero will cause a
EDNS query to be sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set [do not set] the CD (checking disabled) bit in
the query. This requests the server to not perform
DNSSEC validation of responses.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]class</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the CLASS when printing the
record.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]cmd</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggles the printing of the initial comment in the
output, identifying the version of <span class="command"><strong>dig</strong></span>
and the query options that have been applied. This option
always has global effect; it cannot be set globally
and then overridden on a per-lookup basis. The default
is to print this comment.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]comments</code></span></dt>
<dd>
-<p>
+ <p>
Toggles the display of some comment lines in the output,
containing information about the packet header and
OPT pseudosection, and the names of the response
section. The default is to print these comments.
</p>
-<p>
+ <p>
Other types of comments in the output are not affected by
this option, but can be controlled using other command
line switches. These include <span class="command"><strong>+[no]cmd</strong></span>,
<span class="command"><strong>+[no]stats</strong></span>, and
<span class="command"><strong>+[no]rrcomments</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]cookie[<span class="optional">=####</span>]</code></span></dt>
<dd>
-<p>
+ <p>
Send a COOKIE EDNS option, with optional
value. Replaying a COOKIE from a previous response will
allow the server to identify a previous client. The
default is <code class="option">+cookie</code>.
</p>
-<p>
+ <p>
<span class="command"><strong>+cookie</strong></span> is also set when +trace
is set to better emulate the default queries from a
nameserver.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]crypto</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of cryptographic fields in DNSSEC
records. The contents of these field are unnecessary
to debug most DNSSEC validation failures and removing
are replaced by the string "[omitted]" or in the
DNSKEY case the key id is displayed as the replacement,
e.g. "[ key id = value ]".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]defname</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Deprecated, treated as a synonym for
<em class="parameter"><code>+[no]search</code></em>
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]dnssec</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Requests DNSSEC records be sent by setting the DNSSEC
OK bit (DO) in the OPT record in the additional section
of the query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+domain=somename</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the search list to contain the single domain
<em class="parameter"><code>somename</code></em>, as if specified in
a <span class="command"><strong>domain</strong></span> directive in
<code class="filename">/etc/resolv.conf</code>, and enable
search list processing as if the
<em class="parameter"><code>+search</code></em> option were given.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+dscp=value</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the DSCP code point to be used when sending the
query. Valid DSCP code points are in the range
[0..63]. By default no code point is explicitly set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]edns[=#]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the EDNS version to query with. Valid values
are 0 to 255. Setting the EDNS version will cause
a EDNS query to be sent. <code class="option">+noedns</code>
clears the remembered EDNS version. EDNS is set to
0 by default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ednsflags[=#]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the must-be-zero EDNS flags bits (Z bits) to the
specified value. Decimal, hex and octal encodings are
accepted. Setting a named flag (e.g. DO) will silently be
ignored. By default, no Z bits are set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ednsnegotiation</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Enable / disable EDNS version negotiation. By default
EDNS version negotiation is enabled.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ednsopt[=code[:value]]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify EDNS option with code point <code class="option">code</code>
and optionally payload of <code class="option">value</code> as a
hexadecimal string. <code class="option">code</code> can be
<code class="literal">NSID</code> or <code class="literal">ECS</code>),
or an arbitrary numeric value. <code class="option">+noednsopt</code>
clears the EDNS options to be sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]expire</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Send an EDNS Expire option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]fail</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Do not try the next server if you receive a SERVFAIL.
The default is to not try the next server which is
the reverse of normal stub resolver behavior.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]header-only</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Send a query with a DNS header without a question section.
The default is to add a question section. The query type
and query name are ignored when this is set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]identify</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Show [or do not show] the IP address and port number
that supplied the answer when the
<em class="parameter"><code>+short</code></em> option is enabled. If
short form answers are requested, the default is not
to show the source address and port number of the
server that provided the answer.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]idnin</code></span></dt>
<dd>
-<p>
+ <p>
Process [do not process] IDN domain names on input.
This requires IDN SUPPORT to have been enabled at
compile time.
</p>
-<p>
+ <p>
The default is to process IDN input when standard output
is a tty. The IDN processing on input is disabled when
dig output is redirected to files, pipes, and other
non-tty file descriptors.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]idnout</code></span></dt>
<dd>
-<p>
+ <p>
Convert [do not convert] puny code on output.
This requires IDN SUPPORT to have been enabled at
compile time.
</p>
-<p>
+ <p>
The default is to process puny code on output when
standard output is a tty. The puny code processing on
output is disabled when dig output is redirected to
files, pipes, and other non-tty file descriptors.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]ignore</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Ignore truncation in UDP responses instead of retrying
with TCP. By default, TCP retries are performed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]keepopen</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Keep the TCP socket open between queries and reuse
it rather than creating a new TCP socket for each
lookup. The default is <code class="option">+nokeepopen</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]mapped</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Allow mapped IPv4 over IPv6 addresses to be used. The
default is <code class="option">+mapped</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]multiline</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print records like the SOA records in a verbose
multi-line format with human-readable comments. The
default is to print each record on a single line, to
facilitate machine parsing of the <span class="command"><strong>dig</strong></span>
output.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+ndots=D</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the number of dots that have to appear in
<em class="parameter"><code>name</code></em> to <em class="parameter"><code>D</code></em>
for it to be considered absolute. The default value
or <code class="option">domain</code> directive in
<code class="filename">/etc/resolv.conf</code> if
<code class="option">+search</code> is set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]nsid</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Include an EDNS name server ID request when sending
a query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]nssearch</code></span></dt>
-<dd><p>
+<dd>
+ <p>
When this option is set, <span class="command"><strong>dig</strong></span>
attempts to find the authoritative name servers for
the zone containing the name being looked up and
display the SOA record that each name server has for
the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]onesoa</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print only one (starting) SOA record when performing
an AXFR. The default is to print both the starting
and ending SOA records.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]opcode=value</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set [restore] the DNS message opcode to the specified
value. The default value is QUERY (0).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]qr</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggles the display of the query message as it is sent.
By default, the query is not printed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]question</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggles the display of the question section of a query
when an answer is returned. The default is to print
the question section as a comment.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]rdflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
A synonym for <em class="parameter"><code>+[no]recurse</code></em>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]recurse</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the setting of the RD (recursion desired) bit
in the query. This bit is set by default, which means
<span class="command"><strong>dig</strong></span> normally sends recursive
when using <em class="parameter"><code>+trace</code></em> except for
an initial recursive query to get the list of root
servers.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+retry=T</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the number of times to retry UDP queries to
server to <em class="parameter"><code>T</code></em> instead of the
default, 2. Unlike <em class="parameter"><code>+tries</code></em>,
this does not include the initial query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]rrcomments</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of per-record comments in the
output (for example, human-readable key information
about DNSKEY records). The default is not to print
record comments unless multiline mode is active.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]search</code></span></dt>
<dd>
-<p>
+ <p>
Use [do not use] the search list defined by the
searchlist or domain directive in
<code class="filename">resolv.conf</code> (if any). The search
list is not used by default.
</p>
-<p>
+ <p>
'ndots' from <code class="filename">resolv.conf</code> (default 1)
which may be overridden by <em class="parameter"><code>+ndots</code></em>
determines if the name will be treated as relative
or not and hence whether a search is eventually
performed or not.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]short</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Provide a terse answer. The default is to print the
answer in a verbose form. This option always has global
effect; it cannot be set globally and then overridden on
a per-lookup basis.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]showsearch</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Perform [do not perform] a search showing intermediate
results.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]sigchase</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Chase DNSSEC signature chains. Requires dig be compiled
with -DDIG_SIGCHASE. This feature is deprecated.
Use <span class="command"><strong>delv</strong></span> instead.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+split=W</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Split long hex- or base64-formatted fields in resource
records into chunks of <em class="parameter"><code>W</code></em>
characters (where <em class="parameter"><code>W</code></em> is rounded
<em class="parameter"><code>+split=0</code></em> causes fields not to
be split at all. The default is 56 characters, or
44 characters when multiline mode is active.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]stats</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggles the printing of statistics: when the query was made,
the size of the reply and so on. The default behavior is to
print the query statistics as a comment after each lookup.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]subnet=addr[/prefix-length]</code></span></dt>
<dd>
-<p>
+ <p>
Send (don't send) an EDNS Client Subnet option with the
specified IP address or network prefix.
</p>
-<p>
+ <p>
<span class="command"><strong>dig +subnet=0.0.0.0/0</strong></span>, or simply
<span class="command"><strong>dig +subnet=0</strong></span> for short, sends an EDNS
CLIENT-SUBNET option with an empty address and a source
<span class="emphasis"><em>not</em></span> be used when resolving
this query.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Use [do not use] TCP when querying name servers. The
default behavior is to use UDP unless a type
<code class="literal">any</code> or <code class="literal">ixfr=N</code>
query is requested, in which case the default is TCP.
AXFR queries always use TCP.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+timeout=T</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the timeout for a query to
<em class="parameter"><code>T</code></em> seconds. The default
An attempt to set <em class="parameter"><code>T</code></em> to less
than 1 will result
in a query timeout of 1 second being applied.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]topdown</code></span></dt>
-<dd><p>
+<dd>
+ <p>
When chasing DNSSEC signature chains perform a top-down
validation. Requires dig be compiled with -DDIG_SIGCHASE.
This feature is deprecated. Use <span class="command"><strong>delv</strong></span> instead.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]trace</code></span></dt>
<dd>
-<p>
+ <p>
Toggle tracing of the delegation path from the root
name servers for the name being looked up. Tracing
is disabled by default. When tracing is enabled,
resolve the name being looked up. It will follow
referrals from the root servers, showing the answer
from each server that was used to resolve the lookup.
- </p>
-<p>
+ </p> <p>
If @server is also specified, it affects only the
initial query for the root zone name servers.
- </p>
-<p>
+ </p> <p>
<span class="command"><strong>+dnssec</strong></span> is also set when +trace
is set to better emulate the default queries from a
nameserver.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+tries=T</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the number of times to try UDP queries to server
to <em class="parameter"><code>T</code></em> instead of the default,
3. If <em class="parameter"><code>T</code></em> is less than or equal
to zero, the number of tries is silently rounded up
to 1.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+trusted-key=####</code></span></dt>
<dd>
-<p>
+ <p>
Specifies a file containing trusted keys to be used
with <code class="option">+sigchase</code>. Each DNSKEY record
must be on its own line.
- </p>
-<p>
+ </p> <p>
If not specified, <span class="command"><strong>dig</strong></span> will look
for <code class="filename">/etc/trusted-key.key</code> then
<code class="filename">trusted-key.key</code> in the current
directory.
- </p>
-<p>
+ </p> <p>
Requires dig be compiled with -DDIG_SIGCHASE.
This feature is deprecated. Use <span class="command"><strong>delv</strong></span> instead.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+[no]ttlid</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the TTL when printing the
record.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ttlunits</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the TTL in friendly human-readable
time units of "s", "m", "h", "d", and "w", representing
seconds, minutes, hours, days and weeks. Implies +ttlid.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]unknownformat</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print all RDATA in unknown RR type presentation format
(RFC 3597). The default is to print RDATA for known types
in the type's presentation format.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]vc</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Use [do not use] TCP when querying name servers. This
alternate syntax to <em class="parameter"><code>+[no]tcp</code></em>
is provided for backwards compatibility. The "vc"
stands for "virtual circuit".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]zflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set [do not set] the last unassigned DNS header flag in a
DNS query. This flag is off by default.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.11"></a><h2>MULTIPLE QUERIES</h2>
-<p>
+
+
+ <p>
The BIND 9 implementation of <span class="command"><strong>dig </strong></span>
supports
specifying multiple queries on the command line (in addition to
queries can be supplied with its own set of flags, options and query
options.
</p>
-<p>
+
+ <p>
In this case, each <em class="parameter"><code>query</code></em> argument
represent an
individual query in the command-line syntax described above. Each
looked up, an optional query type and class and any query options that
should be applied to that query.
</p>
-<p>
+
+ <p>
A global set of query options, which should be applied to all queries,
can also be supplied. These global query options must precede the
first tuple of name, class, type, options, flags, and query options
will not print the initial query when it looks up the NS records for
<code class="literal">isc.org</code>.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.12"></a><h2>IDN SUPPORT</h2>
-<p>
+
+ <p>
If <span class="command"><strong>dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
<span class="command"><strong>dig</strong></span> appropriately converts character encoding of
parameters <em class="parameter"><code>+noidnin</code></em> and
<em class="parameter"><code>+noidnout</code></em>.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.13"></a><h2>FILES</h2>
-<p><code class="filename">/etc/resolv.conf</code>
+
+ <p><code class="filename">/etc/resolv.conf</code>
</p>
-<p><code class="filename">${HOME}/.digrc</code>
+ <p><code class="filename">${HOME}/.digrc</code>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.14"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">delv</span>(1)</span>,
- <span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">delv</span>(1)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">host</span>(1)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
<em class="citetitle">RFC 1035</em>.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.2.15"></a><h2>BUGS</h2>
-<p>
+
+ <p>
There are probably too many query options.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-checkds</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.nslookup.html" title="nslookup">
</div>
<div class="refentry">
<a name="man.dnssec-checkds"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-checkds</span> — DNSSEC delegation consistency checking tool</p>
+<p>
+ <span class="application">dnssec-checkds</span>
+ — DNSSEC delegation consistency checking tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-checkds</code> [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>dig path</code></em></code>] [<code class="option">-D <em class="replaceable"><code>dsfromkey path</code></em></code>] {zone}</p></div>
-<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>dig path</code></em></code>] [<code class="option">-D <em class="replaceable"><code>dsfromkey path</code></em></code>] {zone}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-checkds</code>
+ [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>file</code></em></code>]
+ [<code class="option">-d <em class="replaceable"><code>dig path</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>dsfromkey path</code></em></code>]
+ {zone}
+ </p></div>
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-dsfromkey</code>
+ [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>file</code></em></code>]
+ [<code class="option">-d <em class="replaceable"><code>dig path</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>dsfromkey path</code></em></code>]
+ {zone}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.7.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-checkds</strong></span>
+
+ <p><span class="command"><strong>dnssec-checkds</strong></span>
verifies the correctness of Delegation Signer (DS) or DNSSEC
Lookaside Validation (DLV) resource records for keys in a specified
zone.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.7.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
If a <code class="option">file</code> is specified, then the zone is
read from that file to find the DNSKEY records. If not,
then the DNSKEY records for the zone are looked up in the DNS.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Check for a DLV record in the specified lookaside domain,
instead of checking for a DS record in the zone's parent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-d <em class="replaceable"><code>dig path</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a path to a <span class="command"><strong>dig</strong></span> binary. Used
for testing.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D <em class="replaceable"><code>dsfromkey path</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a path to a <span class="command"><strong>dnssec-dsfromkey</strong></span> binary.
Used for testing.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.7.9"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-dsfromkey</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-dsfromkey</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>,
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-coverage</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-checkds.html" title="dnssec-checkds">
</div>
<div class="refentry">
<a name="man.dnssec-coverage"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-coverage</span> — checks future DNSKEY coverage for a zone</p>
+<p>
+ <span class="application">dnssec-coverage</span>
+ — checks future DNSKEY coverage for a zone
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-coverage</code> [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>length</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>DNSKEY TTL</code></em></code>] [<code class="option">-m <em class="replaceable"><code>max TTL</code></em></code>] [<code class="option">-r <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-c <em class="replaceable"><code>compilezone path</code></em></code>] [<code class="option">-k</code>] [<code class="option">-z</code>] [zone...]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-coverage</code>
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-l <em class="replaceable"><code>length</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>file</code></em></code>]
+ [<code class="option">-d <em class="replaceable"><code>DNSKEY TTL</code></em></code>]
+ [<code class="option">-m <em class="replaceable"><code>max TTL</code></em></code>]
+ [<code class="option">-r <em class="replaceable"><code>interval</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>compilezone path</code></em></code>]
+ [<code class="option">-k</code>]
+ [<code class="option">-z</code>]
+ [zone...]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.8.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-coverage</strong></span>
+
+ <p><span class="command"><strong>dnssec-coverage</strong></span>
verifies that the DNSSEC keys for a given zone or a set of zones
have timing metadata set properly to ensure no future lapses in DNSSEC
coverage.
</p>
-<p>
+ <p>
If <code class="option">zone</code> is specified, then keys found in
the key repository matching that zone are scanned, and an ordered
list is generated of the events scheduled for that key (i.e.,
key is rolled, and cached data signed by the prior key has not had
time to expire from resolver caches.
</p>
-<p>
+ <p>
If <code class="option">zone</code> is not specified, then all keys in the
key repository will be scanned, and all zones for which there are
keys will be analyzed. (Note: This method of reporting is only
accurate if all the zones that have keys in a given repository
share the same TTL parameters.)
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.8.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the directory in which keys can be found. Defaults to the
current working directory.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
If a <code class="option">file</code> is specified, then the zone is
read from that file; the largest TTL and the DNSKEY TTL are
determined directly from the zone data, and the
<code class="option">-m</code> and <code class="option">-d</code> options do
not need to be specified on the command line.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>duration</code></em></span></dt>
<dd>
-<p>
+ <p>
The length of time to check for DNSSEC coverage. Key events
scheduled further into the future than <code class="option">duration</code>
will be ignored, and assumed to be correct.
</p>
-<p>
+ <p>
The value of <code class="option">duration</code> can be set in seconds,
or in larger units of time by adding a suffix: 'mi' for minutes,
'h' for hours, 'd' for days, 'w' for weeks, 'mo' for months,
'y' for years.
</p>
-</dd>
+ </dd>
<dt><span class="term">-m <em class="replaceable"><code>maximum TTL</code></em></span></dt>
<dd>
-<p>
+ <p>
Sets the value to be used as the maximum TTL for the zone or
zones being analyzed when determining whether there is a
possibility of validation failure. When a zone-signing key is
before that key can be purged from the DNSKEY RRset. If that
condition does not apply, a warning will be generated.
</p>
-<p>
+ <p>
The length of the TTL can be set in seconds, or in larger units
of time by adding a suffix: 'mi' for minutes, 'h' for hours,
'd' for days, 'w' for weeks, 'mo' for months, 'y' for years.
</p>
-<p>
+ <p>
This option is not necessary if the <code class="option">-f</code> has
been used to specify a zone file. If <code class="option">-f</code> has
been specified, this option may still be used; it will override
the value found in the file.
</p>
-<p>
+ <p>
If this option is not used and the maximum TTL cannot be retrieved
from a zone file, a warning is generated and a default value of
1 week is used.
</p>
-</dd>
+ </dd>
<dt><span class="term">-d <em class="replaceable"><code>DNSKEY TTL</code></em></span></dt>
<dd>
-<p>
+ <p>
Sets the value to be used as the DNSKEY TTL for the zone or
zones being analyzed when determining whether there is a
possibility of validation failure. When a key is rolled (that
the new key is activated and begins generating signatures. If
that condition does not apply, a warning will be generated.
</p>
-<p>
+ <p>
The length of the TTL can be set in seconds, or in larger units
of time by adding a suffix: 'mi' for minutes, 'h' for hours,
'd' for days, 'w' for weeks, 'mo' for months, 'y' for years.
</p>
-<p>
+ <p>
This option is not necessary if <code class="option">-f</code> has
been used to specify a zone file from which the TTL
of the DNSKEY RRset can be read, or if a default key TTL was
this option may still be used; it will override the values
found in the zone file or the key file.
</p>
-<p>
+ <p>
If this option is not used and the key TTL cannot be retrieved
from the zone file or the key file, then a warning is generated
and a default value of 1 day is used.
</p>
-</dd>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>resign interval</code></em></span></dt>
<dd>
-<p>
+ <p>
Sets the value to be used as the resign interval for the zone
or zones being analyzed when determining whether there is a
possibility of validation failure. This value defaults to
<code class="filename">named.conf</code>, then it should also be
changed here.
</p>
-<p>
+ <p>
The length of the interval can be set in seconds, or in larger
units of time by adding a suffix: 'mi' for minutes, 'h' for hours,
'd' for days, 'w' for weeks, 'mo' for months, 'y' for years.
</p>
-</dd>
+ </dd>
<dt><span class="term">-k</span></dt>
-<dd><p>
+<dd>
+ <p>
Only check KSK coverage; ignore ZSK events. Cannot be
used with <code class="option">-z</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-z</span></dt>
-<dd><p>
+<dd>
+ <p>
Only check ZSK coverage; ignore KSK events. Cannot be
used with <code class="option">-k</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>compilezone path</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a path to a <span class="command"><strong>named-compilezone</strong></span> binary.
Used for testing.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.8.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">dnssec-checkds</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-dsfromkey</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-checkds</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-dsfromkey</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-dsfromkey</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-coverage.html" title="dnssec-coverage">
</div>
<div class="refentry">
<a name="man.dnssec-dsfromkey"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-dsfromkey</span> — DNSSEC DS RR generation tool</p>
+<p>
+ <span class="application">dnssec-dsfromkey</span>
+ — DNSSEC DS RR generation tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [ <code class="option">-1</code> | <code class="option">-2</code> | <code class="option">-a <em class="replaceable"><code>alg</code></em></code> ] [ <code class="option">-C</code> | <code class="option">-l <em class="replaceable"><code>domain</code></em></code> ] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] {keyfile}</p></div>
-<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [ <code class="option">-1</code> | <code class="option">-2</code> | <code class="option">-a <em class="replaceable"><code>alg</code></em></code> ] [ <code class="option">-C</code> | <code class="option">-l <em class="replaceable"><code>domain</code></em></code> ] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-A</code>] {<code class="option">-f <em class="replaceable"><code>file</code></em></code>} [dnsname]</p></div>
-<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [ <code class="option">-1</code> | <code class="option">-2</code> | <code class="option">-a <em class="replaceable"><code>alg</code></em></code> ] [ <code class="option">-C</code> | <code class="option">-l <em class="replaceable"><code>domain</code></em></code> ] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] {-s} {dnsname}</p></div>
-<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [ <code class="option">-h</code> | <code class="option">-V</code> ]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-dsfromkey</code>
+ [
+ <code class="option">-1</code>
+ | <code class="option">-2</code>
+ | <code class="option">-a <em class="replaceable"><code>alg</code></em></code>
+ ]
+ [
+ <code class="option">-C</code>
+ | <code class="option">-l <em class="replaceable"><code>domain</code></em></code>
+ ]
+ [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ {keyfile}
+ </p></div>
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-dsfromkey</code>
+ [
+ <code class="option">-1</code>
+ | <code class="option">-2</code>
+ | <code class="option">-a <em class="replaceable"><code>alg</code></em></code>
+ ]
+ [
+ <code class="option">-C</code>
+ | <code class="option">-l <em class="replaceable"><code>domain</code></em></code>
+ ]
+ [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-A</code>]
+ {<code class="option">-f <em class="replaceable"><code>file</code></em></code>}
+ [dnsname]
+ </p></div>
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-dsfromkey</code>
+ [
+ <code class="option">-1</code>
+ | <code class="option">-2</code>
+ | <code class="option">-a <em class="replaceable"><code>alg</code></em></code>
+ ]
+ [
+ <code class="option">-C</code>
+ | <code class="option">-l <em class="replaceable"><code>domain</code></em></code>
+ ]
+ [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ {-s}
+ {dnsname}
+ </p></div>
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-dsfromkey</code>
+ [
+ <code class="option">-h</code>
+ | <code class="option">-V</code>
+ ]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.9.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
The <span class="command"><strong>dnssec-dsfromkey</strong></span> command outputs DS (Delegation
Signer) resource records (RRs) and other similarly-constructed RRs:
with the <code class="option">-l</code> option it outputs DLV (DNSSEC Lookaside
Validation) RRs; or with the <code class="option">-C</code> it outputs CDS (Child
DS) RRs.
</p>
-<p>
+
+ <p>
The input keys can be specified in a number of ways:
</p>
-<p>
+
+ <p>
By default, <span class="command"><strong>dnssec-dsfromkey</strong></span> reads a key file
named like <code class="filename">Knnnn.+aaa+iiiii.key</code>, as generated
by <span class="command"><strong>dnssec-keygen</strong></span>.
</p>
-<p>
+
+ <p>
With the <code class="option">-f <em class="replaceable"><code>file</code></em></code>
option, <span class="command"><strong>dnssec-dsfromkey</strong></span> reads keys from a zone file
or partial zone file (which can contain just the DNSKEY records).
</p>
-<p>
+
+ <p>
With the <code class="option">-s</code>
option, <span class="command"><strong>dnssec-dsfromkey</strong></span> reads
a <code class="filename">keyset-</code> file, as generated
by <span class="command"><strong>dnssec-keygen</strong></span> <code class="option">-C</code>.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.9.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-1</span></dt>
-<dd><p>
+<dd>
+ <p>
An abbreviation for <code class="option">-a SHA1</code>
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-2</span></dt>
-<dd><p>
+<dd>
+ <p>
An abbreviation for <code class="option">-a SHA-256</code>
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
-<p>
+ <p>
Specify a digest algorithm to use when converting DNSKEY
records to DS records. This option can be repeated, so
that multiple DS records are created for each DNSKEY
record.
</p>
-<p>
+ <p>
The <em class="replaceable"><code>algorithm</code></em> must be one of
SHA-1, SHA-256, or SHA-384. These values are case insensitive,
and the hyphen may be omitted. If no algorithm is specified,
the default is to use both SHA-1 and SHA-256.
</p>
-</dd>
+ </dd>
<dt><span class="term">-A</span></dt>
-<dd><p>
+<dd>
+ <p>
Include ZSKs when generating DS records. Without this option, only
keys which have the KSK flag set will be converted to DS records
and printed. Useful only in <code class="option">-f</code> zone file mode.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the DNS class (default is IN). Useful only
in <code class="option">-s</code> keyset or <code class="option">-f</code>
zone file mode.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-C</span></dt>
-<dd><p>
+<dd>
+ <p>
Generate CDS records rather than DS records. This is mutually
exclusive with the <code class="option">-l</code> option for generating DLV
records.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
<dd>
-<p>
+ <p>
Zone file mode: <span class="command"><strong>dnssec-dsfromkey</strong></span>'s
final <em class="replaceable"><code>dnsname</code></em> argument is
the DNS domain name of a zone whose master file can be read
from <code class="option">file</code>. If the zone name is the same as
<code class="option">file</code>, then it may be omitted.
</p>
-<p>
+ <p>
If <em class="replaceable"><code>file</code></em> is <code class="literal">"-"</code>, then
the zone data is read from the standard input. This makes it
possible to use the output of the <span class="command"><strong>dig</strong></span>
command as input, as in:
</p>
-<p>
+ <p>
<strong class="userinput"><code>dig dnskey example.com | dnssec-dsfromkey -f - example.com</code></strong>
</p>
-</dd>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints usage information.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Look for key files or <code class="filename">keyset-</code> files in
<code class="option">directory</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Generate a DLV set instead of a DS set. The specified
<em class="replaceable"><code>domain</code></em> is appended to the name for each
record in the set.
This is mutually exclusive with the <code class="option">-C</code> option
for generating CDS records.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s</span></dt>
-<dd><p>
+<dd>
+ <p>
Keyset mode: <span class="command"><strong>dnssec-dsfromkey</strong></span>'s
final <em class="replaceable"><code>dnsname</code></em> argument is the DNS
domain name used to locate a <code class="filename">keyset-</code> file.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the TTL of the DS records. By default the TTL is omitted.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.9.9"></a><h2>EXAMPLE</h2>
-<p>
+
+ <p>
To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
keyfile name, you can issue the following command:
</p>
-<p><strong class="userinput"><code>dnssec-dsfromkey -2 Kexample.com.+003+26160</code></strong>
+ <p><strong class="userinput"><code>dnssec-dsfromkey -2 Kexample.com.+003+26160</code></strong>
</p>
-<p>
+ <p>
The command would print something like:
</p>
-<p><strong class="userinput"><code>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94</code></strong>
+ <p><strong class="userinput"><code>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94</code></strong>
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.9.10"></a><h2>FILES</h2>
-<p>
+
+ <p>
The keyfile can be designated by the key identification
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
<code class="filename">Knnnn.+aaa+iiiii.key</code> as generated by
<span class="refentrytitle">dnssec-keygen</span>(8).
</p>
-<p>
+ <p>
The keyset file name is built from the <code class="option">directory</code>,
the string <code class="filename">keyset-</code> and the
<code class="option">dnsname</code>.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.9.11"></a><h2>CAVEAT</h2>
-<p>
+
+ <p>
A keyfile error can give a "file not found" even if the file exists.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.9.12"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 3658</em> (DS RRs),
<em class="citetitle">RFC 4431</em> (DLV RRs),
<em class="citetitle">RFC 6605</em> (SHA-384 for DS RRs),
<em class="citetitle">RFC 7344</em> (CDS and CDNSKEY RRs).
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-importkey</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-dsfromkey.html" title="dnssec-dsfromkey">
</div>
<div class="refentry">
<a name="man.dnssec-importkey"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-importkey</span> — import DNSKEY records from external systems so they can be managed</p>
+<p>
+ <span class="application">dnssec-importkey</span>
+ — import DNSKEY records from external systems so they can be managed
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-importkey</code> [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] {<code class="option">keyfile</code>}</p></div>
-<div class="cmdsynopsis"><p><code class="command">dnssec-importkey</code> {<code class="option">-f <em class="replaceable"><code>filename</code></em></code>} [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">dnsname</code>]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-importkey</code>
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-V</code>]
+ {<code class="option">keyfile</code>}
+ </p></div>
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-importkey</code>
+ {<code class="option">-f <em class="replaceable"><code>filename</code></em></code>}
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-V</code>]
+ [<code class="option">dnsname</code>]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.10.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-importkey</strong></span>
+
+ <p><span class="command"><strong>dnssec-importkey</strong></span>
reads a public DNSKEY record and generates a pair of
.key/.private files. The DNSKEY record may be read from an
existing .key file, in which case a corresponding .private file
from the standard input, in which case both .key and .private
files will be generated.
</p>
-<p>
+ <p>
The newly-created .private file does <span class="emphasis"><em>not</em></span>
contain private key data, and cannot be used for signing.
However, having a .private file makes it possible to set
public key can be added to and removed from the DNSKEY RRset
on schedule even if the true private key is stored offline.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.10.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-f <em class="replaceable"><code>filename</code></em></span></dt>
<dd>
-<p>
+ <p>
Zone file mode: instead of a public keyfile name, the argument
is the DNS domain name of a zone master file, which can be read
from <code class="option">file</code>. If the domain name is the same as
<code class="option">file</code>, then it may be omitted.
</p>
-<p>
+ <p>
If <code class="option">file</code> is set to <code class="literal">"-"</code>, then
the zone data is read from the standard input.
</p>
-</dd>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the directory in which the key files are to reside.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<code class="literal">0</code> or <code class="literal">none</code> removes it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Emit usage message and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.10.9"></a><h2>TIMING OPTIONS</h2>
-<p>
+
+ <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
an offset from the present time. For convenience, if such an offset
is computed in seconds. To explicitly prevent a date from being
set, use 'none' or 'never'.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which a key is to be published to the zone.
After that date, the key will be included in the zone but will
not be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which CDS and CDNSKEY records that match this
key are to be published to the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be deleted. After that
date, the key will no longer be included in the zone. (It
may remain in the key repository, however.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the CDS and CDNSKEY records that match
this key are to be deleted.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.10.10"></a><h2>FILES</h2>
-<p>
+
+ <p>
A keyfile can be designed by the key identification
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
<code class="filename">Knnnn.+aaa+iiiii.key</code> as generated by
<span class="refentrytitle">dnssec-keygen</span>(8).
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.10.11"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5011</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-keyfromlabel</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-importkey.html" title="dnssec-importkey">
</div>
<div class="refentry">
<a name="man.dnssec-keyfromlabel"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-keyfromlabel</span> — DNSSEC key generation tool</p>
+<p>
+ <span class="application">dnssec-keyfromlabel</span>
+ — DNSSEC key generation tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-y</code>] {name}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-keyfromlabel</code>
+ {-l <em class="replaceable"><code>label</code></em>}
+ [<code class="option">-3</code>]
+ [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>]
+ [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>]
+ [<code class="option">-G</code>]
+ [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>]
+ [<code class="option">-k</code>]
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>]
+ [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>]
+ [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-S <em class="replaceable"><code>key</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-y</code>]
+ {name}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.11.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-keyfromlabel</strong></span>
+
+ <p><span class="command"><strong>dnssec-keyfromlabel</strong></span>
generates a key pair of files that referencing a key object stored
in a cryptographic hardware service module (HSM). The private key
file can be used for DNSSEC signing of zone data as if it were a
but the key material is stored within the HSM, and the actual signing
takes place there.
</p>
-<p>
+ <p>
The <code class="option">name</code> of the key is specified on the command
line. This must match the name of the zone for which the key is
being generated.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.11.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
-<p>
+ <p>
Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
These values are case insensitive.
</p>
-<p>
+ <p>
If no algorithm is specified, then RSASHA1 will be used by
default, unless the <code class="option">-3</code> option is specified,
in which case NSEC3RSASHA1 will be used instead. (If
<code class="option">-3</code> is used and an algorithm is specified,
that algorithm will be checked for compatibility with NSEC3.)
</p>
-<p>
+ <p>
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
algorithm, and DSA is recommended.
</p>
-<p>
+ <p>
Note 2: DH automatically sets the -k flag.
</p>
-</dd>
+ </dd>
<dt><span class="term">-3</span></dt>
-<dd><p>
+<dd>
+ <p>
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the cryptographic hardware to use.
</p>
-<p>
+ <p>
When BIND is built with OpenSSL PKCS#11 support, this defaults
to the string "pkcs11", which identifies an OpenSSL engine
that can drive a cryptographic accelerator or hardware service
(--enable-native-pkcs11), it defaults to the path of the PKCS#11
provider library specified via "--with-pkcs11".
</p>
-</dd>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>label</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the label for a key pair in the crypto hardware.
</p>
-<p>
+ <p>
When <acronym class="acronym">BIND</acronym> 9 is built with OpenSSL-based
PKCS#11 support, the label is an arbitrary string that
identifies a particular key.
</p>
-<p>
+ <p>
When <acronym class="acronym">BIND</acronym> 9 is built with native PKCS#11
support, the label is a PKCS#11 URI string in the format
"pkcs11:<code class="option">keyword</code>=<em class="replaceable"><code>value</code></em>[<span class="optional">;<code class="option">keyword</code>=<em class="replaceable"><code>value</code></em>;...</span>]"
which the HSM's PIN code can be obtained. The label will be
stored in the on-disk "private" file.
</p>
-<p>
+ <p>
If the label contains a
<code class="option">pin-source</code> field, tools using the generated
key files will be able to use the HSM for signing and other
may reduce the security advantage of using an HSM; be sure
this is what you want to do before making use of this feature.
</p>
-</dd>
+ </dd>
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the owner type of the key. The value of
<code class="option">nametype</code> must either be ZONE (for a DNSSEC
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with
a host (KEY)),
USER (for a key associated with a user(KEY)) or OTHER (DNSKEY).
These values are case insensitive.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-C</span></dt>
-<dd><p>
+<dd>
+ <p>
Compatibility mode: generates an old-style key, without
any metadata. By default, <span class="command"><strong>dnssec-keyfromlabel</strong></span>
will include the key's creation date in the metadata stored
(publication date, activation date, etc). Keys that include
this data may be incompatible with older versions of BIND; the
<code class="option">-C</code> option suppresses them.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Indicates that the DNS record containing the key should have
the specified class. If not specified, class IN is used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the specified flag in the flag field of the KEY/DNSKEY record.
The only recognized flags are KSK (Key Signing Key) and REVOKE.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-G</span></dt>
-<dd><p>
+<dd>
+ <p>
Generate a key, but do not publish it or sign with it. This
option is incompatible with -P and -A.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints a short summary of the options and arguments to
<span class="command"><strong>dnssec-keyfromlabel</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the directory in which the key files are to be written.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k</span></dt>
-<dd><p>
+<dd>
+ <p>
Generate KEY records rather than DNSKEY records.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<code class="literal">0</code> or <code class="literal">none</code> removes it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the protocol value for the key. The protocol
is a number between 0 and 255. The default is 3 (DNSSEC).
Other possible values for this argument are listed in
RFC 2535 and its successors.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-S <em class="replaceable"><code>key</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Generate a key as an explicit successor to an existing key.
The name, algorithm, size, and type of the key will be set
to match the predecessor. The activation date of the new
one. The publication date will be set to the activation
date minus the prepublication interval, which defaults to
30 days.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Indicates the use of the key. <code class="option">type</code> must be
one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default
is AUTHCONF. AUTH refers to the ability to authenticate
data, and CONF the ability to encrypt data.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-y</span></dt>
-<dd><p>
+<dd>
+ <p>
Allows DNSSEC key files to be generated even if the key ID
would collide with that of an existing key, in the event of
either key being revoked. (This is only safe to use if you
are sure you won't be using RFC 5011 trust anchor maintenance
with either of the keys involved.)
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.11.9"></a><h2>TIMING OPTIONS</h2>
-<p>
+
+
+ <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
an offset from the present time. For convenience, if such an offset
is computed in seconds. To explicitly prevent a date from being
set, use 'none' or 'never'.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which a key is to be published to the zone.
After that date, the key will be included in the zone but will
not be used to sign it. If not set, and if the -G option has
not been used, the default is "now".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the CDS and CDNSKEY records which match
this key are to be published to the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be revoked. After that
date, the key will be flagged as revoked. It will be included
in the zone and will be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be retired. After that
date, the key will still be included in the zone, but it
will not be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be deleted. After that
date, the key will no longer be included in the zone. (It
may remain in the key repository, however.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the CDS and CDNSKEY records which match
this key are to be deleted.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
-<p>
+ <p>
Sets the prepublication interval for a key. If set, then
the publication and activation dates must be separated by at least
this much time. If the activation date is specified but the
the publication date is specified but activation date isn't,
then activation will be set to this much time after publication.
</p>
-<p>
+ <p>
If the key is being created as an explicit successor to another
key, then the default prepublication interval is 30 days;
otherwise it is zero.
</p>
-<p>
+ <p>
As with date offsets, if the argument is followed by one of
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
interval is measured in years, months, weeks, days, hours,
or minutes, respectively. Without a suffix, the interval is
measured in seconds.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.11.10"></a><h2>GENERATED KEY FILES</h2>
-<p>
+
+ <p>
When <span class="command"><strong>dnssec-keyfromlabel</strong></span> completes
successfully,
it prints a string of the form <code class="filename">Knnnn.+aaa+iiiii</code>
to the standard output. This is an identification string for
the key files it has generated.
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p><code class="filename">nnnn</code> is the key name.
- </p></li>
-<li class="listitem"><p><code class="filename">aaa</code> is the numeric representation
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <p><code class="filename">nnnn</code> is the key name.
+ </p>
+ </li>
+<li class="listitem">
+ <p><code class="filename">aaa</code> is the numeric representation
of the algorithm.
- </p></li>
-<li class="listitem"><p><code class="filename">iiiii</code> is the key identifier (or
+ </p>
+ </li>
+<li class="listitem">
+ <p><code class="filename">iiiii</code> is the key identifier (or
footprint).
- </p></li>
+ </p>
+ </li>
</ul></div>
-<p><span class="command"><strong>dnssec-keyfromlabel</strong></span>
+ <p><span class="command"><strong>dnssec-keyfromlabel</strong></span>
creates two files, with names based
on the printed string. <code class="filename">Knnnn.+aaa+iiiii.key</code>
contains the public key, and
<code class="filename">Knnnn.+aaa+iiiii.private</code> contains the
private key.
</p>
-<p>
+ <p>
The <code class="filename">.key</code> file contains a DNS KEY record
that
can be inserted into a zone file (directly or with a $INCLUDE
statement).
</p>
-<p>
+ <p>
The <code class="filename">.private</code> file contains
algorithm-specific
fields. For obvious security reasons, this file does not have
general read permission.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.11.11"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 4034</em>,
<em class="citetitle">The PKCS#11 URI Scheme (draft-pechanec-pkcs11uri-13)</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-keygen</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-keyfromlabel.html" title="dnssec-keyfromlabel">
</div>
<div class="refentry">
<a name="man.dnssec-keygen"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-keygen</span> — DNSSEC key generation tool</p>
+<p>
+ <span class="application">dnssec-keygen</span>
+ — DNSSEC key generation tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-V</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-keygen</code>
+ [<code class="option">-3</code>]
+ [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>]
+ [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>]
+ [<code class="option">-C</code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>]
+ [<code class="option">-G</code>]
+ [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>]
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-k</code>]
+ [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>]
+ [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>]
+ [<code class="option">-q</code>]
+ [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>]
+ [<code class="option">-S <em class="replaceable"><code>key</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ {name}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.12.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-keygen</strong></span>
+
+ <p><span class="command"><strong>dnssec-keygen</strong></span>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with
TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY
(Transaction Key) as defined in RFC 2930.
</p>
-<p>
+ <p>
The <code class="option">name</code> of the key is specified on the command
line. For DNSSEC keys, this must match the name of the zone for
which the key is being generated.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.12.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-3</span></dt>
-<dd><p>
+<dd>
+ <p>
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used with an algorithm that has both
NSEC and NSEC3 versions, then the NSEC3 version will be
used; for example, <span class="command"><strong>dnssec-keygen -3a RSASHA1</strong></span>
specifies the NSEC3RSASHA1 algorithm.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
-<p>
+ <p>
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
case insensitive.
</p>
-<p>
+ <p>
If no algorithm is specified, then RSASHA1 will be used by
default, unless the <code class="option">-3</code> option is specified,
in which case NSEC3RSASHA1 will be used instead. (If
<code class="option">-3</code> is used and an algorithm is specified,
that algorithm will be checked for compatibility with NSEC3.)
</p>
-<p>
+ <p>
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is
mandatory.
</p>
-<p>
+ <p>
Note 2: DH, HMAC-MD5, and HMAC-SHA1 through HMAC-SHA512
automatically set the -T KEY option.
</p>
-</dd>
+ </dd>
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the number of bits in the key. The choice of key
size depends on the algorithm used. RSA keys must be
between 512 and 2048 bits. Diffie Hellman keys must be between
between 1 and 512 bits. Elliptic curve algorithms don't need
this parameter.
</p>
-<p>
+ <p>
The key size does not need to be specified if using a default
algorithm. The default key size is 1024 bits for zone signing
keys (ZSKs) and 2048 bits for key signing keys (KSKs,
then there is no default key size, and the <code class="option">-b</code>
must be used.
</p>
-</dd>
+ </dd>
<dt><span class="term">-C</span></dt>
-<dd><p>
+<dd>
+ <p>
Compatibility mode: generates an old-style key, without any
timing metadata. By default, <span class="command"><strong>dnssec-keygen</strong></span>
will include the key's creation date in the metadata stored with
(publication date, activation date, etc). Keys that include this
data may be incompatible with older versions of BIND; the
<code class="option">-C</code> option suppresses them.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Indicates that the DNS record containing the key should have
the specified class. If not specified, class IN is used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the cryptographic hardware to use, when applicable.
</p>
-<p>
+ <p>
When BIND is built with OpenSSL PKCS#11 support, this defaults
to the string "pkcs11", which identifies an OpenSSL engine
that can drive a cryptographic accelerator or hardware service
(--enable-native-pkcs11), it defaults to the path of the PKCS#11
provider library specified via "--with-pkcs11".
</p>
-</dd>
+ </dd>
<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the specified flag in the flag field of the KEY/DNSKEY record.
The only recognized flags are KSK (Key Signing Key) and REVOKE.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-G</span></dt>
-<dd><p>
+<dd>
+ <p>
Generate a key, but do not publish it or sign with it. This
option is incompatible with -P and -A.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-g <em class="replaceable"><code>generator</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
If generating a Diffie Hellman key, use this generator.
Allowed values are 2 and 5. If no generator
is specified, a known prime from RFC 2539 will be used
if possible; otherwise the default is 2.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints a short summary of the options and arguments to
<span class="command"><strong>dnssec-keygen</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the directory in which the key files are to be written.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k</span></dt>
-<dd><p>
+<dd>
+ <p>
Deprecated in favor of -T KEY.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
is no existing DNSKEY RRset, the TTL will default to the
SOA TTL. Setting the default TTL to <code class="literal">0</code>
or <code class="literal">none</code> is the same as leaving it unset.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the owner type of the key. The value of
<code class="option">nametype</code> must either be ZONE (for a DNSSEC
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated
with a host (KEY)), USER (for a key associated with a
user(KEY)) or OTHER (DNSKEY). These values are case
insensitive. Defaults to ZONE for DNSKEY generation.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the protocol value for the generated key, for use
with <code class="option">-T KEY</code>. The protocol is a number between 0
and 255. The default is 3 (DNSSEC). Other possible values for
this argument are listed in RFC 2535 and its successors.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q</span></dt>
-<dd><p>
+<dd>
+ <p>
Quiet mode: Suppresses unnecessary output, including
progress indication. Without this option, when
<span class="command"><strong>dnssec-keygen</strong></span> is run interactively
round of the Miller-Rabin primality test; a space
means that the number has passed all the tests and is
a satisfactory key.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the source of randomness. If the operating
system does not provide a <code class="filename">/dev/random</code>
or equivalent device, the default source of randomness
data to be used instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard
input should be used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-S <em class="replaceable"><code>key</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Create a new key which is an explicit successor to an
existing key. The name, algorithm, size, and type of the
key will be set to match the existing key. The activation
the existing one. The publication date will be set to the
activation date minus the prepublication interval, which
defaults to 30 days.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>strength</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the strength value of the key. The strength is
a number between 0 and 15, and currently has no defined
purpose in DNSSEC.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-T <em class="replaceable"><code>rrtype</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the resource record type to use for the key.
<code class="option">rrtype</code> must be either DNSKEY or KEY. The
default is DNSKEY when using a DNSSEC algorithm, but it can be
Using any TSIG algorithm (HMAC-* or DH) forces this option
to KEY.
</p>
-</dd>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Indicates the use of the key, for use with <code class="option">-T
KEY</code>. <code class="option">type</code> must be one of AUTHCONF,
NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH
refers to the ability to authenticate data, and CONF the ability
to encrypt data.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.12.9"></a><h2>TIMING OPTIONS</h2>
-<p>
+
+
+ <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
an offset from the present time. For convenience, if such an offset
is computed in seconds. To explicitly prevent a date from being
set, use 'none' or 'never'.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which a key is to be published to the zone.
After that date, the key will be included in the zone but will
not be used to sign it. If not set, and if the -G option has
not been used, the default is "now".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which CDS and CDNSKEY records that match this
key are to be published to the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now". If set, if and -P is not set, then
the publication date will be set to the activation date
minus the prepublication interval.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be revoked. After that
date, the key will be flagged as revoked. It will be included
in the zone and will be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be retired. After that
date, the key will still be included in the zone, but it
will not be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be deleted. After that
date, the key will no longer be included in the zone. (It
may remain in the key repository, however.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the CDS and CDNSKEY records that match this
key are to be deleted.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
-<p>
+ <p>
Sets the prepublication interval for a key. If set, then
the publication and activation dates must be separated by at least
this much time. If the activation date is specified but the
the publication date is specified but activation date isn't,
then activation will be set to this much time after publication.
</p>
-<p>
+ <p>
If the key is being created as an explicit successor to another
key, then the default prepublication interval is 30 days;
otherwise it is zero.
</p>
-<p>
+ <p>
As with date offsets, if the argument is followed by one of
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
interval is measured in years, months, weeks, days, hours,
or minutes, respectively. Without a suffix, the interval is
measured in seconds.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+
+ <div class="refsection">
<a name="id-1.14.12.10"></a><h2>GENERATED KEYS</h2>
-<p>
+
+ <p>
When <span class="command"><strong>dnssec-keygen</strong></span> completes
successfully,
it prints a string of the form <code class="filename">Knnnn.+aaa+iiiii</code>
to the standard output. This is an identification string for
the key it has generated.
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p><code class="filename">nnnn</code> is the key name.
- </p></li>
-<li class="listitem"><p><code class="filename">aaa</code> is the numeric representation
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <p><code class="filename">nnnn</code> is the key name.
+ </p>
+ </li>
+<li class="listitem">
+ <p><code class="filename">aaa</code> is the numeric representation
of the
algorithm.
- </p></li>
-<li class="listitem"><p><code class="filename">iiiii</code> is the key identifier (or
+ </p>
+ </li>
+<li class="listitem">
+ <p><code class="filename">iiiii</code> is the key identifier (or
footprint).
- </p></li>
+ </p>
+ </li>
</ul></div>
-<p><span class="command"><strong>dnssec-keygen</strong></span>
+ <p><span class="command"><strong>dnssec-keygen</strong></span>
creates two files, with names based
on the printed string. <code class="filename">Knnnn.+aaa+iiiii.key</code>
contains the public key, and
private
key.
</p>
-<p>
+ <p>
The <code class="filename">.key</code> file contains a DNS KEY record
that
can be inserted into a zone file (directly or with a $INCLUDE
statement).
</p>
-<p>
+ <p>
The <code class="filename">.private</code> file contains
algorithm-specific
fields. For obvious security reasons, this file does not have
general read permission.
</p>
-<p>
+ <p>
Both <code class="filename">.key</code> and <code class="filename">.private</code>
files are generated for symmetric cryptography algorithms such as
HMAC-MD5, even though the public and private key are equivalent.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.12.11"></a><h2>EXAMPLE</h2>
-<p>
+
+ <p>
To generate a 768-bit DSA key for the domain
<strong class="userinput"><code>example.com</code></strong>, the following command would be
issued:
</p>
-<p><strong class="userinput"><code>dnssec-keygen -a DSA -b 768 -n ZONE example.com</code></strong>
+ <p><strong class="userinput"><code>dnssec-keygen -a DSA -b 768 -n ZONE example.com</code></strong>
</p>
-<p>
+ <p>
The command would print a string of the form:
</p>
-<p><strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
+ <p><strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
</p>
-<p>
+ <p>
In this example, <span class="command"><strong>dnssec-keygen</strong></span> creates
the files <code class="filename">Kexample.com.+003+26160.key</code>
and
<code class="filename">Kexample.com.+003+26160.private</code>.
</p>
-<p>
+ <p>
To generate a matching key-signing key, issue the command:
</p>
-<p>
+ <p>
<strong class="userinput"><code>dnssec-keygen -a DSA -b 768 -n ZONE -f KSK example.com</code></strong>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.12.12"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2539</em>,
<em class="citetitle">RFC 2845</em>,
<em class="citetitle">RFC 4034</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-keymgr</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-keygen.html" title="dnssec-keygen">
</div>
<div class="refentry">
<a name="man.dnssec-keymgr"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-keymgr</span> — Ensures correct DNSKEY coverage for a zone based on a defined policy</p>
+<p>
+ <span class="application">dnssec-keymgr</span>
+ — Ensures correct DNSKEY coverage for a zone based on a defined policy
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-keymgr</code> [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-c <em class="replaceable"><code>file</code></em></code>] [<code class="option">-f</code>] [<code class="option">-k</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-z</code>] [<code class="option">-g <em class="replaceable"><code>path</code></em></code>] [<code class="option">-r <em class="replaceable"><code>path</code></em></code>] [<code class="option">-s <em class="replaceable"><code>path</code></em></code>] [zone...]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-keymgr</code>
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>file</code></em></code>]
+ [<code class="option">-f</code>]
+ [<code class="option">-k</code>]
+ [<code class="option">-q</code>]
+ [<code class="option">-v</code>]
+ [<code class="option">-z</code>]
+ [<code class="option">-g <em class="replaceable"><code>path</code></em></code>]
+ [<code class="option">-r <em class="replaceable"><code>path</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>path</code></em></code>]
+ [zone...]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.13.7"></a><h2>DESCRIPTION</h2>
-<p>
+ <p>
<span class="command"><strong>dnssec-keymgr</strong></span> is a high level Python wrapper
to facilitate the key rollover process for zones handled by
BIND. It uses the BIND commands for manipulating DNSSEC key
metadata: <span class="command"><strong>dnssec-keygen</strong></span> and
<span class="command"><strong>dnssec-settime</strong></span>.
</p>
-<p>
+ <p>
DNSSEC policy can be read from a configuration file (default
<code class="filename">/etc/dnssec-policy.conf</code>), from which the
key parameters, publication and rollover schedule, and desired
per-zone basis, or to set a "<code class="literal">default</code>" policy
used for all zones.
</p>
-<p>
+ <p>
When <span class="command"><strong>dnssec-keymgr</strong></span> runs, it examines the DNSSEC
keys for one or more zones, comparing their timing metadata against
the policies for those zones. If key settings do not conform to the
DNSSEC policy (for example, because the policy has been changed),
they are automatically corrected.
</p>
-<p>
+ <p>
A zone policy can specify a duration for which we want to
ensure the key correctness (<code class="option">coverage</code>). It can
also specify a rollover period (<code class="option">roll-period</code>).
coverage period ends, then a successor key will automatically be
created and added to the end of the key series.
</p>
-<p>
+ <p>
If zones are specified on the command line,
<span class="command"><strong>dnssec-keymgr</strong></span> will examine only those zones.
If a specified zone does not already have keys in place, then
keys will be generated for it according to policy.
</p>
-<p>
+ <p>
If zones are <span class="emphasis"><em>not</em></span> specified on the command
line, then <span class="command"><strong>dnssec-keymgr</strong></span> will search the
key directory (either the current working directory or the directory
set by the <code class="option">-K</code> option), and check the keys for
all the zones represented in the directory.
</p>
-<p>
+ <p>
Key times that are in the past will not be updated unless
the <code class="option">-f</code> is used (see below). Key inactivation
and deletion times that are less than five minutes in the future
will be delayed by five minutes.
</p>
-<p>
+ <p>
It is expected that this tool will be run automatically and
unattended (for example, by <span class="command"><strong>cron</strong></span>).
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.13.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-c <em class="replaceable"><code>file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
If <code class="option">-c</code> is specified, then the DNSSEC
policy is read from <code class="option">file</code>. (If not
specified, then the policy is read from
<code class="filename">/etc/dnssec-policy.conf</code>; if that file
doesn't exist, a built-in global default policy is used.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-f</span></dt>
-<dd><p>
+<dd>
+ <p>
Force: allow updating of key events even if they are
already in the past. This is not recommended for use with
zones in which keys have already been published. However,
keys have not been published in a zone as yet, then this
option can be used to clean them up and turn them into a
proper series of keys with appropriate rollover intervals.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-g <em class="replaceable"><code>keygen-path</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a path to a <span class="command"><strong>dnssec-keygen</strong></span> binary.
Used for testing.
See also the <code class="option">-s</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the <span class="command"><strong>dnssec-keymgr</strong></span> help summary
and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the directory in which keys can be found. Defaults to the
current working directory.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k</span></dt>
-<dd><p>
+<dd>
+ <p>
Only apply policies to KSK keys.
See also the <code class="option">-z</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q</span></dt>
-<dd><p>
+<dd>
+ <p>
Quiet: suppress printing of <span class="command"><strong>dnssec-keygen</strong></span>
and <span class="command"><strong>dnssec-settime</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a path to a file containing random data.
This is passed to the <span class="command"><strong>dnssec-keygen</strong></span> binary
using its <code class="option">-r</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>settime-path</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a path to a <span class="command"><strong>dnssec-settime</strong></span> binary.
Used for testing.
See also the <code class="option">-g</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the <span class="command"><strong>dnssec-keymgr</strong></span> version and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-z</span></dt>
-<dd><p>
+<dd>
+ <p>
Only apply policies to ZSK keys.
See also the <code class="option">-k</code> option.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.13.9"></a><h2>POLICY CONFIGURATION</h2>
-<p>
+ <p>
The <code class="filename">dnssec-policy.conf</code> file can specify three kinds
of policies:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <p>
<span class="emphasis"><em>Policy classes</em></span>
(<code class="option">policy <em class="replaceable"><code>name</code></em> { ... };</code>)
can be inherited by zone policies or other policy classes; these
1024-bit key sizes, but a class <strong class="userinput"><code>extra</code></strong> might
specify 2048 bits instead; <strong class="userinput"><code>extra</code></strong> would be
used for zones that had unusually high security needs.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
<span class="emphasis"><em>Algorithm policies:</em></span>
(<code class="option">algorithm-policy <em class="replaceable"><code>algorithm</code></em> { ... };</code> )
override default per-algorithm settings. For example, by default,
RSASHA256 keys use 2048-bit key sizes for both KSK and ZSK. This
can be modified using <span class="command"><strong>algorithm-policy</strong></span>, and the
new key sizes would then be used for any key of type RSASHA256.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
<span class="emphasis"><em>Zone policies:</em></span>
(<code class="option">zone <em class="replaceable"><code>name</code></em> { ... };</code> )
set policy for a single zone by name. A zone policy can inherit
Zone names beginning with digits (i.e., 0-9) must be quoted.
If a zone does not have its own policy then the
"<code class="literal">default</code>" policy applies.
- </p></li>
+ </p>
+ </li>
</ul></div>
-<p>
+ <p>
Options that can be specified in policies:
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>algorithm</strong></span>
<em class="replaceable"><code>name</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
The key algorithm. If no policy is defined, the default is
RSASHA256.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>coverage</strong></span>
<em class="replaceable"><code>duration</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
The length of time to ensure that keys will be correct; no action
will be taken to create new keys to be activated after this time.
This can be represented as a number of seconds, or as a duration
A default value for this option can be set in algorithm policies
as well as in policy classes or zone policies.
If no policy is configured, the default is six months.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>directory</strong></span>
<em class="replaceable"><code>path</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the directory in which keys should be stored.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>key-size</strong></span> <em class="replaceable"><code>keytype</code></em>
<em class="replaceable"><code>size</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the number of bits to use in creating keys.
The keytype is either "zsk" or "ksk".
A default value for this option can be set in algorithm policies
as well as in policy classes or zone policies. If no policy is
configured, the default is 1024 bits for DSA keys and 2048 for
RSA.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>keyttl</strong></span>
<em class="replaceable"><code>duration</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
The key TTL. If no policy is defined, the default is one hour.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>post-publish</strong></span> <em class="replaceable"><code>keytype</code></em>
<em class="replaceable"><code>duration</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
How long after inactivation a key should be deleted from the zone.
Note: If <code class="option">roll-period</code> is not set, this value is
ignored. The keytype is either "zsk" or "ksk".
A default duration for this option can be set in algorithm
policies as well as in policy classes or zone policies. The default
is one month.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>pre-publish</strong></span> <em class="replaceable"><code>keytype</code></em>
<em class="replaceable"><code>duration</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
How long before activation a key should be published. Note: If
<code class="option">roll-period</code> is not set, this value is ignored.
The keytype is either "zsk" or "ksk".
A default duration for this option can be set in algorithm policies
as well as in policy classes or zone policies. The default is
one month.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>roll-period</strong></span> <em class="replaceable"><code>keytype</code></em>
<em class="replaceable"><code>duration</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
How frequently keys should be rolled over.
The keytype is either "zsk" or "ksk".
A default duration for this option can be set in algorithm policies
as well as in policy classes or zone policies. If no policy is
configured, the default is one year for ZSKs. KSKs do not
roll over by default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><span class="command"><strong>standby</strong></span> <em class="replaceable"><code>keytype</code></em>
<em class="replaceable"><code>number</code></em><code class="literal">;</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Not yet implemented.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.13.10"></a><h2>REMAINING WORK</h2>
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ <p>
Enable scheduling of KSK rollovers using the <code class="option">-P sync</code>
and <code class="option">-D sync</code> options to
<span class="command"><strong>dnssec-keygen</strong></span> and
<span class="command"><strong>dnssec-settime</strong></span>. Check the parent zone
(as in <span class="command"><strong>dnssec-checkds</strong></span>) to determine when it's
safe for the key to roll.
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
Allow configuration of standby keys and use of the REVOKE bit,
for keys that use RFC 5011 semantics.
- </p></li>
+ </p>
+ </li>
</ul></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.13.11"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">dnssec-coverage</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-settime</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-checkds</span>(8)</span>
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-coverage</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-settime</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-checkds</span>(8)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-revoke</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-keymgr.html" title="dnssec-keymgr">
</div>
<div class="refentry">
<a name="man.dnssec-revoke"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-revoke</span> — set the REVOKED bit on a DNSSEC key</p>
+<p>
+ <span class="application">dnssec-revoke</span>
+ — set the REVOKED bit on a DNSSEC key
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] [<code class="option">-R</code>] {keyfile}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-revoke</code>
+ [<code class="option">-hr</code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>]
+ [<code class="option">-f</code>]
+ [<code class="option">-R</code>]
+ {keyfile}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.14.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-revoke</strong></span>
+
+ <p><span class="command"><strong>dnssec-revoke</strong></span>
reads a DNSSEC key file, sets the REVOKED bit on the key as defined
in RFC 5011, and creates a new pair of key files containing the
now-revoked key.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.14.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Emit usage message and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the directory in which the key files are to reside.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r</span></dt>
-<dd><p>
+<dd>
+ <p>
After writing the new keyset files remove the original keyset
files.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the cryptographic hardware to use, when applicable.
</p>
-<p>
+ <p>
When BIND is built with OpenSSL PKCS#11 support, this defaults
to the string "pkcs11", which identifies an OpenSSL engine
that can drive a cryptographic accelerator or hardware service
(--enable-native-pkcs11), it defaults to the path of the PKCS#11
provider library specified via "--with-pkcs11".
</p>
-</dd>
+ </dd>
<dt><span class="term">-f</span></dt>
-<dd><p>
+<dd>
+ <p>
Force overwrite: Causes <span class="command"><strong>dnssec-revoke</strong></span> to
write the new key pair even if a file already exists matching
the algorithm and key ID of the revoked key.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-R</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the key tag of the key with the REVOKE bit set but do
not revoke the key.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.14.9"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5011</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-settime</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-revoke.html" title="dnssec-revoke">
</div>
<div class="refentry">
<a name="man.dnssec-settime"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-settime</span> — set the key timing metadata for a DNSSEC key</p>
+<p>
+ <span class="application">dnssec-settime</span>
+ — set the key timing metadata for a DNSSEC key
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-settime</code> [<code class="option">-f</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-h</code>] [<code class="option">-V</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] {keyfile}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-settime</code>
+ [<code class="option">-f</code>]
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-D sync <em class="replaceable"><code>date/offset</code></em></code>]
+ [<code class="option">-S <em class="replaceable"><code>key</code></em></code>]
+ [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>]
+ {keyfile}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.15.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-settime</strong></span>
+
+ <p><span class="command"><strong>dnssec-settime</strong></span>
reads a DNSSEC private key file and sets the key timing metadata
as specified by the <code class="option">-P</code>, <code class="option">-A</code>,
<code class="option">-R</code>, <code class="option">-I</code>, and <code class="option">-D</code>
determine when a key is to be published, whether it should be
used for signing a zone, etc.
</p>
-<p>
+ <p>
If none of these options is set on the command line,
then <span class="command"><strong>dnssec-settime</strong></span> simply prints the key timing
metadata already stored in the key.
</p>
-<p>
+ <p>
When key metadata fields are changed, both files of a key
pair (<code class="filename">Knnnn.+aaa+iiiii.key</code> and
<code class="filename">Knnnn.+aaa+iiiii.private</code>) are regenerated.
file. The private file's permissions are always set to be
inaccessible to anyone other than the owner (mode 0600).
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.15.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-f</span></dt>
-<dd><p>
+<dd>
+ <p>
Force an update of an old-format key with no metadata fields.
Without this option, <span class="command"><strong>dnssec-settime</strong></span> will
fail when attempting to update a legacy key. With this option,
set to the present time. If no other values are specified,
then the key's publication and activation dates will also
be set to the present time.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the directory in which the key files are to reside.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
is no existing DNSKEY RRset, the TTL will default to the
SOA TTL. Setting the default TTL to <code class="literal">0</code>
or <code class="literal">none</code> removes it from the key.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Emit usage message and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the cryptographic hardware to use, when applicable.
</p>
-<p>
+ <p>
When BIND is built with OpenSSL PKCS#11 support, this defaults
to the string "pkcs11", which identifies an OpenSSL engine
that can drive a cryptographic accelerator or hardware service
(--enable-native-pkcs11), it defaults to the path of the PKCS#11
provider library specified via "--with-pkcs11".
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.15.9"></a><h2>TIMING OPTIONS</h2>
-<p>
+
+ <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
an offset from the present time. For convenience, if such an offset
days, hours, or minutes, respectively. Without a suffix, the offset
is computed in seconds. To unset a date, use 'none' or 'never'.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which a key is to be published to the zone.
After that date, the key will be included in the zone but will
not be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which CDS and CDNSKEY records that match this
key are to be published to the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be revoked. After that
date, the key will be flagged as revoked. It will be included
in the zone and will be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be retired. After that
date, the key will still be included in the zone, but it
will not be used to sign it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the key is to be deleted. After that
date, the key will no longer be included in the zone. (It
may remain in the key repository, however.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D sync <em class="replaceable"><code>date/offset</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the date on which the CDS and CDNSKEY records that match this
key are to be deleted.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-S <em class="replaceable"><code>predecessor key</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Select a key for which the key being modified will be an
explicit successor. The name, algorithm, size, and type of the
predecessor key must exactly match those of the key being
to the inactivation date of the predecessor. The publication
date will be set to the activation date minus the prepublication
interval, which defaults to 30 days.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
-<p>
+ <p>
Sets the prepublication interval for a key. If set, then
the publication and activation dates must be separated by at least
this much time. If the activation date is specified but the
the publication date is specified but activation date isn't,
then activation will be set to this much time after publication.
</p>
-<p>
+ <p>
If the key is being set to be an explicit successor to another
key, then the default prepublication interval is 30 days;
otherwise it is zero.
</p>
-<p>
+ <p>
As with date offsets, if the argument is followed by one of
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
interval is measured in years, months, weeks, days, hours,
or minutes, respectively. Without a suffix, the interval is
measured in seconds.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.15.10"></a><h2>PRINTING OPTIONS</h2>
-<p>
+
+ <p>
<span class="command"><strong>dnssec-settime</strong></span> can also be used to print the
timing metadata associated with a key.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-u</span></dt>
-<dd><p>
+<dd>
+ <p>
Print times in UNIX epoch format.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>C/P/Psync/A/R/I/D/Dsync/all</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Print a specific metadata value or set of metadata values.
The <code class="option">-p</code> option may be followed by one or more
of the following letters or strings to indicate which value
<code class="option">D</code> for the deletion date, and
<code class="option">Dsync</code> for the CDS and CDNSKEY deletion date
To print all of the metadata, use <code class="option">-p all</code>.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.15.11"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5011</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-signzone</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-settime.html" title="dnssec-settime">
</div>
<div class="refentry">
<a name="man.dnssec-signzone"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-signzone</span> — DNSSEC zone signing tool</p>
+<p>
+ <span class="application">dnssec-signzone</span>
+ — DNSSEC zone signing tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-M <em class="replaceable"><code>maxttl</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-P</code>] [<code class="option">-p</code>] [<code class="option">-Q</code>] [<code class="option">-R</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-X <em class="replaceable"><code>extended end-time</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-signzone</code>
+ [<code class="option">-a</code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-D</code>]
+ [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>]
+ [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>]
+ [<code class="option">-g</code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>]
+ [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>]
+ [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>]
+ [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-k <em class="replaceable"><code>key</code></em></code>]
+ [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>]
+ [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
+ [<code class="option">-M <em class="replaceable"><code>maxttl</code></em></code>]
+ [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>]
+ [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>]
+ [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>]
+ [<code class="option">-P</code>]
+ [<code class="option">-p</code>]
+ [<code class="option">-Q</code>]
+ [<code class="option">-R</code>]
+ [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>]
+ [<code class="option">-S</code>]
+ [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>]
+ [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-t</code>]
+ [<code class="option">-u</code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-X <em class="replaceable"><code>extended end-time</code></em></code>]
+ [<code class="option">-x</code>]
+ [<code class="option">-z</code>]
+ [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>]
+ [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>]
+ [<code class="option">-A</code>]
+ {zonefile}
+ [key...]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.16.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-signzone</strong></span>
+
+ <p><span class="command"><strong>dnssec-signzone</strong></span>
signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
zone. The security status of delegations from the signed zone
determined by the presence or absence of a
<code class="filename">keyset</code> file for each child zone.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.16.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-a</span></dt>
-<dd><p>
+<dd>
+ <p>
Verify all generated signatures.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the DNS class of the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-C</span></dt>
-<dd><p>
+<dd>
+ <p>
Compatibility mode: Generate a
<code class="filename">keyset-<em class="replaceable"><code>zonename</code></em></code>
file in addition to
<code class="filename">dsset-<em class="replaceable"><code>zonename</code></em></code>
when signing a zone, for use by older versions of
<span class="command"><strong>dnssec-signzone</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Look for <code class="filename">dsset-</code> or
<code class="filename">keyset-</code> files in <code class="option">directory</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D</span></dt>
-<dd><p>
+<dd>
+ <p>
Output only those record types automatically managed by
<span class="command"><strong>dnssec-signzone</strong></span>, i.e. RRSIG, NSEC,
NSEC3 and NSEC3PARAM records. If smart signing
zone file with <span class="command"><strong>$INCLUDE</strong></span>. This option
cannot be combined with <code class="option">-O raw</code>,
<code class="option">-O map</code>, or serial number updating.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
<dd>
-<p>
+ <p>
When applicable, specifies the hardware to use for
cryptographic operations, such as a secure key store used
for signing.
</p>
-<p>
+ <p>
When BIND is built with OpenSSL PKCS#11 support, this defaults
to the string "pkcs11", which identifies an OpenSSL engine
that can drive a cryptographic accelerator or hardware service
(--enable-native-pkcs11), it defaults to the path of the PKCS#11
provider library specified via "--with-pkcs11".
</p>
-</dd>
+ </dd>
<dt><span class="term">-g</span></dt>
-<dd><p>
+<dd>
+ <p>
Generate DS records for child zones from
<code class="filename">dsset-</code> or <code class="filename">keyset-</code>
file. Existing DS records will be removed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Key repository: Specify a directory to search for DNSSEC keys.
If not specified, defaults to the current directory.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k <em class="replaceable"><code>key</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Treat specified key as a key signing key ignoring any
key flags. This option may be specified multiple times.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Generate a DLV set in addition to the key (DNSKEY) and DS sets.
The domain is appended to the name of the records.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-M <em class="replaceable"><code>maxttl</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the maximum TTL for the signed zone.
Any TTL higher than <em class="replaceable"><code>maxttl</code></em> in the
input zone will be reduced to <em class="replaceable"><code>maxttl</code></em>
<code class="option">max-zone-ttl</code> in <code class="filename">named.conf</code>.
(Note: This option is incompatible with <code class="option">-D</code>,
because it modifies non-DNSSEC data in the output zone.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the date and time when the generated RRSIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
indicated by +N, which is N seconds from the current time.
If no <code class="option">start-time</code> is specified, the current
time minus 1 hour (to allow for clock skew) is used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-e <em class="replaceable"><code>end-time</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the date and time when the generated RRSIG records
expire. As with <code class="option">start-time</code>, an absolute
time is indicated in YYYYMMDDHHMMSS notation. A time relative
specified, 30 days from the start time is used as a default.
<code class="option">end-time</code> must be later than
<code class="option">start-time</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-X <em class="replaceable"><code>extended end-time</code></em></span></dt>
<dd>
-<p>
+ <p>
Specify the date and time when the generated RRSIG records
for the DNSKEY RRset will expire. This is to be used in cases
when the DNSKEY signatures need to persist longer than
of the KSK is kept offline and the KSK signature is to be
refreshed manually.
</p>
-<p>
+ <p>
As with <code class="option">start-time</code>, an absolute
time is indicated in YYYYMMDDHHMMSS notation. A time relative
to the start time is indicated with +N, which is N seconds from
30 days from the start time.) <code class="option">extended end-time</code>
must be later than <code class="option">start-time</code>.
</p>
-</dd>
+ </dd>
<dt><span class="term">-f <em class="replaceable"><code>output-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The name of the output file containing the signed zone. The
default is to append <code class="filename">.signed</code> to
the input filename. If <code class="option">output-file</code> is
set to <code class="literal">"-"</code>, then the signed zone is
written to the standard output, with a default output
format of "full".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints a short summary of the options and arguments to
<span class="command"><strong>dnssec-signzone</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
-<p>
+ <p>
When a previously-signed zone is passed as input, records
may be resigned. The <code class="option">interval</code> option
specifies the cycle interval as an offset from the current
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</p>
-<p>
+ <p>
The default cycle interval is one quarter of the difference
between the signature end and start times. So if neither
<code class="option">end-time</code> or <code class="option">start-time</code>
are due to expire in less than 7.5 days, they would be
replaced.
</p>
-</dd>
+ </dd>
<dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The format of the input zone file.
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
<span class="command"><strong>"raw"</strong></span>, and <span class="command"><strong>"map"</strong></span>.
format containing updates can be signed directly.
The use of this option does not make much sense for
non-dynamic zones.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-j <em class="replaceable"><code>jitter</code></em></span></dt>
<dd>
-<p>
+ <p>
When signing a zone with a fixed signature lifetime, all
RRSIG records issued at the time of signing expires
simultaneously. If the zone is incrementally signed, i.e.
expire time, thus spreading incremental signature
regeneration over time.
</p>
-<p>
+ <p>
Signature lifetime jitter also to some extent benefits
validators and servers by spreading out cache expiration,
i.e. if large numbers of RRSIGs don't expire at the same time
from all caches there will be less congestion than if all
validators need to refetch at mostly the same time.
</p>
-</dd>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>serial</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
When writing a signed zone to "raw" or "map" format, set the
"source serial" value in the header to the specified serial
number. (This is expected to be used primarily for testing
purposes.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-n <em class="replaceable"><code>ncpus</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the number of threads to use. By default, one
thread is started for each detected CPU.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-N <em class="replaceable"><code>soa-serial-format</code></em></span></dt>
<dd>
-<p>
+ <p>
The SOA serial number format of the signed zone.
Possible formats are <span class="command"><strong>"keep"</strong></span> (default),
<span class="command"><strong>"increment"</strong></span>, <span class="command"><strong>"unixtime"</strong></span>,
and <span class="command"><strong>"date"</strong></span>.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>"keep"</strong></span></span></dt>
-<dd><p>Do not modify the SOA serial number.</p></dd>
+<dd>
+ <p>Do not modify the SOA serial number.</p>
+ </dd>
<dt><span class="term"><span class="command"><strong>"increment"</strong></span></span></dt>
-<dd><p>Increment the SOA serial number using RFC 1982
- arithmetics.</p></dd>
+<dd>
+ <p>Increment the SOA serial number using RFC 1982
+ arithmetics.</p>
+ </dd>
<dt><span class="term"><span class="command"><strong>"unixtime"</strong></span></span></dt>
-<dd><p>Set the SOA serial number to the number of seconds
- since epoch.</p></dd>
+<dd>
+ <p>Set the SOA serial number to the number of seconds
+ since epoch.</p>
+ </dd>
<dt><span class="term"><span class="command"><strong>"date"</strong></span></span></dt>
-<dd><p>Set the SOA serial number to today's date in
- YYYYMMDDNN format.</p></dd>
+<dd>
+ <p>Set the SOA serial number to today's date in
+ YYYYMMDDNN format.</p>
+ </dd>
</dl></div>
-</dd>
+
+ </dd>
<dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-O <em class="replaceable"><code>output-format</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The format of the output file containing the signed zone.
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
which is the standard textual representation of the zone;
the raw zone file: if N is 0, the raw file can be read by
any version of <span class="command"><strong>named</strong></span>; if N is 1, the file
can be read by release 9.9.0 or higher; the default is 1.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p</span></dt>
-<dd><p>
+<dd>
+ <p>
Use pseudo-random data when signing the zone. This is faster,
but less secure, than using real random data. This option
may be useful when signing large zones or when the entropy
source is limited.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P</span></dt>
<dd>
-<p>
+ <p>
Disable post sign verification tests.
</p>
-<p>
+ <p>
The post sign verification test ensures that for each algorithm
in use there is at least one non revoked self signed KSK key,
that all revoked KSK keys are self signed, and that all records
in the zone are signed by the algorithm.
This option skips these tests.
</p>
-</dd>
+ </dd>
<dt><span class="term">-Q</span></dt>
<dd>
-<p>
+ <p>
Remove signatures from keys that are no longer active.
</p>
-<p>
+ <p>
Normally, when a previously-signed zone is passed as input
to the signer, and a DNSKEY record has been removed and
replaced with a new one, signatures from the old key
enables ZSK rollover using the procedure described in
RFC 4641, section 4.2.1.1 ("Pre-Publish Key Rollover").
</p>
-</dd>
+ </dd>
<dt><span class="term">-R</span></dt>
<dd>
-<p>
+ <p>
Remove signatures from keys that are no longer published.
</p>
-<p>
+ <p>
This option is similar to <code class="option">-Q</code>, except it
forces <span class="command"><strong>dnssec-signzone</strong></span> to signatures from
keys that are no longer published. This enables ZSK rollover
using the procedure described in RFC 4641, section 4.2.1.2
("Double Signature Zone Signing Key Rollover").
</p>
-</dd>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the source of randomness. If the operating
system does not provide a <code class="filename">/dev/random</code>
or equivalent device, the default source of randomness
data to be used instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard
input should be used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-S</span></dt>
<dd>
-<p>
+ <p>
Smart signing: Instructs <span class="command"><strong>dnssec-signzone</strong></span> to
search the key repository for keys that match the zone being
signed, and to include them in the zone if appropriate.
</p>
-<p>
+ <p>
When a key is found, its timing metadata is examined to
determine how it should be used, according to the following
rules. Each successive rule takes priority over the prior
ones:
</p>
-<div class="variablelist"><dl class="variablelist">
+ <div class="variablelist"><dl class="variablelist">
<dt></dt>
-<dd><p>
+<dd>
+ <p>
If no timing metadata has been set for the key, the key is
published in the zone and used to sign the zone.
- </p></dd>
+ </p>
+ </dd>
<dt></dt>
-<dd><p>
+<dd>
+ <p>
If the key's publication date is set and is in the past, the
key is published in the zone.
- </p></dd>
+ </p>
+ </dd>
<dt></dt>
-<dd><p>
+<dd>
+ <p>
If the key's activation date is set and in the past, the
key is published (regardless of publication date) and
used to sign the zone.
- </p></dd>
+ </p>
+ </dd>
<dt></dt>
-<dd><p>
+<dd>
+ <p>
If the key's revocation date is set and in the past, and the
key is published, then the key is revoked, and the revoked key
is used to sign the zone.
- </p></dd>
+ </p>
+ </dd>
<dt></dt>
-<dd><p>
+<dd>
+ <p>
If either of the key's unpublication or deletion dates are set
and in the past, the key is NOT published or used to sign the
zone, regardless of any other metadata.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</dd>
+ </dd>
<dt><span class="term">-T <em class="replaceable"><code>ttl</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a TTL to be used for new DNSKEY records imported
into the zone from the key repository. If not
specified, the default is the TTL value from the zone's SOA
them, or if any of the imported DNSKEY records had a default
TTL value. In the event of a a conflict between TTL values in
imported keys, the shortest one is used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t</span></dt>
-<dd><p>
+<dd>
+ <p>
Print statistics at completion.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-u</span></dt>
-<dd><p>
+<dd>
+ <p>
Update NSEC/NSEC3 chain when re-signing a previously signed
zone. With this option, a zone signed with NSEC can be
switched to NSEC3, or a zone signed with NSEC3 can
be switch to NSEC or to NSEC3 with different parameters.
Without this option, <span class="command"><strong>dnssec-signzone</strong></span> will
retain the existing chain when re-signing.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-x</span></dt>
-<dd><p>
+<dd>
+ <p>
Only sign the DNSKEY RRset with key-signing keys, and omit
signatures from zone-signing keys. (This is similar to the
<span class="command"><strong>dnssec-dnskey-kskonly yes;</strong></span> zone option in
<span class="command"><strong>named</strong></span>.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-z</span></dt>
-<dd><p>
+<dd>
+ <p>
Ignore KSK flag on key when determining what to sign. This
causes KSK-flagged keys to sign all records, not just the
DNSKEY RRset. (This is similar to the
<span class="command"><strong>update-check-ksk no;</strong></span> zone option in
<span class="command"><strong>named</strong></span>.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-3 <em class="replaceable"><code>salt</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Generate an NSEC3 chain with the given hex encoded salt.
A dash (<em class="replaceable"><code>salt</code></em>) can
be used to indicate that no salt is to be used when generating the NSEC3 chain.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-H <em class="replaceable"><code>iterations</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
When generating an NSEC3 chain, use this many iterations. The
default is 10.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-A</span></dt>
<dd>
-<p>
+ <p>
When generating an NSEC3 chain set the OPTOUT flag on all
NSEC3 records and do not generate NSEC3 records for insecure
delegations.
</p>
-<p>
+ <p>
Using this option twice (i.e., <code class="option">-AA</code>)
turns the OPTOUT flag off for all records. This is useful
when using the <code class="option">-u</code> option to modify an NSEC3
chain which previously had OPTOUT set.
</p>
-</dd>
+ </dd>
<dt><span class="term">zonefile</span></dt>
-<dd><p>
+<dd>
+ <p>
The file containing the zone to be signed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">key</span></dt>
-<dd><p>
+<dd>
+ <p>
Specify which keys should be used to sign the zone. If
no keys are specified, then the zone will be examined
for DNSKEY records at the zone apex. If these are found and
there are matching private keys, in the current directory,
then these will be used for signing.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.16.9"></a><h2>EXAMPLE</h2>
-<p>
+
+ <p>
The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated by <span class="command"><strong>dnssec-keygen</strong></span>
(Kexample.com.+003+17247). Because the <span class="command"><strong>-S</strong></span> option
Kexample.com.+003+17247
db.example.com.signed
%</pre>
-<p>
+ <p>
In the above example, <span class="command"><strong>dnssec-signzone</strong></span> creates
the file <code class="filename">db.example.com.signed</code>. This
file should be referenced in a zone statement in a
<code class="filename">named.conf</code> file.
</p>
-<p>
+ <p>
This example re-signs a previously signed zone with default parameters.
The private keys are assumed to be in the current directory.
</p>
% dnssec-signzone -o example.com db.example.com
db.example.com.signed
%</pre>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.16.10"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 4033</em>, <em class="citetitle">RFC 4641</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-verify</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-signzone.html" title="dnssec-signzone">
</div>
<div class="refentry">
<a name="man.dnssec-verify"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnssec-verify</span> — DNSSEC zone verification tool</p>
+<p>
+ <span class="application">dnssec-verify</span>
+ — DNSSEC zone verification tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnssec-verify</code> [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-x</code>] [<code class="option">-z</code>] {zonefile}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnssec-verify</code>
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>]
+ [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>]
+ [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>]
+ [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-x</code>]
+ [<code class="option">-z</code>]
+ {zonefile}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.17.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>dnssec-verify</strong></span>
+
+ <p><span class="command"><strong>dnssec-verify</strong></span>
verifies that a zone is fully signed for each algorithm found
in the DNSKEY RRset for the zone, and that the NSEC / NSEC3
chains are complete.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.17.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the DNS class of the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
<dd>
-<p>
+ <p>
Specifies the cryptographic hardware to use, when applicable.
</p>
-<p>
+ <p>
When BIND is built with OpenSSL PKCS#11 support, this defaults
to the string "pkcs11", which identifies an OpenSSL engine
that can drive a cryptographic accelerator or hardware service
(--enable-native-pkcs11), it defaults to the path of the PKCS#11
provider library specified via "--with-pkcs11".
</p>
-</dd>
+ </dd>
<dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The format of the input zone file.
Possible formats are <span class="command"><strong>"text"</strong></span> (default)
and <span class="command"><strong>"raw"</strong></span>.
format containing updates can be verified independently.
The use of this option does not make much sense for
non-dynamic zones.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the debugging level.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints version information.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-x</span></dt>
-<dd><p>
+<dd>
+ <p>
Only verify that the DNSKEY RRset is signed with key-signing
keys. Without this flag, it is assumed that the DNSKEY RRset
will be signed by all active keys. When this flag is set,
it will not be an error if the DNSKEY RRset is not signed
by zone-signing keys. This corresponds to the <code class="option">-x</code>
option in <span class="command"><strong>dnssec-signzone</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-z</span></dt>
<dd>
-<p>
+ <p>
Ignore the KSK flag on the keys when determining whether
the zone if correctly signed. Without this flag it is
assumed that there will be a non-revoked, self-signed
that RRsets other than DNSKEY RRset will be signed with
a different DNSKEY without the KSK flag set.
</p>
-<p>
+ <p>
With this flag set, we only require that for each algorithm,
there will be at least one non-revoked, self-signed DNSKEY,
regardless of the KSK flag state, and that other RRsets
for both purposes. This corresponds to the <code class="option">-z</code>
option in <span class="command"><strong>dnssec-signzone</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term">zonefile</span></dt>
-<dd><p>
+<dd>
+ <p>
The file containing the zone to be signed.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.17.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-signzone</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 4033</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnstap-read</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.arpaname.html" title="arpaname">
</div>
<div class="refentry">
<a name="man.dnstap-read"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">dnstap-read</span> — print dnstap data in human-readable form</p>
+<p>
+ <span class="application">dnstap-read</span>
+ — print dnstap data in human-readable form
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">dnstap-read</code> [<code class="option">-m</code>] [<code class="option">-p</code>] [<code class="option">-y</code>] {<em class="replaceable"><code>file</code></em>}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">dnstap-read</code>
+ [<code class="option">-m</code>]
+ [<code class="option">-p</code>]
+ [<code class="option">-y</code>]
+ {<em class="replaceable"><code>file</code></em>}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.32.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>dnstap-read</strong></span>
reads <span class="command"><strong>dnstap</strong></span> data from a specified file
and prints it in a human-readable format. By default,
format, but if the <code class="option">-y</code> option is specified,
then a longer and more detailed YAML format is used instead.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.32.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-m</span></dt>
-<dd><p>
+<dd>
+ <p>
Trace memory allocations; used for debugging memory leaks.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p</span></dt>
-<dd><p>
+<dd>
+ <p>
After printing the <span class="command"><strong>dnstap</strong></span> data, print
the text form of the DNS message that was encapsulated in the
<span class="command"><strong>dnstap</strong></span> frame.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-y</span></dt>
-<dd><p>
+<dd>
+ <p>
Print <span class="command"><strong>dnstap</strong></span> data in a detailed YAML
format.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.32.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">rndc</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>genrandom</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnstap-read.html" title="dnstap-read">
</div>
<div class="refentry">
<a name="man.genrandom"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">genrandom</span> — generate a file containing random data</p>
+<p>
+ <span class="application">genrandom</span>
+ — generate a file containing random data
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">genrandom</code> [<code class="option">-n <em class="replaceable"><code>number</code></em></code>] {<em class="replaceable"><code>size</code></em>} {<em class="replaceable"><code>filename</code></em>}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">genrandom</code>
+ [<code class="option">-n <em class="replaceable"><code>number</code></em></code>]
+ {<em class="replaceable"><code>size</code></em>}
+ {<em class="replaceable"><code>filename</code></em>}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.33.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>genrandom</strong></span>
generates a file or a set of files containing a specified quantity
of pseudo-random data, which can be used as a source of entropy for
other commands on systems with no random device.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.33.8"></a><h2>ARGUMENTS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-n <em class="replaceable"><code>number</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
In place of generating one file, generates <code class="option">number</code>
(from 2 to 9) files, appending <code class="option">number</code> to the name.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">size</span></dt>
-<dd><p>
+<dd>
+ <p>
The size of the file, in kilobytes, to generate.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">filename</span></dt>
-<dd><p>
+<dd>
+ <p>
The file name into which random data should be written.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.33.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">rand</span>(3)</span>,
- <span class="citerefentry"><span class="refentrytitle">arc4random</span>(3)</span>
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">rand</span>(3)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">arc4random</span>(3)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>host</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.mdig.html" title="mdig">
</div>
<div class="refentry">
<a name="man.host"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p>host — DNS lookup utility</p>
+<p>
+ host
+ — DNS lookup utility
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTUwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [[<code class="option">-4</code>] | [<code class="option">-6</code>]] [<code class="option">-v</code>] [<code class="option">-V</code>] {name} [server]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">host</code>
+ [<code class="option">-aCdlnrsTUwv</code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>port</code></em></code>]
+ [<code class="option">-R <em class="replaceable"><code>number</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
+ [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>]
+ [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>]
+ [
+ [<code class="option">-4</code>]
+ | [<code class="option">-6</code>]
+ ]
+ [<code class="option">-v</code>]
+ [<code class="option">-V</code>]
+ {name}
+ [server]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.4.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>host</strong></span>
+
+
+ <p><span class="command"><strong>host</strong></span>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
When no arguments or options are given,
<span class="command"><strong>host</strong></span>
prints a short summary of its command line arguments and options.
</p>
-<p><em class="parameter"><code>name</code></em> is the domain name that is to be
+
+ <p><em class="parameter"><code>name</code></em> is the domain name that is to be
looked
up. It can also be a dotted-decimal IPv4 address or a colon-delimited
IPv6 address, in which case <span class="command"><strong>host</strong></span> will by
should query instead of the server or servers listed in
<code class="filename">/etc/resolv.conf</code>.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.4.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-4</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv4 only for query transport.
See also the <code class="option">-6</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-6</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv6 only for query transport.
See also the <code class="option">-4</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-a</span></dt>
-<dd><p>
+<dd>
+ <p>
"All". The <code class="option">-a</code> option is normally equivalent
to <code class="option">-v -t <code class="literal">ANY</code></code>.
It also affects the behaviour of the <code class="option">-l</code>
list zone option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Query class: This can be used to lookup HS (Hesiod) or CH
(Chaosnet) class resource records. The default class is IN
(Internet).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-C</span></dt>
-<dd><p>
+<dd>
+ <p>
Check consistency: <span class="command"><strong>host</strong></span> will query the
SOA records for zone <em class="parameter"><code>name</code></em> from all
the listed authoritative name servers for that zone. The
list of name servers is defined by the NS records that are
found for the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-d</span></dt>
-<dd><p>
+<dd>
+ <p>
Print debugging traces.
Equivalent to the <code class="option">-v</code> verbose option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i</span></dt>
-<dd><p>
+<dd>
+ <p>
Obsolete.
Use the IP6.INT domain for reverse lookups of IPv6
addresses as defined in RFC1886 and deprecated in RFC4159.
The default is to use IP6.ARPA as specified in RFC3596.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l</span></dt>
<dd>
-<p>
+ <p>
List zone:
The <span class="command"><strong>host</strong></span> command performs a zone transfer of
zone <em class="parameter"><code>name</code></em> and prints out the NS,
PTR and address records (A/AAAA).
</p>
-<p>
+ <p>
Together, the <code class="option">-l -a</code>
options print all records in the zone.
</p>
-</dd>
+ </dd>
<dt><span class="term">-N <em class="replaceable"><code>ndots</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The number of dots that have to be
in <em class="parameter"><code>name</code></em> for it to be considered
absolute. The default value is that defined using the
searched for in the domains listed in
the <span class="type">search</span> or <span class="type">domain</span> directive
in <code class="filename">/etc/resolv.conf</code>.
- </p></dd>
+ </p>
+ </dd>
+<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
+<dd>
+ <p>
+ Specify the port on the server to query. The default is 53.
+ </p>
+ </dd>
<dt><span class="term">-r</span></dt>
-<dd><p>
+<dd>
+ <p>
Non-recursive query:
Setting this option clears the RD (recursion desired) bit
in the query. This should mean that the name server
name server by making non-recursive queries and expecting
to receive answers to those queries that can be
referrals to other name servers.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-R <em class="replaceable"><code>number</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Number of retries for UDP queries:
If <em class="parameter"><code>number</code></em> is negative or zero, the
number of retries will default to 1. The default value is
1, or the value of the <em class="parameter"><code>attempts</code></em>
option in <code class="filename">/etc/resolv.conf</code>, if set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s</span></dt>
-<dd><p>
+<dd>
+ <p>
Do <span class="emphasis"><em>not</em></span> send the query to the next
nameserver if any server responds with a SERVFAIL
response, which is the reverse of normal stub resolver
behavior.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
<dd>
-<p>
+ <p>
Query type:
The <em class="parameter"><code>type</code></em> argument can be any
recognized query type: CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc.
</p>
-<p>
+ <p>
When no query type is specified, <span class="command"><strong>host</strong></span>
automatically selects an appropriate query type. By default, it
looks for A, AAAA, and MX records.
address, <span class="command"><strong>host</strong></span> will query for PTR
records.
</p>
-<p>
+ <p>
If a query type of IXFR is chosen the starting serial
number can be specified by appending an equal followed by
the starting serial number
(like <code class="option">-t <code class="literal">IXFR=12345678</code></code>).
</p>
-</dd>
+ </dd>
<dt>
<span class="term">-T, </span><span class="term">-U</span>
</dt>
-<dd><p>
+<dd>
+ <p>
TCP/UDP:
By default, <span class="command"><strong>host</strong></span> uses UDP when making
queries. The <code class="option">-T</code> option makes it use a TCP
automatically selected for queries that require it, such
as zone transfer (AXFR) requests. Type ANY queries default
to TCP but can be forced to UDP initially using <code class="option">-U</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Memory usage debugging: the flag can
be <em class="parameter"><code>record</code></em>, <em class="parameter"><code>usage</code></em>,
or <em class="parameter"><code>trace</code></em>. You can specify
the <code class="option">-m</code> option more than once to set
multiple flags.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Verbose output.
Equivalent to the <code class="option">-d</code> debug option.
Verbose output can also be enabled by setting
the <em class="parameter"><code>debug</code></em> option
in <code class="filename">/etc/resolv.conf</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the version number and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-w</span></dt>
-<dd><p>
+<dd>
+ <p>
Wait forever: The query timeout is set to the maximum possible.
See also the <code class="option">-W</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-W <em class="replaceable"><code>wait</code></em></span></dt>
<dd>
-<p>
+ <p>
Timeout: Wait for up to <em class="parameter"><code>wait</code></em>
seconds for a reply. If <em class="parameter"><code>wait</code></em> is
less than one, the wait interval is set to one second.
</p>
-<p>
+ <p>
By default, <span class="command"><strong>host</strong></span> will wait for 5
seconds for UDP responses and 10 seconds for TCP
connections. These defaults can be overridden by
the <em class="parameter"><code>timeout</code></em> option
in <code class="filename">/etc/resolv.conf</code>.
</p>
-<p>
+ <p>
See also the <code class="option">-w</code> option.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.4.9"></a><h2>IDN SUPPORT</h2>
-<p>
+
+ <p>
If <span class="command"><strong>host</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
<span class="command"><strong>host</strong></span> appropriately converts character encoding of
The IDN support is disabled if the variable is set when
<span class="command"><strong>host</strong></span> runs.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.4.10"></a><h2>FILES</h2>
-<p><code class="filename">/etc/resolv.conf</code>
+
+ <p><code class="filename">/etc/resolv.conf</code>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.4.11"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dig</span>(1)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>isc-hmac-fixup</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.genrandom.html" title="genrandom">
</div>
<div class="refentry">
<a name="man.isc-hmac-fixup"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">isc-hmac-fixup</span> — fixes HMAC keys generated by older versions of BIND</p>
+<p>
+ <span class="application">isc-hmac-fixup</span>
+ — fixes HMAC keys generated by older versions of BIND
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">isc-hmac-fixup</code> {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>secret</code></em>}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">isc-hmac-fixup</code>
+ {<em class="replaceable"><code>algorithm</code></em>}
+ {<em class="replaceable"><code>secret</code></em>}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.34.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
Versions of BIND 9 up to and including BIND 9.6 had a bug causing
HMAC-SHA* TSIG keys which were longer than the digest length of the
hash algorithm (i.e., SHA1 keys longer than 160 bits, SHA256 keys
message authentication code that was incompatible with other DNS
implementations.
</p>
-<p>
+ <p>
This bug was fixed in BIND 9.7. However, the fix may
cause incompatibility between older and newer versions of
BIND, when using long keys. <span class="command"><strong>isc-hmac-fixup</strong></span>
modifies those keys to restore compatibility.
</p>
-<p>
+ <p>
To modify a key, run <span class="command"><strong>isc-hmac-fixup</strong></span> and
specify the key's algorithm and secret on the command line. If the
secret is longer than the digest length of the algorithm (64 bytes
secret. (If the secret did not require conversion, then it will be
printed without modification.)
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.34.8"></a><h2>SECURITY CONSIDERATIONS</h2>
-<p>
+
+ <p>
Secrets that have been converted by <span class="command"><strong>isc-hmac-fixup</strong></span>
are shortened, but as this is how the HMAC protocol works in
operation anyway, it does not affect security. RFC 2104 notes,
extra length would not significantly increase the function
strength."
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.34.9"></a><h2>SEE ALSO</h2>
-<p>
+
+ <p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2104</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>lwresd</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dnssec-verify.html" title="dnssec-verify">
</div>
<div class="refentry">
<a name="man.lwresd"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">lwresd</span> — lightweight resolver daemon</p>
+<p>
+ <span class="application">lwresd</span>
+ — lightweight resolver daemon
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">lwresd</code> [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-C <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-i <em class="replaceable"><code>pid-file</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-P <em class="replaceable"><code>port</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [[<code class="option">-4</code>] | [<code class="option">-6</code>]]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">lwresd</code>
+ [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>]
+ [<code class="option">-C <em class="replaceable"><code>config-file</code></em></code>]
+ [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>]
+ [<code class="option">-f</code>]
+ [<code class="option">-g</code>]
+ [<code class="option">-i <em class="replaceable"><code>pid-file</code></em></code>]
+ [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>]
+ [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>]
+ [<code class="option">-P <em class="replaceable"><code>port</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>port</code></em></code>]
+ [<code class="option">-s</code>]
+ [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]
+ [<code class="option">-v</code>]
+ [
+ [<code class="option">-4</code>]
+ | [<code class="option">-6</code>]
+ ]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.18.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>lwresd</strong></span>
+
+
+ <p><span class="command"><strong>lwresd</strong></span>
is the daemon providing name lookup
services to clients that use the BIND 9 lightweight resolver
library. It is essentially a stripped-down, caching-only name
server that answers queries using the BIND 9 lightweight
resolver protocol rather than the DNS protocol.
</p>
-<p><span class="command"><strong>lwresd</strong></span>
+
+ <p><span class="command"><strong>lwresd</strong></span>
listens for resolver queries on a
UDP port on the IPv4 loopback interface, 127.0.0.1. This
means that <span class="command"><strong>lwresd</strong></span> can only be used by
number 921 is used for lightweight resolver requests and
responses.
</p>
-<p>
+ <p>
Incoming lightweight resolver requests are decoded by the
server which then resolves them using the DNS protocol. When
the DNS lookup completes, <span class="command"><strong>lwresd</strong></span> encodes
the answers in the lightweight resolver format and returns
them to the client that made the request.
</p>
-<p>
+ <p>
If <code class="filename">/etc/resolv.conf</code> contains any
<code class="option">nameserver</code> entries, <span class="command"><strong>lwresd</strong></span>
sends recursive DNS queries to those servers. This is similar
queries autonomously starting at the root name servers, using
a built-in list of root server hints.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.18.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-4</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv4 only even if the host machine is capable of IPv6.
<code class="option">-4</code> and <code class="option">-6</code> are mutually
exclusive.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-6</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv6 only even if the host machine is capable of IPv4.
<code class="option">-4</code> and <code class="option">-6</code> are mutually
exclusive.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>config-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>config-file</code></em> as the
configuration file instead of the default,
<code class="filename">/etc/lwresd.conf</code>.
<code class="option">-c</code> can not be used with <code class="option">-C</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-C <em class="replaceable"><code>config-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>config-file</code></em> as the
configuration file instead of the default,
<code class="filename">/etc/resolv.conf</code>.
<code class="option">-C</code> can not be used with <code class="option">-c</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-d <em class="replaceable"><code>debug-level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the daemon's debug level to <em class="replaceable"><code>debug-level</code></em>.
Debugging traces from <span class="command"><strong>lwresd</strong></span> become
more verbose as the debug level increases.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-f</span></dt>
-<dd><p>
+<dd>
+ <p>
Run the server in the foreground (i.e. do not daemonize).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-g</span></dt>
-<dd><p>
+<dd>
+ <p>
Run the server in the foreground and force all logging
to <code class="filename">stderr</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>pid-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>pid-file</code></em> as the
PID file instead of the default,
<code class="filename">/var/run/lwresd/lwresd.pid</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Turn on memory usage debugging flags. Possible flags are
<em class="replaceable"><code>usage</code></em>,
<em class="replaceable"><code>trace</code></em>,
<em class="replaceable"><code>mctx</code></em>.
These correspond to the ISC_MEM_DEBUGXXXX flags described in
<code class="filename"><isc/mem.h></code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-n <em class="replaceable"><code>#cpus</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Create <em class="replaceable"><code>#cpus</code></em> worker threads
to take advantage of multiple CPUs. If not specified,
<span class="command"><strong>lwresd</strong></span> will try to determine the
number of CPUs present and create one thread per CPU.
If it is unable to determine the number of CPUs, a
single worker thread will be created.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P <em class="replaceable"><code>port</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Listen for lightweight resolver queries on port
<em class="replaceable"><code>port</code></em>. If
not specified, the default is port 921.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Send DNS lookups to port <em class="replaceable"><code>port</code></em>. If not
specified, the default is port 53. This provides a
way of testing the lightweight resolver daemon with a
name server that listens for queries on a non-standard
port number.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s</span></dt>
<dd>
-<p>
+ <p>
Write memory usage statistics to <code class="filename">stdout</code>
on exit.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
This option is mainly of interest to BIND 9 developers
and may be removed or changed in a future release.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
-<p>Chroot
+ <p>Chroot
to <em class="replaceable"><code>directory</code></em> after
processing the command line arguments, but before
reading the configuration file.
</p>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
-<p>
+ <p>
This option should be used in conjunction with the
<code class="option">-u</code> option, as chrooting a process
running as root doesn't enhance security on most
defined allows a process with root privileges to
escape a chroot jail.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term">-u <em class="replaceable"><code>user</code></em></span></dt>
-<dd><p>Setuid
+<dd>
+ <p>Setuid
to <em class="replaceable"><code>user</code></em> after completing
privileged operations, such as creating sockets that
listen on privileged ports.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Report the version number and exit.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.18.9"></a><h2>FILES</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt>
-<dd><p>
+<dd>
+ <p>
The default configuration file.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="filename">/var/run/lwresd.pid</code></span></dt>
-<dd><p>
+<dd>
+ <p>
The default process-id file.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.18.10"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
- <span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">lwres</span>(3)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">resolver</span>(5)
+ </span>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>mdig</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.dig.html" title="dig">
</div>
<div class="refentry">
<a name="man.mdig"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">mdig</span> — DNS pipelined lookup utility</p>
+<p>
+ <span class="application">mdig</span>
+ — DNS pipelined lookup utility
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">mdig</code> {@server} [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v</code>] [[<code class="option">-4</code>] | [<code class="option">-6</code>]] [<code class="option">-m</code>] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-i</code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [plusopt...]</p></div>
-<div class="cmdsynopsis"><p><code class="command">mdig</code> {-h}</p></div>
-<div class="cmdsynopsis"><p><code class="command">mdig</code> [@server] {global-opt...} {
+ <div class="cmdsynopsis"><p>
+ <code class="command">mdig</code>
+ {@server}
+ [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-v</code>]
+ [
+ [<code class="option">-4</code>]
+ | [<code class="option">-6</code>]
+ ]
+ [<code class="option">-m</code>]
+ [<code class="option">-b <em class="replaceable"><code>address</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
+ [<code class="option">-i</code>]
+ [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>]
+ [plusopt...]
+ </p></div>
+
+ <div class="cmdsynopsis"><p>
+ <code class="command">mdig</code>
+ {-h}
+ </p></div>
+
+ <div class="cmdsynopsis"><p>
+ <code class="command">mdig</code>
+ [@server]
+ {global-opt...}
+ {
{local-opt...}
{query}
- ...}</p></div>
-</div>
-<div class="refsection">
+ ...}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.3.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>mdig</strong></span>
+
+ <p><span class="command"><strong>mdig</strong></span>
is a multiple/pipelined query version of <span class="command"><strong>dig</strong></span>:
instead of waiting for a response after sending each query,
it begins by sending all queries. Responses are displayed in
the order in which they are received, not in the order the
corresponding queries were sent.
</p>
-<p>
+
+ <p>
<span class="command"><strong>mdig</strong></span> options are a subset of the
<span class="command"><strong>dig</strong></span> options, and are divided into "anywhere
options" which can occur anywhere, "global options" which must
and "local options" which apply to the next query on the command
line.
</p>
-<p>
+
+ <p>
The {@server} option is a mandatory global
option. It is the name or IP address of the name server to query.
(Unlike <span class="command"><strong>dig</strong></span>, this value is not retrieved from
<span class="command"><strong>mdig</strong></span> resolves that name before querying
the name server.
</p>
-<p><span class="command"><strong>mdig</strong></span>
+
+ <p><span class="command"><strong>mdig</strong></span>
provides a number of query options which affect
the way in which lookups are made and the results displayed. Some of
these set or reset flag bits in the query header, some determine which
sections of the answer get printed, and others determine the timeout
and retry strategies.
</p>
-<p>
+
+ <p>
Each query option is identified by a keyword preceded by a plus
sign (<code class="literal">+</code>). Some keywords set or reset an
option. These may be preceded by the string <code class="literal">no</code>
values to options like the timeout interval. They have the
form <code class="option">+keyword=value</code>.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.3.8"></a><h2>ANYWHERE OPTIONS</h2>
-<p>
+
+
+ <p>
The <code class="option">-f</code> option makes <span class="command"><strong>mdig</strong></span>
operate in batch mode by reading a list of lookup requests to
process from the file <em class="parameter"><code>filename</code></em>. The file
file should be organized in the same way they would be presented
as queries to <span class="command"><strong>mdig</strong></span> using the command-line interface.
</p>
-<p>
+
+ <p>
The <code class="option">-h</code> causes <span class="command"><strong>mdig</strong></span> to
print the detailed help with the full list of options and exit.
</p>
-<p>
+
+ <p>
The <code class="option">-v</code> causes <span class="command"><strong>mdig</strong></span> to
print the version number and exit.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.3.9"></a><h2>GLOBAL OPTIONS</h2>
-<p>
+
+
+ <p>
The <code class="option">-4</code> option forces <span class="command"><strong>mdig</strong></span> to
only use IPv4 query transport.
</p>
-<p>
+
+ <p>
The <code class="option">-6</code> option forces <span class="command"><strong>mdig</strong></span> to
only use IPv6 query transport.
</p>
-<p>
+
+ <p>
The <code class="option">-b</code> option sets the source IP address of the
query to <em class="parameter"><code>address</code></em>. This must be a valid
address on one of the host's network interfaces or "0.0.0.0" or
"::". An optional port may be specified by appending
"#<port>"
</p>
-<p>
+
+ <p>
The <code class="option">-m</code> option enables memory usage debugging.
</p>
-<p>
+
+ <p>
The <code class="option">-p</code> option is used when a non-standard port
number is to be queried.
<em class="parameter"><code>port#</code></em> is the port number
test a name server that has been configured to listen for
queries on a non-standard port number.
</p>
-<p>
+
+ <p>
The global query options are:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="option">+[no]additional</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the additional section of a
reply. The default is to display it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]all</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set or clear all display flags.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]answer</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the answer section of a
reply. The default is to display it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]authority</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the authority section of a
reply. The default is to display it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]besteffort</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Attempt to display the contents of messages which are
malformed. The default is to not display malformed
answers.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]cl</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the CLASS when printing the
record.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]comments</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of comment lines in the output.
The default is to print comments.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]continue</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Continue on errors (e.g. timeouts).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]crypto</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of cryptographic fields in DNSSEC
records. The contents of these field are unnecessary
to debug most DNSSEC validation failures and removing
are replaced by the string "[omitted]" or in the
DNSKEY case the key id is displayed as the replacement,
e.g. "[ key id = value ]".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+dscp[=value]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the DSCP code point to be used when sending the
query. Valid DSCP code points are in the range
[0..63]. By default no code point is explicitly set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]multiline</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print records like the SOA records in a verbose
multi-line format with human-readable comments. The
default is to print each record on a single line, to
facilitate machine parsing of the <span class="command"><strong>mdig</strong></span>
output.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]question</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print [do not print] the question section of a query
when an answer is returned. The default is to print
the question section as a comment.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]rrcomments</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the display of per-record comments in the
output (for example, human-readable key information
about DNSKEY records). The default is not to print
record comments unless multiline mode is active.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]short</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Provide a terse answer. The default is to print the
answer in a verbose form.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+split=W</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Split long hex- or base64-formatted fields in resource
records into chunks of <em class="parameter"><code>W</code></em>
characters (where <em class="parameter"><code>W</code></em> is rounded
<em class="parameter"><code>+split=0</code></em> causes fields not to
be split at all. The default is 56 characters, or
44 characters when multiline mode is active.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Use [do not use] TCP when querying name servers. The
default behavior is to use UDP.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ttlid</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the TTL when printing the
record.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ttlunits</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Display [do not display] the TTL in friendly human-readable
time units of "s", "m", "h", "d", and "w", representing
seconds, minutes, hours, days and weeks. Implies +ttlid.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]vc</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Use [do not use] TCP when querying name servers. This
alternate syntax to <em class="parameter"><code>+[no]tcp</code></em>
is provided for backwards compatibility. The "vc"
stands for "virtual circuit".
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.3.10"></a><h2>LOCAL OPTIONS</h2>
-<p>
+
+
+ <p>
The <code class="option">-c</code> option sets the query class to
<em class="parameter"><code>class</code></em>. It can be any valid query class
which is supported in BIND 9. The default query class is "IN".
</p>
-<p>
+
+ <p>
The <code class="option">-t</code> option sets the query type to
<em class="parameter"><code>type</code></em>. It can be any valid query type
which is supported in BIND 9. The default query type is "A",
unless the <code class="option">-x</code> option is supplied to indicate
a reverse lookup with the "PTR" query type.
</p>
-<p>
+
+ <p>
The <code class="option">-i</code> option sets the reverse domain for
IPv6 addresses to IP6.INT.
</p>
-<p>
+
+ <p>
Reverse lookups — mapping addresses to names — are
simplified by the <code class="option">-x</code> option.
<em class="parameter"><code>addr</code></em> is an IPv4
under the IP6.ARPA domain. To use the older RFC1886 method
using the IP6.INT domain specify the <code class="option">-i</code> option.
</p>
-<p>
+
+ <p>
The local query options are:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="option">+[no]aaflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
A synonym for <em class="parameter"><code>+[no]aaonly</code></em>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]aaonly</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the "aa" flag in the query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]adflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set [do not set] the AD (authentic data) bit in the
query. This requests the server to return whether
all of the answer and authority sections have all
from a OPT-OUT range. AD=0 indicate that some part
of the answer was insecure or not validated. This
bit is set by default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+bufsize=B</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the UDP message buffer size advertised using EDNS0
to <em class="parameter"><code>B</code></em> bytes. The maximum and
minimum sizes of this buffer are 65535 and 0 respectively.
Values outside this range are rounded up or down
appropriately. Values other than zero will cause a
EDNS query to be sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set [do not set] the CD (checking disabled) bit in
the query. This requests the server to not perform
DNSSEC validation of responses.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]cookie[<span class="optional">=####</span>]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Send a COOKIE EDNS option, with optional value.
Replaying a COOKIE from a previous response will allow
the server to identify a previous client. The default
is <code class="option">+nocookie</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]dnssec</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Requests DNSSEC records be sent by setting the DNSSEC
OK bit (DO) in the OPT record in the additional section
of the query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]edns[=#]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the EDNS version to query with. Valid values
are 0 to 255. Setting the EDNS version will cause
a EDNS query to be sent. <code class="option">+noedns</code>
clears the remembered EDNS version. EDNS is set to
0 by default.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ednsflags[=#]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the must-be-zero EDNS flags bits (Z bits) to the
specified value. Decimal, hex and octal encodings are
accepted. Setting a named flag (e.g. DO) will silently be
ignored. By default, no Z bits are set.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]ednsopt[=code[:value]]</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify EDNS option with code point <code class="option">code</code>
and optionally payload of <code class="option">value</code> as a
hexadecimal string. <code class="option">+noednsopt</code>
clears the EDNS options to be sent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]expire</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Send an EDNS Expire option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]nsid</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Include an EDNS name server ID request when sending
a query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]recurse</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Toggle the setting of the RD (recursion desired) bit
in the query. This bit is set by default, which means
<span class="command"><strong>mdig</strong></span> normally sends recursive
queries.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+retry=T</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the number of times to retry UDP queries to
server to <em class="parameter"><code>T</code></em> instead of the
default, 2. Unlike <em class="parameter"><code>+tries</code></em>,
this does not include the initial query.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]subnet=addr[/prefix-length]</code></span></dt>
<dd>
-<p>
+ <p>
Send (don't send) an EDNS Client Subnet option with the
specified IP address or network prefix.
</p>
-<p>
+ <p>
<span class="command"><strong>mdig +subnet=0.0.0.0/0</strong></span>, or simply
<span class="command"><strong>mdig +subnet=0</strong></span> for short, sends an EDNS
client-subnet option with an empty address and a source
<span class="emphasis"><em>not</em></span> be used when resolving
this query.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="option">+timeout=T</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the timeout for a query to
<em class="parameter"><code>T</code></em> seconds. The default
timeout is 5 seconds for UDP transport and 10 for TCP.
An attempt to set <em class="parameter"><code>T</code></em> to less
than 1 will result
in a query timeout of 1 second being applied.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+tries=T</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the number of times to try UDP queries to server
to <em class="parameter"><code>T</code></em> instead of the default,
3. If <em class="parameter"><code>T</code></em> is less than or equal
to zero, the number of tries is silently rounded up
to 1.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+udptimeout=T</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the timeout between UDP query retries.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]unknownformat</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Print all RDATA in unknown RR type presentation format
(RFC 3597). The default is to print RDATA for known types
in the type's presentation format.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="option">+[no]zflag</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Set [do not set] the last unassigned DNS header flag in a
DNS query. This flag is off by default.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.3.11"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dig</span>(1)
+ </span>,
<em class="citetitle">RFC1035</em>.
</p>
-</div>
+ </div>
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-checkconf</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.named.conf.html" title="named.conf">
</div>
<div class="refentry">
<a name="man.named-checkconf"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">named-checkconf</span> — named configuration file syntax checking tool</p>
+<p>
+ <span class="application">named-checkconf</span>
+ — named configuration file syntax checking tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-hjvz</code>] [<code class="option">-p</code>
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-checkconf</code>
+ [<code class="option">-hjvz</code>]
+ [<code class="option">-p</code>
[<code class="option">-x</code>
- ]] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename}</p></div>
-</div>
-<div class="refsection">
+ ]]
+ [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
+ {filename}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.21.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>named-checkconf</strong></span>
+
+ <p><span class="command"><strong>named-checkconf</strong></span>
checks the syntax, but not the semantics, of a
<span class="command"><strong>named</strong></span> configuration file. The file is parsed
and checked for syntax errors, along with all files included by it.
If no file is specified, <code class="filename">/etc/named.conf</code> is read
by default.
</p>
-<p>
+ <p>
Note: files that <span class="command"><strong>named</strong></span> reads in separate
parser contexts, such as <code class="filename">rndc.key</code> and
<code class="filename">bind.keys</code>, are not automatically read
successful. <span class="command"><strong>named-checkconf</strong></span> can be run
on these files explicitly, however.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.21.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the usage summary and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-j</span></dt>
-<dd><p>
+<dd>
+ <p>
When loading a zonefile read the journal if it exists.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p</span></dt>
-<dd><p>
+<dd>
+ <p>
Print out the <code class="filename">named.conf</code> and included files
in canonical form if no errors were detected.
See also the <code class="option">-x</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Chroot to <code class="filename">directory</code> so that include
directives in the configuration file are processed as if
run by a similarly chrooted <span class="command"><strong>named</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the version of the <span class="command"><strong>named-checkconf</strong></span>
program and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-x</span></dt>
-<dd><p>
+<dd>
+ <p>
When printing the configuration files in canonical
form, obscure shared secrets by replacing them with
strings of question marks ('?'). This allows the
files to be shared — for example, when submitting
bug reports — without compromising private data.
This option cannot be used without <code class="option">-p</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-z</span></dt>
-<dd><p>
+<dd>
+ <p>
Perform a test load of all master zones found in
<code class="filename">named.conf</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">filename</span></dt>
-<dd><p>
+<dd>
+ <p>
The name of the configuration file to be checked. If not
specified, it defaults to <code class="filename">/etc/named.conf</code>.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.21.9"></a><h2>RETURN VALUES</h2>
-<p><span class="command"><strong>named-checkconf</strong></span>
+
+ <p><span class="command"><strong>named-checkconf</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.21.10"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named-checkzone</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-checkzone</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.named-checkconf.html" title="named-checkconf">
</div>
<div class="refentry">
<a name="man.named-checkzone"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">named-checkzone</span>, <span class="application">named-compilezone</span> — zone file validity checking or converting tool</p>
+<p>
+ <span class="application">named-checkzone</span>,
+ <span class="application">named-compilezone</span>
+ — zone file validity checking or converting tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-J <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-l <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-T <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
-<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-J <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-l <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-T <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-checkzone</code>
+ [<code class="option">-d</code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-j</code>]
+ [<code class="option">-q</code>]
+ [<code class="option">-v</code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>format</code></em></code>]
+ [<code class="option">-F <em class="replaceable"><code>format</code></em></code>]
+ [<code class="option">-J <em class="replaceable"><code>filename</code></em></code>]
+ [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-l <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>]
+ [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>]
+ [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>style</code></em></code>]
+ [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-T <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-D</code>]
+ [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>]
+ {zonename}
+ {filename}
+ </p></div>
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-compilezone</code>
+ [<code class="option">-d</code>]
+ [<code class="option">-j</code>]
+ [<code class="option">-q</code>]
+ [<code class="option">-v</code>]
+ [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
+ [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-f <em class="replaceable"><code>format</code></em></code>]
+ [<code class="option">-F <em class="replaceable"><code>format</code></em></code>]
+ [<code class="option">-J <em class="replaceable"><code>filename</code></em></code>]
+ [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-l <em class="replaceable"><code>ttl</code></em></code>]
+ [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>]
+ [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>style</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-T <em class="replaceable"><code>mode</code></em></code>]
+ [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-D</code>]
+ [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>]
+ {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>}
+ {zonename}
+ {filename}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.22.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>named-checkzone</strong></span>
+
+ <p><span class="command"><strong>named-checkzone</strong></span>
checks the syntax and integrity of a zone file. It performs the
same checks as <span class="command"><strong>named</strong></span> does when loading a
zone. This makes <span class="command"><strong>named-checkzone</strong></span> useful for
checking zone files before configuring them into a name server.
</p>
-<p>
+ <p>
<span class="command"><strong>named-compilezone</strong></span> is similar to
<span class="command"><strong>named-checkzone</strong></span>, but it always dumps the
zone contents to a specified file in a specified format.
least be as strict as those specified in the
<span class="command"><strong>named</strong></span> configuration file.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.22.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-d</span></dt>
-<dd><p>
+<dd>
+ <p>
Enable debugging.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the usage summary and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q</span></dt>
-<dd><p>
+<dd>
+ <p>
Quiet mode - exit code only.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the version of the <span class="command"><strong>named-checkzone</strong></span>
program and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-j</span></dt>
-<dd><p>
+<dd>
+ <p>
When loading a zone file, read the journal if it exists.
The journal file name is assumed to be the zone file name
appended with the string <code class="filename">.jnl</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-J <em class="replaceable"><code>filename</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
When loading the zone file read the journal from the given
file, if it exists. (Implies -j.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the class of the zone. If not specified, "IN" is assumed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
-<p>
+ <p>
Perform post-load zone integrity checks. Possible modes are
<span class="command"><strong>"full"</strong></span> (default),
<span class="command"><strong>"full-sibling"</strong></span>,
<span class="command"><strong>"local-sibling"</strong></span> and
<span class="command"><strong>"none"</strong></span>.
</p>
-<p>
+ <p>
Mode <span class="command"><strong>"full"</strong></span> checks that MX records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <span class="command"><strong>"local"</strong></span> only
checks MX records which refer to in-zone hostnames.
</p>
-<p>
+ <p>
Mode <span class="command"><strong>"full"</strong></span> checks that SRV records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <span class="command"><strong>"local"</strong></span> only
checks SRV records which refer to in-zone hostnames.
</p>
-<p>
+ <p>
Mode <span class="command"><strong>"full"</strong></span> checks that delegation NS
records refer to A or AAAA record (both in-zone and out-of-zone
hostnames). It also checks that glue address records
refer to in-zone hostnames or that some required glue exists,
that is when the nameserver is in a child zone.
</p>
-<p>
+ <p>
Mode <span class="command"><strong>"full-sibling"</strong></span> and
<span class="command"><strong>"local-sibling"</strong></span> disable sibling glue
checks but are otherwise the same as <span class="command"><strong>"full"</strong></span>
and <span class="command"><strong>"local"</strong></span> respectively.
</p>
-<p>
+ <p>
Mode <span class="command"><strong>"none"</strong></span> disables the checks.
</p>
-</dd>
+ </dd>
<dt><span class="term">-f <em class="replaceable"><code>format</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the format of the zone file.
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
<span class="command"><strong>"raw"</strong></span>, and <span class="command"><strong>"map"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-F <em class="replaceable"><code>format</code></em></span></dt>
<dd>
-<p>
+ <p>
Specify the format of the output file specified.
For <span class="command"><strong>named-checkzone</strong></span>,
this does not cause any effects unless it dumps the zone
contents.
</p>
-<p>
+ <p>
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
which is the standard textual representation of the zone,
and <span class="command"><strong>"map"</strong></span>, <span class="command"><strong>"raw"</strong></span>,
any version of <span class="command"><strong>named</strong></span>; if N is 1, the file
can be read by release 9.9.0 or higher; the default is 1.
</p>
-</dd>
+ </dd>
<dt><span class="term">-k <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Perform <span class="command"><strong>"check-names"</strong></span> checks with the
specified failure mode.
Possible modes are <span class="command"><strong>"fail"</strong></span>
<span class="command"><strong>"warn"</strong></span>
(default for <span class="command"><strong>named-checkzone</strong></span>) and
<span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>ttl</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets a maximum permissible TTL for the input file.
Any record with a TTL higher than this value will cause
the zone to be rejected. This is similar to using the
<span class="command"><strong>max-zone-ttl</strong></span> option in
<code class="filename">named.conf</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>serial</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
When compiling a zone to "raw" or "map" format, set the
"source serial" value in the header to the specified serial
number. (This is expected to be used primarily for testing
purposes.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify whether MX records should be checked to see if they
are addresses. Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-M <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Check if a MX record refers to a CNAME.
Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-n <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify whether NS records should be checked to see if they
are addresses.
Possible modes are <span class="command"><strong>"fail"</strong></span>
<span class="command"><strong>"warn"</strong></span>
(default for <span class="command"><strong>named-checkzone</strong></span>) and
<span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-o <em class="replaceable"><code>filename</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Write zone output to <code class="filename">filename</code>.
If <code class="filename">filename</code> is <code class="filename">-</code> then
write to standard out.
This is mandatory for <span class="command"><strong>named-compilezone</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Check for records that are treated as different by DNSSEC but
are semantically equal in plain DNS.
Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>style</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the style of the dumped zone file.
Possible styles are <span class="command"><strong>"full"</strong></span> (default)
and <span class="command"><strong>"relative"</strong></span>.
contents.
It also does not have any meaning if the output format
is not text.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-S <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Check if a SRV record refers to a CNAME.
Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Chroot to <code class="filename">directory</code> so that
include
directives in the configuration file are processed as if
run by a similarly chrooted <span class="command"><strong>named</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-T <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Check if Sender Policy Framework (SPF) records exist
and issues a warning if an SPF-formatted TXT record is
not also present. Possible modes are <span class="command"><strong>"warn"</strong></span>
(default), <span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-w <em class="replaceable"><code>directory</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
chdir to <code class="filename">directory</code> so that
relative
filenames in master file $INCLUDE directives work. This
is similar to the directory clause in
<code class="filename">named.conf</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D</span></dt>
-<dd><p>
+<dd>
+ <p>
Dump zone file in canonical format.
This is always enabled for <span class="command"><strong>named-compilezone</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-W <em class="replaceable"><code>mode</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify whether to check for non-terminal wildcards.
Non-terminal wildcards are almost always the result of a
failure to understand the wildcard matching algorithm (RFC 1034).
Possible modes are <span class="command"><strong>"warn"</strong></span> (default)
and
<span class="command"><strong>"ignore"</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">zonename</span></dt>
-<dd><p>
+<dd>
+ <p>
The domain name of the zone being checked.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">filename</span></dt>
-<dd><p>
+<dd>
+ <p>
The name of the zone file.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.22.9"></a><h2>RETURN VALUES</h2>
-<p><span class="command"><strong>named-checkzone</strong></span>
+
+ <p><span class="command"><strong>named-checkzone</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.22.10"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named-checkconf</span>(8)
+ </span>,
<em class="citetitle">RFC 1035</em>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-journalprint</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.named-checkzone.html" title="named-checkzone">
</div>
<div class="refentry">
<a name="man.named-journalprint"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">named-journalprint</span> — print zone journal in human-readable form</p>
+<p>
+ <span class="application">named-journalprint</span>
+ — print zone journal in human-readable form
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named-journalprint</code> {<em class="replaceable"><code>journal</code></em>}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-journalprint</code>
+ {<em class="replaceable"><code>journal</code></em>}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.23.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>named-journalprint</strong></span>
prints the contents of a zone journal file in a human-readable
form.
</p>
-<p>
+ <p>
Journal files are automatically created by <span class="command"><strong>named</strong></span>
when changes are made to dynamic zones (e.g., by
<span class="command"><strong>nsupdate</strong></span>). They record each addition
<code class="filename">.jnl</code> to the name of the corresponding
zone file.
</p>
-<p>
+ <p>
<span class="command"><strong>named-journalprint</strong></span> converts the contents of a given
journal file into a human-readable text format. Each line begins
with "add" or "del", to indicate whether the record was added or
deleted, and continues with the resource record in master-file
format.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.23.8"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">nsupdate</span>(1)</span>,
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">nsupdate</span>(1)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-nzd2nzf</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.named-journalprint.html" title="named-journalprint">
</div>
<div class="refentry">
<a name="man.named-nzd2nzf"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">named-nzd2nzf</span> —
+<p>
+ <span class="application">named-nzd2nzf</span>
+ —
Convert an NZD database to NZF text format
- </p>
+
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named-nzd2nzf</code> {filename}</p></div>
-</div>
-<div class="refsect1">
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-nzd2nzf</code>
+ {filename}
+ </p></div>
+ </div>
+
+ <div class="refsect1">
<a name="id-1.14.24.6"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>named-nzd2nzf</strong></span> converts an NZD database to NZF
format and prints it to standard output. This can be used to
review the configuration of zones that were added to
when rolling back from a newer version
of BIND to an older version.
</p>
-</div>
-<div class="refsect1">
+ </div>
+
+ <div class="refsect1">
<a name="id-1.14.24.7"></a><h2>ARGUMENTS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">filename</span></dt>
-<dd><p>
+<dd>
+ <p>
The name of the <code class="filename">.nzd</code> file whose contents
should be printed.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsect1">
+ </div>
+
+ <div class="refsect1">
<a name="id-1.14.24.8"></a><h2>SEE ALSO</h2>
-<p>
+
+ <p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>
</p>
-</div>
-<div class="refsect1">
+ </div>
+
+ <div class="refsect1">
<a name="id-1.14.24.9"></a><h2>AUTHOR</h2>
-<p><span class="corpauthor">Internet Systems Consortium</span>
+
+ <p><span class="corpauthor">Internet Systems Consortium</span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-rrchecker</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.named-nzd2nzf.html" title="named-nzd2nzf">
</div>
<div class="refentry">
<a name="man.named-rrchecker"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">named-rrchecker</span> — syntax checker for individual DNS resource records</p>
+<p>
+ <span class="application">named-rrchecker</span>
+ — syntax checker for individual DNS resource records
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named-rrchecker</code> [<code class="option">-h</code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-p</code>] [<code class="option">-u</code>] [<code class="option">-C</code>] [<code class="option">-T</code>] [<code class="option">-P</code>]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">named-rrchecker</code>
+ [<code class="option">-h</code>]
+ [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>]
+ [<code class="option">-p</code>]
+ [<code class="option">-u</code>]
+ [<code class="option">-C</code>]
+ [<code class="option">-T</code>]
+ [<code class="option">-P</code>]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.25.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>named-rrchecker</strong></span>
+
+ <p><span class="command"><strong>named-rrchecker</strong></span>
read a individual DNS resource record from standard input and checks if it
is syntactically correct.
</p>
-<p>
+ <p>
The <code class="option">-h</code> prints out the help menu.
</p>
-<p>
+ <p>
The <code class="option">-o <em class="replaceable"><code>origin</code></em></code>
option specifies a origin to be used when interpreting the record.
</p>
-<p>
+ <p>
The <code class="option">-p</code> prints out the resulting record in canonical
form. If there is no canonical form defined then the record will be
printed in unknown record format.
</p>
-<p>
+ <p>
The <code class="option">-u</code> prints out the resulting record in unknown record
form.
</p>
-<p>
+ <p>
The <code class="option">-C</code>, <code class="option">-T</code> and <code class="option">-P</code>
print out the known class, standard type and private type mnemonics
respectively.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.25.8"></a><h2>SEE ALSO</h2>
-<p>
+
+ <p>
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named.conf</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.named.html" title="named">
</div>
<div class="refentry">
<a name="man.named.conf"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><code class="filename">named.conf</code> — configuration file for <span class="command"><strong>named</strong></span></p>
+<p>
+ <code class="filename">named.conf</code>
+ — configuration file for <span class="command"><strong>named</strong></span>
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named.conf</code> </p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">named.conf</code>
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.7"></a><h2>DESCRIPTION</h2>
-<p><code class="filename">named.conf</code> is the configuration file
+
+ <p><code class="filename">named.conf</code> is the configuration file
for
<span class="command"><strong>named</strong></span>. Statements are enclosed
in braces and terminated with a semi-colon. Clauses in
the statements are also semi-colon terminated. The usual
comment styles are supported:
</p>
-<p>
+ <p>
C style: /* */
</p>
-<p>
+ <p>
C++ style: // to end of line
</p>
-<p>
+ <p>
Unix style: # to end of line
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.8"></a><h2>ACL</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
acl <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.9"></a><h2>CONTROLS</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
controls {<br>
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] allow<br>
<em class="replaceable"><code>boolean</code></em> ];<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.10"></a><h2>DLZ</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
dlz <em class="replaceable"><code>string</code></em> {<br>
database <em class="replaceable"><code>string</code></em>;<br>
search <em class="replaceable"><code>boolean</code></em>;<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.11"></a><h2>DYNDB</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
dyndb <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>quoted_string</code></em> {<br>
<em class="replaceable"><code>unspecified-text</code></em> };<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.12"></a><h2>KEY</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
key <em class="replaceable"><code>string</code></em> {<br>
algorithm <em class="replaceable"><code>string</code></em>;<br>
secret <em class="replaceable"><code>string</code></em>;<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.13"></a><h2>LOGGING</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
logging {<br>
category <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
channel <em class="replaceable"><code>string</code></em> {<br>
};<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.14"></a><h2>LWRES</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
lwres {<br>
listen-on [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>ipv4_address</code></em><br>
| <em class="replaceable"><code>ipv6_address</code></em> ) [ port <em class="replaceable"><code>integer</code></em> ] [ dscp <em class="replaceable"><code>integer</code></em> ]; ... };<br>
view <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ];<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.15"></a><h2>MANAGED-KEYS</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
managed-keys { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>integer</code></em><br>
<em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.16"></a><h2>MASTERS</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
masters <em class="replaceable"><code>string</code></em> [ port <em class="replaceable"><code>integer</code></em> ] [ dscp<br>
<em class="replaceable"><code>integer</code></em> ] { ( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<br>
port <em class="replaceable"><code>integer</code></em> ] | <em class="replaceable"><code>ipv6_address</code></em> [ port<br>
<em class="replaceable"><code>integer</code></em> ] ) [ key <em class="replaceable"><code>string</code></em> ]; ... };<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.17"></a><h2>OPTIONS</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
options {<br>
acache-cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
acache-enable <em class="replaceable"><code>boolean</code></em>;<br>
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.18"></a><h2>SERVER</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
server <em class="replaceable"><code>netprefix</code></em> {<br>
bogus <em class="replaceable"><code>boolean</code></em>;<br>
edns <em class="replaceable"><code>boolean</code></em>;<br>
transfers <em class="replaceable"><code>integer</code></em>;<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.19"></a><h2>STATISTICS-CHANNELS</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
statistics-channels {<br>
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> |<br>
* ) [ port ( <em class="replaceable"><code>integer</code></em> | * ) ] [<br>
} ];<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.20"></a><h2>TRUSTED-KEYS</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
trusted-keys { <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>integer</code></em><br>
<em class="replaceable"><code>integer</code></em> <em class="replaceable"><code>quoted_string</code></em>; ... };<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.21"></a><h2>VIEW</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
view <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
acache-cleaning-interval <em class="replaceable"><code>integer</code></em>;<br>
acache-enable <em class="replaceable"><code>boolean</code></em>;<br>
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.22"></a><h2>ZONE</h2>
-<div class="literallayout"><p><br>
+
+ <div class="literallayout"><p><br>
zone <em class="replaceable"><code>string</code></em> [ <em class="replaceable"><code>class</code></em> ] {<br>
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
allow-query { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
zone-statistics ( full | terse | none | <em class="replaceable"><code>boolean</code></em> );<br>
};<br>
</p></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.23"></a><h2>FILES</h2>
-<p><code class="filename">/etc/named.conf</code>
+
+ <p><code class="filename">/etc/named.conf</code>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.20.24"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">ddns-confgen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">ddns-confgen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named-checkconf</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">rndc</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">rndc-confgen</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.lwresd.html" title="lwresd">
</div>
<div class="refentry">
<a name="man.named"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">named</span> — Internet domain name server</p>
+<p>
+ <span class="application">named</span>
+ — Internet domain name server
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">named</code> [[<code class="option">-4</code>] | [<code class="option">-6</code>]] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-D <em class="replaceable"><code>string</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-L <em class="replaceable"><code>logfile</code></em></code>] [<code class="option">-M <em class="replaceable"><code>option</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-U <em class="replaceable"><code>#listeners</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-X <em class="replaceable"><code>lock-file</code></em></code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">named</code>
+ [
+ [<code class="option">-4</code>]
+ | [<code class="option">-6</code>]
+ ]
+ [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>]
+ [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>]
+ [<code class="option">-D <em class="replaceable"><code>string</code></em></code>]
+ [<code class="option">-E <em class="replaceable"><code>engine-name</code></em></code>]
+ [<code class="option">-f</code>]
+ [<code class="option">-g</code>]
+ [<code class="option">-L <em class="replaceable"><code>logfile</code></em></code>]
+ [<code class="option">-M <em class="replaceable"><code>option</code></em></code>]
+ [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>]
+ [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>port</code></em></code>]
+ [<code class="option">-s</code>]
+ [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
+ [<code class="option">-U <em class="replaceable"><code>#listeners</code></em></code>]
+ [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]
+ [<code class="option">-v</code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-X <em class="replaceable"><code>lock-file</code></em></code>]
+ [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.19.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>named</strong></span>
+
+ <p><span class="command"><strong>named</strong></span>
is a Domain Name System (DNS) server,
part of the BIND 9 distribution from ISC. For more
information on the DNS, see RFCs 1033, 1034, and 1035.
</p>
-<p>
+ <p>
When invoked without arguments, <span class="command"><strong>named</strong></span>
will
read the default configuration file
<code class="filename">/etc/named.conf</code>, read any initial
data, and listen for queries.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.19.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-4</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv4 only even if the host machine is capable of IPv6.
<code class="option">-4</code> and <code class="option">-6</code> are mutually
exclusive.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-6</span></dt>
-<dd><p>
+<dd>
+ <p>
Use IPv6 only even if the host machine is capable of IPv4.
<code class="option">-4</code> and <code class="option">-6</code> are mutually
exclusive.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>config-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>config-file</code></em> as the
configuration file instead of the default,
<code class="filename">/etc/named.conf</code>. To
<code class="option">directory</code> option in the configuration
file, <em class="replaceable"><code>config-file</code></em> should be
an absolute pathname.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-d <em class="replaceable"><code>debug-level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the daemon's debug level to <em class="replaceable"><code>debug-level</code></em>.
Debugging traces from <span class="command"><strong>named</strong></span> become
more verbose as the debug level increases.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D <em class="replaceable"><code>string</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a string that is used to identify a instance of
<span class="command"><strong>named</strong></span> in a process listing. The contents
of <em class="replaceable"><code>string</code></em> are
not examined.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-E <em class="replaceable"><code>engine-name</code></em></span></dt>
<dd>
-<p>
+ <p>
When applicable, specifies the hardware to use for
cryptographic operations, such as a secure key store used
for signing.
</p>
-<p>
+ <p>
When BIND is built with OpenSSL PKCS#11 support, this defaults
to the string "pkcs11", which identifies an OpenSSL engine
that can drive a cryptographic accelerator or hardware service
(--enable-native-pkcs11), it defaults to the path of the PKCS#11
provider library specified via "--with-pkcs11".
</p>
-</dd>
+ </dd>
<dt><span class="term">-f</span></dt>
-<dd><p>
+<dd>
+ <p>
Run the server in the foreground (i.e. do not daemonize).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-g</span></dt>
-<dd><p>
+<dd>
+ <p>
Run the server in the foreground and force all logging
to <code class="filename">stderr</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>logfile</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Log to the file <code class="option">logfile</code> by default
instead of the system log.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-M <em class="replaceable"><code>option</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the default memory context options. Currently
the only supported option is
<em class="replaceable"><code>external</code></em>,
which causes the internal memory manager to be bypassed
in favor of system-provided memory allocation functions.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m <em class="replaceable"><code>flag</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Turn on memory usage debugging flags. Possible flags are
<em class="replaceable"><code>usage</code></em>,
<em class="replaceable"><code>trace</code></em>,
<em class="replaceable"><code>mctx</code></em>.
These correspond to the ISC_MEM_DEBUGXXXX flags described in
<code class="filename"><isc/mem.h></code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-n <em class="replaceable"><code>#cpus</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Create <em class="replaceable"><code>#cpus</code></em> worker threads
to take advantage of multiple CPUs. If not specified,
<span class="command"><strong>named</strong></span> will try to determine the
number of CPUs present and create one thread per CPU.
If it is unable to determine the number of CPUs, a
single worker thread will be created.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Listen for queries on port <em class="replaceable"><code>port</code></em>. If not
specified, the default is port 53.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s</span></dt>
<dd>
-<p>
+ <p>
Write memory usage statistics to <code class="filename">stdout</code> on exit.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
This option is mainly of interest to BIND 9 developers
and may be removed or changed in a future release.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term">-S <em class="replaceable"><code>#max-socks</code></em></span></dt>
<dd>
-<p>
+ <p>
Allow <span class="command"><strong>named</strong></span> to use up to
<em class="replaceable"><code>#max-socks</code></em> sockets.
The default value is 4096 on systems built with default
configuration options, and 21000 on systems built with
"configure --with-tuning=large".
</p>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
-<p>
+ <p>
This option should be unnecessary for the vast majority
of users.
The use of this option could even be harmful because the
<span class="command"><strong>named</strong></span> reserves some file descriptors
for its internal use.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
-<p>Chroot
+ <p>Chroot
to <em class="replaceable"><code>directory</code></em> after
processing the command line arguments, but before
reading the configuration file.
</p>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
-<p>
+ <p>
This option should be used in conjunction with the
<code class="option">-u</code> option, as chrooting a process
running as root doesn't enhance security on most
defined allows a process with root privileges to
escape a chroot jail.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term">-U <em class="replaceable"><code>#listeners</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>#listeners</code></em>
worker threads to listen for incoming UDP packets on each
address. If not specified, <span class="command"><strong>named</strong></span> will
be increased as high as that value, but no higher.
On Windows, the number of UDP listeners is hardwired to 1
and this option has no effect.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-u <em class="replaceable"><code>user</code></em></span></dt>
<dd>
-<p>Setuid
+ <p>Setuid
to <em class="replaceable"><code>user</code></em> after completing
privileged operations, such as creating sockets that
listen on privileged ports.
</p>
-<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
-<p>
+ <p>
On Linux, <span class="command"><strong>named</strong></span> uses the kernel's
capability mechanism to drop all root privileges
except the ability to <code class="function">bind(2)</code> to
later, since previous kernels did not allow privileges
to be retained after <code class="function">setuid(2)</code>.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Report the version number and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Report the version number and build options, and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-X <em class="replaceable"><code>lock-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Acquire a lock on the specified file at runtime; this
helps to prevent duplicate <span class="command"><strong>named</strong></span> instances
from running simultaneously.
option in <code class="filename">named.conf</code>.
If set to <code class="literal">none</code>, the lock file check
is disabled.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-x <em class="replaceable"><code>cache-file</code></em></span></dt>
<dd>
-<p>
+ <p>
Load data from <em class="replaceable"><code>cache-file</code></em> into the
cache of the default view.
</p>
-<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+ <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
-<p>
+ <p>
This option must not be used. It is only of interest
to BIND 9 developers and may be removed or changed in a
future release.
</p>
-</div>
-</dd>
+ </div>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.19.9"></a><h2>SIGNALS</h2>
-<p>
+
+ <p>
In routine operation, signals should not be used to control
the nameserver; <span class="command"><strong>rndc</strong></span> should be used
instead.
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">SIGHUP</span></dt>
-<dd><p>
+<dd>
+ <p>
Force a reload of the server.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">SIGINT, SIGTERM</span></dt>
-<dd><p>
+<dd>
+ <p>
Shut down the server.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-<p>
+
+ <p>
The result of sending any other signals to the server is undefined.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.19.10"></a><h2>CONFIGURATION</h2>
-<p>
+
+ <p>
The <span class="command"><strong>named</strong></span> configuration file is too complex
to describe in detail here. A complete description is provided
in the
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-<p>
+
+ <p>
<span class="command"><strong>named</strong></span> inherits the <code class="function">umask</code>
(file creation mode mask) from the parent process. If files
created by <span class="command"><strong>named</strong></span>, such as journal files,
should be set explicitly in the script used to start the
<span class="command"><strong>named</strong></span> process.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.19.11"></a><h2>FILES</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
-<dd><p>
+<dd>
+ <p>
The default configuration file.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="filename">/var/run/named/named.pid</code></span></dt>
-<dd><p>
+<dd>
+ <p>
The default process-id file.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.19.12"></a><h2>SEE ALSO</h2>
-<p><em class="citetitle">RFC 1033</em>,
+
+ <p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
- <span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">lwresd</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named-checkconf</span>
+ (8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named-checkzone</span>
+ (8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">rndc</span>
+ (8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">lwresd</span>
+ (8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named.conf</span>
+ (5)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>nsec3hash</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.isc-hmac-fixup.html" title="isc-hmac-fixup">
</div>
<div class="refentry">
<a name="man.nsec3hash"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">nsec3hash</span> — generate NSEC3 hash</p>
+<p>
+ <span class="application">nsec3hash</span>
+ — generate NSEC3 hash
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">nsec3hash</code> {<em class="replaceable"><code>salt</code></em>} {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>iterations</code></em>} {<em class="replaceable"><code>domain</code></em>}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">nsec3hash</code>
+ {<em class="replaceable"><code>salt</code></em>}
+ {<em class="replaceable"><code>algorithm</code></em>}
+ {<em class="replaceable"><code>iterations</code></em>}
+ {<em class="replaceable"><code>domain</code></em>}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.35.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>nsec3hash</strong></span> generates an NSEC3 hash based on
a set of NSEC3 parameters. This can be used to check the validity
of NSEC3 records in a signed zone.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.35.8"></a><h2>ARGUMENTS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">salt</span></dt>
-<dd><p>
+<dd>
+ <p>
The salt provided to the hash algorithm.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">algorithm</span></dt>
-<dd><p>
+<dd>
+ <p>
A number indicating the hash algorithm. Currently the
only supported hash algorithm for NSEC3 is SHA-1, which is
indicated by the number 1; consequently "1" is the only
useful value for this argument.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">iterations</span></dt>
-<dd><p>
+<dd>
+ <p>
The number of additional times the hash should be performed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">domain</span></dt>
-<dd><p>
+<dd>
+ <p>
The domain name to be hashed.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.35.9"></a><h2>SEE ALSO</h2>
-<p>
+
+ <p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5155</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>nslookup</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.delv.html" title="delv">
</div>
<div class="refentry">
<a name="man.nslookup"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p>nslookup — query Internet name servers interactively</p>
+<p>
+ nslookup
+ — query Internet name servers interactively
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">nslookup</code> [<code class="option">-option</code>] [name | -] [server]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">nslookup</code>
+ [<code class="option">-option</code>]
+ [name | -]
+ [server]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.6.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>Nslookup</strong></span>
+
+ <p><span class="command"><strong>Nslookup</strong></span>
is a program to query Internet domain name servers. <span class="command"><strong>Nslookup</strong></span>
has two modes: interactive and non-interactive. Interactive mode allows
the user to query name servers for information about various hosts and
used to print just the name and requested information for a host or
domain.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.6.8"></a><h2>ARGUMENTS</h2>
-<p>
+
+ <p>
Interactive mode is entered in the following cases:
</p>
<div class="orderedlist"><ol class="orderedlist" type="a">
-<li class="listitem"><p>
+<li class="listitem">
+ <p>
when no arguments are given (the default name server will be used)
- </p></li>
-<li class="listitem"><p>
+ </p>
+ </li>
+<li class="listitem">
+ <p>
when the first argument is a hyphen (-) and the second argument is
the host name or Internet address of a name server.
- </p></li>
+ </p>
+ </li>
</ol></div>
<p>
</p>
-<p>
+
+ <p>
Non-interactive mode is used when the name or Internet address of the
host to be looked up is given as the first argument. The optional second
argument specifies the host name or address of a name server.
</p>
-<p>
+
+ <p>
Options can also be specified on the command line if they precede the
arguments and are prefixed with a hyphen. For example, to
change the default query type to host information, and the initial
<p>
</p>
-<p>
+ <p>
The <code class="option">-version</code> option causes
<span class="command"><strong>nslookup</strong></span> to print the version
number and immediately exits.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.6.9"></a><h2>INTERACTIVE COMMANDS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">host</code> [<span class="optional">server</span>]</span></dt>
<dd>
-<p>
+ <p>
Look up information for host using the current default server or
using server, if specified. If host is an Internet address and
the query type is A or PTR, the name of the host is returned.
If host is a name and does not have a trailing period, the
search list is used to qualify the name.
</p>
-<p>
+
+ <p>
To look up a host not in the current domain, append a period to
the name.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant">server</code> <em class="replaceable"><code>domain</code></em></span></dt>
-<dd><p></p></dd>
+<dd>
+ <p></p>
+ </dd>
<dt><span class="term"><code class="constant">lserver</code> <em class="replaceable"><code>domain</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Change the default server to <em class="replaceable"><code>domain</code></em>; <code class="constant">lserver</code> uses the initial
server to look up information about <em class="replaceable"><code>domain</code></em>, while <code class="constant">server</code> uses
the current default server. If an authoritative answer can't be
found, the names of servers that might have the answer are
returned.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">root</code></span></dt>
-<dd><p>
+<dd>
+ <p>
not implemented
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">finger</code></span></dt>
-<dd><p>
+<dd>
+ <p>
not implemented
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">ls</code></span></dt>
-<dd><p>
+<dd>
+ <p>
not implemented
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">view</code></span></dt>
-<dd><p>
+<dd>
+ <p>
not implemented
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">help</code></span></dt>
-<dd><p>
+<dd>
+ <p>
not implemented
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">?</code></span></dt>
-<dd><p>
+<dd>
+ <p>
not implemented
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">exit</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Exits the program.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">set</code>
<em class="replaceable"><code>keyword[<span class="optional">=value</span>]</code></em></span></dt>
<dd>
-<p>
+ <p>
This command is used to change state information that affects
the lookups. Valid keywords are:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">all</code></span></dt>
-<dd><p>
+<dd>
+ <p>
Prints the current values of the frequently used
options to <span class="command"><strong>set</strong></span>.
Information about the current default
server and host is also printed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">class=</code><em class="replaceable"><code>value</code></em></span></dt>
<dd>
-<p>
+ <p>
Change the query class to one of:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">IN</code></span></dt>
-<dd><p>
+<dd>
+ <p>
the Internet class
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">CH</code></span></dt>
-<dd><p>
+<dd>
+ <p>
the Chaos class
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">HS</code></span></dt>
-<dd><p>
+<dd>
+ <p>
the Hesiod class
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">ANY</code></span></dt>
-<dd><p>
+<dd>
+ <p>
wildcard
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
The class specifies the protocol group of the information.
</p>
-<p>
+ <p>
(Default = IN; abbreviation = cl)
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>debug</code></span></dt>
<dd>
-<p>
+ <p>
Turn on or off the display of the full response packet and
any intermediate response packets when searching.
</p>
-<p>
+ <p>
(Default = nodebug; abbreviation = [<span class="optional">no</span>]deb)
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>d2</code></span></dt>
<dd>
-<p>
+ <p>
Turn debugging mode on or off. This displays more about
what nslookup is doing.
</p>
-<p>
+ <p>
(Default = nod2)
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant">domain=</code><em class="replaceable"><code>name</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Sets the search list to <em class="replaceable"><code>name</code></em>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>search</code></span></dt>
<dd>
-<p>
+ <p>
If the lookup request contains at least one period but
doesn't end with a trailing period, append the domain
names in the domain search list to the request until an
answer is received.
</p>
-<p>
+ <p>
(Default = search)
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant">port=</code><em class="replaceable"><code>value</code></em></span></dt>
<dd>
-<p>
+ <p>
Change the default TCP/UDP name server port to <em class="replaceable"><code>value</code></em>.
</p>
-<p>
+ <p>
(Default = 53; abbreviation = po)
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant">querytype=</code><em class="replaceable"><code>value</code></em></span></dt>
-<dd><p></p></dd>
+<dd>
+ <p></p>
+ </dd>
<dt><span class="term"><code class="constant">type=</code><em class="replaceable"><code>value</code></em></span></dt>
<dd>
-<p>
+ <p>
Change the type of the information query.
</p>
-<p>
+ <p>
(Default = A and then AAAA; abbreviations = q, ty)
</p>
-<p>
+ <p>
<span class="bold"><strong>Note:</strong></span> It is
only possible to specify one query type, only
the default behavior looks up both when an
alternative is not specified.
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>recurse</code></span></dt>
<dd>
-<p>
+ <p>
Tell the name server to query other servers if it does not
have the
information.
</p>
-<p>
+ <p>
(Default = recurse; abbreviation = [no]rec)
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant">ndots=</code><em class="replaceable"><code>number</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the number of dots (label separators) in a domain
that will disable searching. Absolute names always
stop searching.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">retry=</code><em class="replaceable"><code>number</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the number of retries to number.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">timeout=</code><em class="replaceable"><code>number</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Change the initial timeout interval for waiting for a
reply to number seconds.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>vc</code></span></dt>
<dd>
-<p>
+ <p>
Always use a virtual circuit when sending requests to the
server.
</p>
-<p>
+ <p>
(Default = novc)
</p>
-</dd>
+ </dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>fail</code></span></dt>
<dd>
-<p>
+ <p>
Try the next nameserver if a nameserver responds with
SERVFAIL or a referral (nofail) or terminate query
(fail) on such a response.
</p>
-<p>
+ <p>
(Default = nofail)
</p>
-</dd>
+ </dd>
</dl></div>
<p>
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.6.10"></a><h2>RETURN VALUES</h2>
-<p>
+ <p>
<span class="command"><strong>nslookup</strong></span> returns with an exit status of 1
if any query failed, and 0 otherwise.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.6.11"></a><h2>IDN SUPPORT</h2>
-<p>
+
+ <p>
If <span class="command"><strong>nslookup</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
<span class="command"><strong>nslookup</strong></span> appropriately converts character encoding of
<span class="command"><strong>nslookup</strong></span> runs or when the standard output is not
a tty.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.6.12"></a><h2>FILES</h2>
-<p><code class="filename">/etc/resolv.conf</code>
+
+ <p><code class="filename">/etc/resolv.conf</code>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.6.13"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
- <span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">dig</span>(1)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">host</span>(1)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>.
</p>
-</div>
+ </div>
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>nsupdate</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.named-rrchecker.html" title="named-rrchecker">
</div>
<div class="refentry">
<a name="man.nsupdate"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">nsupdate</span> — Dynamic DNS update utility</p>
+<p>
+ <span class="application">nsupdate</span>
+ — Dynamic DNS update utility
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [<code class="option">-i</code>] [<code class="option">-L <em class="replaceable"><code>level</code></em></code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [<code class="option">-T</code>] [<code class="option">-P</code>] [<code class="option">-V</code>] [filename]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">nsupdate</code>
+ [<code class="option">-d</code>]
+ [<code class="option">-D</code>]
+ [<code class="option">-i</code>]
+ [<code class="option">-L <em class="replaceable"><code>level</code></em></code>]
+ [
+ [<code class="option">-g</code>]
+ | [<code class="option">-o</code>]
+ | [<code class="option">-l</code>]
+ | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>]
+ | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]
+ ]
+ [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>]
+ [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>]
+ [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>]
+ [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>]
+ [<code class="option">-v</code>]
+ [<code class="option">-T</code>]
+ [<code class="option">-P</code>]
+ [<code class="option">-V</code>]
+ [filename]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.26.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>nsupdate</strong></span>
+
+ <p><span class="command"><strong>nsupdate</strong></span>
is used to submit Dynamic DNS Update requests as defined in RFC 2136
to a name server.
This allows resource records to be added or removed from a zone
one
resource record.
</p>
-<p>
+ <p>
Zones that are under dynamic control via
<span class="command"><strong>nsupdate</strong></span>
or a DHCP server should not be edited by hand.
Manual edits could
conflict with dynamic updates and cause data to be lost.
</p>
-<p>
+ <p>
The resource records that are dynamically added or removed with
<span class="command"><strong>nsupdate</strong></span>
have to be in the same zone.
Requests are sent to the zone's master server.
This is identified by the MNAME field of the zone's SOA record.
</p>
-<p>
+ <p>
Transaction signatures can be used to authenticate the Dynamic
DNS updates. These use the TSIG resource record type described
in RFC 2845 or the SIG(0) record described in RFC 2535 and
RFC 2931 or GSS-TSIG as described in RFC 3645.
</p>
-<p>
+ <p>
TSIG relies on
a shared secret that should only be known to
<span class="command"><strong>nsupdate</strong></span> and the name server.
uses the <code class="option">-y</code> or <code class="option">-k</code> options
to provide the TSIG shared secret. These options are mutually exclusive.
</p>
-<p>
+ <p>
SIG(0) uses public key cryptography.
To use a SIG(0) key, the public key must be stored in a KEY
record in a zone served by the name server.
</p>
-<p>
+ <p>
GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode
is switched on with the <code class="option">-g</code> flag. A
non-standards-compliant variant of GSS-TSIG used by Windows
2000 can be switched on with the <code class="option">-o</code> flag.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.26.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-d</span></dt>
-<dd><p>
+<dd>
+ <p>
Debug mode. This provides tracing information about the
update requests that are made and the replies received
from the name server.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-D</span></dt>
-<dd><p>
+<dd>
+ <p>
Extra debug mode.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i</span></dt>
-<dd><p>
+<dd>
+ <p>
Force interactive mode, even when standard input is not a terminal.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The file containing the TSIG authentication key.
Keyfiles may be in two formats: a single file containing
a <code class="filename">named.conf</code>-format <span class="command"><strong>key</strong></span>
The <code class="option">-k</code> may also be used to specify a SIG(0) key used
to authenticate Dynamic DNS update requests. In this case, the key
specified is not an HMAC-MD5 key.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l</span></dt>
-<dd><p>
+<dd>
+ <p>
Local-host only mode. This sets the server address to
localhost (disabling the <span class="command"><strong>server</strong></span> so that the server
address cannot be overridden). Connections to the local server will
local master zone has set <span class="command"><strong>update-policy</strong></span> to
<span class="command"><strong>local</strong></span>. The location of this key file can be
overridden with the <code class="option">-k</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-L <em class="replaceable"><code>level</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the logging debug level. If zero, logging is disabled.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Set the port to use for connections to a name server. The
default is 53.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the list of private BIND-specific resource record
types whose format is understood
by <span class="command"><strong>nsupdate</strong></span>. See also
the <code class="option">-T</code> option.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>udpretries</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The number of UDP retries. The default is 3. If zero, only
one update request will be made.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-R <em class="replaceable"><code>randomdev</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Where to obtain randomness. If the operating system
does not provide a <code class="filename">/dev/random</code> or
equivalent device, the default source of randomness is keyboard
instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard input
should be used. This option may be specified multiple times.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>timeout</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The maximum time an update request can take before it is
aborted. The default is 300 seconds. Zero can be used to
disable the timeout.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-T</span></dt>
<dd>
-<p>
+ <p>
Print the list of IANA standard resource record types
whose format is understood by <span class="command"><strong>nsupdate</strong></span>.
<span class="command"><strong>nsupdate</strong></span> will exit after the lists are
printed. The <code class="option">-T</code> option can be combined
with the <code class="option">-P</code> option.
</p>
-<p>
+ <p>
Other types can be entered using "TYPEXXXXX" where "XXXXX" is the
decimal value of the type with no leading zeros. The rdata,
if present, will be parsed using the UNKNOWN rdata format,
(<backslash> <hash> <space> <length>
<space> <hexstring>).
</p>
-</dd>
+ </dd>
<dt><span class="term">-u <em class="replaceable"><code>udptimeout</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
The UDP retry interval. The default is 3 seconds. If zero,
the interval will be computed from the timeout interval and
number of UDP retries.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Use TCP even for small update requests.
By default, <span class="command"><strong>nsupdate</strong></span>
uses UDP to send update requests to the name server unless they are too
large to fit in a UDP request in which case TCP will be used.
TCP may be preferable when a batch of update requests is made.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Print the version number and exit.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></span></dt>
<dd>
-<p>
+ <p>
Literal TSIG authentication key.
<em class="parameter"><code>keyname</code></em> is the name of the key, and
<em class="parameter"><code>secret</code></em> is the base64 encoded shared secret.
is not specified, the default is <code class="literal">hmac-md5</code>
or if MD5 was disabled <code class="literal">hmac-sha256</code>.
</p>
-<p>
+ <p>
NOTE: Use of the <code class="option">-y</code> option is discouraged because the
shared secret is supplied as a command line argument in clear text.
This may be visible in the output from
- <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
+ <span class="citerefentry">
+ <span class="refentrytitle">ps</span>(1)
+ </span>
or in a history file maintained by the user's shell.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.26.9"></a><h2>INPUT FORMAT</h2>
-<p><span class="command"><strong>nsupdate</strong></span>
+
+ <p><span class="command"><strong>nsupdate</strong></span>
reads input from
<em class="parameter"><code>filename</code></em>
or standard input.
Updates will be rejected if the tests for the prerequisite conditions
fail.
</p>
-<p>
+ <p>
Every update request consists of zero or more prerequisites
and zero or more updates.
This allows a suitably authenticated update request to proceed if some
accumulated commands to be sent as one Dynamic DNS update request to the
name server.
</p>
-<p>
+ <p>
The command formats and their meaning are as follows:
</p>
<div class="variablelist"><dl class="variablelist">
{servername}
[port]
</span></dt>
-<dd><p>
+<dd>
+ <p>
Sends all dynamic update requests to the name server
<em class="parameter"><code>servername</code></em>.
When no server statement is provided,
If no port number is specified, the default DNS port number of
53 is
used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>local</strong></span>
{address}
[port]
</span></dt>
-<dd><p>
+<dd>
+ <p>
Sends all dynamic update requests using the local
<em class="parameter"><code>address</code></em>.
can additionally be used to make requests come from a specific
port.
If no port number is specified, the system will assign one.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>zone</strong></span>
{zonename}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies that all updates are to be made to the zone
<em class="parameter"><code>zonename</code></em>.
If no
<span class="command"><strong>nsupdate</strong></span>
will attempt determine the correct zone to update based on the
rest of the input.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>class</strong></span>
{classname}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the default class.
If no <em class="parameter"><code>class</code></em> is specified, the
default class is
<em class="parameter"><code>IN</code></em>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>ttl</strong></span>
{seconds}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the default time to live for records to be added.
The value <em class="parameter"><code>none</code></em> will clear the default
ttl.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>key</strong></span>
[hmac:] {keyname}
{secret}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies that all updates are to be TSIG-signed using the
<em class="parameter"><code>keyname</code></em> <em class="parameter"><code>secret</code></em> pair.
If <em class="parameter"><code>hmac</code></em> is specified, then it sets the
<code class="literal">hmac-sha256</code>. The <span class="command"><strong>key</strong></span>
command overrides any key specified on the command line via
<code class="option">-y</code> or <code class="option">-k</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>gsstsig</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Use GSS-TSIG to sign the updated. This is equivalent to
specifying <code class="option">-g</code> on the command line.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>oldgsstsig</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Use the Windows 2000 version of GSS-TSIG to sign the updated.
This is equivalent to specifying <code class="option">-o</code> on the
command line.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>realm</strong></span>
{[<span class="optional">realm_name</span>]}
</span></dt>
-<dd><p>
+<dd>
+ <p>
When using GSS-TSIG use <em class="parameter"><code>realm_name</code></em> rather
than the default realm in <code class="filename">krb5.conf</code>. If no
realm is specified the saved realm is cleared.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>check-names</strong></span>
{[<span class="optional">yes_or_no</span>]}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Turn on or off check-names processing on records to
be added. Check-names has no effect on prerequisites
or records to be deleted. By default check-names
processing is on. If check-names processing fails
the record will not be added to the UPDATE message.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>[<span class="optional">prereq</span>] nxdomain</strong></span>
{domain-name}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Requires that no resource record of any type exists with name
<em class="parameter"><code>domain-name</code></em>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>[<span class="optional">prereq</span>] yxdomain</strong></span>
{domain-name}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Requires that
<em class="parameter"><code>domain-name</code></em>
exists (has as at least one resource record, of any type).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>[<span class="optional">prereq</span>] nxrrset</strong></span>
{domain-name}
[class]
{type}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Requires that no resource record exists of the specified
<em class="parameter"><code>type</code></em>,
<em class="parameter"><code>class</code></em>
If
<em class="parameter"><code>class</code></em>
is omitted, IN (internet) is assumed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>[<span class="optional">prereq</span>] yxrrset</strong></span>
{domain-name}
[class]
{type}
</span></dt>
-<dd><p>
+<dd>
+ <p>
This requires that a resource record of the specified
<em class="parameter"><code>type</code></em>,
<em class="parameter"><code>class</code></em>
If
<em class="parameter"><code>class</code></em>
is omitted, IN (internet) is assumed.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>[<span class="optional">prereq</span>] yxrrset</strong></span>
{domain-name}
{type}
{data...}
</span></dt>
-<dd><p>
+<dd>
+ <p>
The
<em class="parameter"><code>data</code></em>
from each set of prerequisites of this form
are written in the standard text representation of the resource
record's
RDATA.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>[<span class="optional">update</span>] del[<span class="optional">ete</span>]</strong></span>
{domain-name}
[class]
[type [data...]]
</span></dt>
-<dd><p>
+<dd>
+ <p>
Deletes any resource records named
<em class="parameter"><code>domain-name</code></em>.
If
is not supplied. The
<em class="parameter"><code>ttl</code></em>
is ignored, and is only allowed for compatibility.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>[<span class="optional">update</span>] add</strong></span>
{domain-name}
{type}
{data...}
</span></dt>
-<dd><p>
+<dd>
+ <p>
Adds a new resource record with the specified
<em class="parameter"><code>ttl</code></em>,
<em class="parameter"><code>class</code></em>
and
<em class="parameter"><code>data</code></em>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>show</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Displays the current message, containing all of the
prerequisites and
updates specified since the last send.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>send</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Sends the current message. This is equivalent to entering a
blank line.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>answer</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Displays the answer.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>debug</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Turn on debugging.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>version</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Print version number.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">
<span class="command"><strong>help</strong></span>
</span></dt>
-<dd><p>
+<dd>
+ <p>
Print a list of commands.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
<p>
</p>
-<p>
+
+ <p>
Lines beginning with a semicolon are comments and are ignored.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.26.10"></a><h2>EXAMPLES</h2>
-<p>
+
+ <p>
The examples below show how
<span class="command"><strong>nsupdate</strong></span>
could be used to insert and delete resource records from the
</pre>
<p>
</p>
-<p>
+ <p>
Any A records for
<span class="type">oldhost.example.com</span>
are deleted.
</pre>
<p>
</p>
-<p>
+ <p>
The prerequisite condition gets the name server to check that there
are no resource records of any type for
<span class="type">nickname.example.com</span>.
(The rule has been updated for DNSSEC in RFC 2535 to allow CNAMEs to have
RRSIG, DNSKEY and NSEC records.)
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.26.11"></a><h2>FILES</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
-<dd><p>
+<dd>
+ <p>
used to identify default name server
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">/var/run/named/session.key</code></span></dt>
-<dd><p>
+<dd>
+ <p>
sets the default TSIG key for use in local-only mode
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.key</code></span></dt>
-<dd><p>
+<dd>
+ <p>
base-64 encoding of HMAC-MD5 key created by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
- </p></dd>
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>.
+ </p>
+ </dd>
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.private</code></span></dt>
-<dd><p>
+<dd>
+ <p>
base-64 encoding of HMAC-MD5 key created by
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
- </p></dd>
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>.
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.26.12"></a><h2>SEE ALSO</h2>
-<p>
+
+ <p>
<em class="citetitle">RFC 2136</em>,
<em class="citetitle">RFC 3007</em>,
<em class="citetitle">RFC 2104</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 2535</em>,
<em class="citetitle">RFC 2931</em>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">ddns-confgen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">ddns-confgen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keygen</span>(8)
+ </span>.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.26.13"></a><h2>BUGS</h2>
-<p>
+
+ <p>
The TSIG key is redundantly stored in two separate files.
This is a consequence of nsupdate using the DST library
for its cryptographic operations, and may change in future
releases.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pkcs11-destroy</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.nsec3hash.html" title="nsec3hash">
</div>
<div class="refentry">
<a name="man.pkcs11-destroy"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">pkcs11-destroy</span> — destroy PKCS#11 objects</p>
+<p>
+ <span class="application">pkcs11-destroy</span>
+ — destroy PKCS#11 objects
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">pkcs11-destroy</code> [<code class="option">-m <em class="replaceable"><code>module</code></em></code>] [<code class="option">-s <em class="replaceable"><code>slot</code></em></code>] { -i <em class="replaceable"><code>ID</code></em> | -l <em class="replaceable"><code>label</code></em> } [<code class="option">-p <em class="replaceable"><code>PIN</code></em></code>] [<code class="option">-w <em class="replaceable"><code>seconds</code></em></code>]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">pkcs11-destroy</code>
+ [<code class="option">-m <em class="replaceable"><code>module</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>slot</code></em></code>]
+ {
+ -i <em class="replaceable"><code>ID</code></em>
+ | -l <em class="replaceable"><code>label</code></em>
+ }
+ [<code class="option">-p <em class="replaceable"><code>PIN</code></em></code>]
+ [<code class="option">-w <em class="replaceable"><code>seconds</code></em></code>]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.36.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>pkcs11-destroy</strong></span> destroys keys stored in a
PKCS#11 device, identified by their <code class="option">ID</code> or
<code class="option">label</code>.
</p>
-<p>
+ <p>
Matching keys are displayed before being destroyed. By default,
there is a five second delay to allow the user to interrupt the
process before the destruction takes place.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.36.8"></a><h2>ARGUMENTS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-m <em class="replaceable"><code>module</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the PKCS#11 provider module. This must be the full
path to a shared library object implementing the PKCS#11 API
for the device.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>slot</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Open the session with the given PKCS#11 slot. The default is
slot 0.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>ID</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Destroy keys with the given object ID.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>label</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Destroy keys with the given label.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>PIN</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the PIN for the device. If no PIN is provided on the
command line, <span class="command"><strong>pkcs11-destroy</strong></span> will prompt for it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-w <em class="replaceable"><code>seconds</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify how long to pause before carrying out key destruction.
The default is five seconds. If set to <code class="literal">0</code>,
destruction will be immediate.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.36.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">pkcs11-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-list</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-tokens</span>(8)</span>
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-list</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-tokens</span>(8)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pkcs11-keygen</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.pkcs11-list.html" title="pkcs11-list">
</div>
<div class="refentry">
<a name="man.pkcs11-keygen"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">pkcs11-keygen</span> — generate keys on a PKCS#11 device</p>
+<p>
+ <span class="application">pkcs11-keygen</span>
+ — generate keys on a PKCS#11 device
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">pkcs11-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-e</code>] [<code class="option">-i <em class="replaceable"><code>id</code></em></code>] [<code class="option">-m <em class="replaceable"><code>module</code></em></code>] [<code class="option">-P</code>] [<code class="option">-p <em class="replaceable"><code>PIN</code></em></code>] [<code class="option">-q</code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>slot</code></em></code>] {label}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">pkcs11-keygen</code>
+ {-a <em class="replaceable"><code>algorithm</code></em>}
+ [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>]
+ [<code class="option">-e</code>]
+ [<code class="option">-i <em class="replaceable"><code>id</code></em></code>]
+ [<code class="option">-m <em class="replaceable"><code>module</code></em></code>]
+ [<code class="option">-P</code>]
+ [<code class="option">-p <em class="replaceable"><code>PIN</code></em></code>]
+ [<code class="option">-q</code>]
+ [<code class="option">-S</code>]
+ [<code class="option">-s <em class="replaceable"><code>slot</code></em></code>]
+ {label}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.38.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>pkcs11-keygen</strong></span> causes a PKCS#11 device to generate
a new key pair with the given <code class="option">label</code> (which must be
unique) and with <code class="option">keysize</code> bits of prime.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.38.8"></a><h2>ARGUMENTS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the key algorithm class: Supported classes are RSA,
DSA, DH, ECC and ECX. In addition to these strings, the
<code class="option">algorithm</code> can be specified as a DNSSEC
signing algorithm that will be used with this key; for
example, NSEC3RSASHA1 maps to RSA, ECDSAP256SHA256 maps
to ECC, and ED25519 to ECX. The default class is "RSA".
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Create the key pair with <code class="option">keysize</code> bits of
prime. For ECC keys, the only valid values are 256 and 384,
and the default is 256. For ECX kyes, the only valid values
are 256 and 456, and the default is 256.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-e</span></dt>
-<dd><p>
+<dd>
+ <p>
For RSA keys only, use a large exponent.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>id</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Create key objects with id. The id is either
an unsigned short 2 byte or an unsigned long 4 byte number.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m <em class="replaceable"><code>module</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the PKCS#11 provider module. This must be the full
path to a shared library object implementing the PKCS#11 API
for the device.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-P</span></dt>
-<dd><p>
+<dd>
+ <p>
Set the new private key to be non-sensitive and extractable.
The allows the private key data to be read from the PKCS#11
device. The default is for private keys to be sensitive and
non-extractable.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>PIN</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the PIN for the device. If no PIN is provided on
the command line, <span class="command"><strong>pkcs11-keygen</strong></span> will
prompt for it.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q</span></dt>
-<dd><p>
+<dd>
+ <p>
Quiet mode: suppress unnecessary output.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-S</span></dt>
-<dd><p>
+<dd>
+ <p>
For Diffie-Hellman (DH) keys only, use a special prime of
768, 1024 or 1536 bit size and base (aka generator) 2.
If not specified, bit size will default to 1024.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>slot</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Open the session with the given PKCS#11 slot. The default is
slot 0.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.38.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">pkcs11-destroy</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-list</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-tokens</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">dnssec-keyfromlabel</span>(8)</span>
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-destroy</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-list</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-tokens</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">dnssec-keyfromlabel</span>(8)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pkcs11-list</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.pkcs11-destroy.html" title="pkcs11-destroy">
</div>
<div class="refentry">
<a name="man.pkcs11-list"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">pkcs11-list</span> — list PKCS#11 objects</p>
+<p>
+ <span class="application">pkcs11-list</span>
+ — list PKCS#11 objects
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">pkcs11-list</code> [<code class="option">-P</code>] [<code class="option">-m <em class="replaceable"><code>module</code></em></code>] [<code class="option">-s <em class="replaceable"><code>slot</code></em></code>] [-i <em class="replaceable"><code>ID</code></em>] [-l <em class="replaceable"><code>label</code></em>] [<code class="option">-p <em class="replaceable"><code>PIN</code></em></code>]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">pkcs11-list</code>
+ [<code class="option">-P</code>]
+ [<code class="option">-m <em class="replaceable"><code>module</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>slot</code></em></code>]
+ [-i <em class="replaceable"><code>ID</code></em>]
+ [-l <em class="replaceable"><code>label</code></em>]
+ [<code class="option">-p <em class="replaceable"><code>PIN</code></em></code>]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.37.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>pkcs11-list</strong></span>
lists the PKCS#11 objects with <code class="option">ID</code> or
<code class="option">label</code> or by default all objects.
attribute is also displayed, as either <code class="literal">true</code>,
<code class="literal">false</code>, or <code class="literal">never</code>.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.37.8"></a><h2>ARGUMENTS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-P</span></dt>
-<dd><p>
+<dd>
+ <p>
List only the public objects. (Note that on some PKCS#11
devices, all objects are private.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-m <em class="replaceable"><code>module</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the PKCS#11 provider module. This must be the full
path to a shared library object implementing the PKCS#11 API
for the device.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>slot</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Open the session with the given PKCS#11 slot. The default is
slot 0.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-i <em class="replaceable"><code>ID</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
List only key objects with the given object ID.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-l <em class="replaceable"><code>label</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
List only key objects with the given label.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>PIN</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the PIN for the device. If no PIN is provided on the
command line, <span class="command"><strong>pkcs11-list</strong></span> will prompt for it.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.37.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">pkcs11-destroy</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-tokens</span>(8)</span>
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-destroy</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-tokens</span>(8)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pkcs11-tokens</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.pkcs11-keygen.html" title="pkcs11-keygen">
</div>
<div class="refentry">
<a name="man.pkcs11-tokens"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">pkcs11-tokens</span> — list PKCS#11 available tokens</p>
+<p>
+ <span class="application">pkcs11-tokens</span>
+ — list PKCS#11 available tokens
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">pkcs11-tokens</code> [<code class="option">-m <em class="replaceable"><code>module</code></em></code>] [<code class="option">-v</code>]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">pkcs11-tokens</code>
+ [<code class="option">-m <em class="replaceable"><code>module</code></em></code>]
+ [<code class="option">-v</code>]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.39.7"></a><h2>DESCRIPTION</h2>
-<p>
+
+ <p>
<span class="command"><strong>pkcs11-tokens</strong></span>
lists the PKCS#11 available tokens with defaults from the slot/token
scan performed at application initialization.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.39.8"></a><h2>ARGUMENTS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-m <em class="replaceable"><code>module</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specify the PKCS#11 provider module. This must be the full
path to a shared library object implementing the PKCS#11 API
for the device.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-v</span></dt>
-<dd><p>
+<dd>
+ <p>
Make the PKCS#11 libisc initialization verbose.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.39.9"></a><h2>SEE ALSO</h2>
-<p>
- <span class="citerefentry"><span class="refentrytitle">pkcs11-destroy</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-keygen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">pkcs11-list</span>(8)</span>
+
+ <p>
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-destroy</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-keygen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">pkcs11-list</span>(8)
+ </span>
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>rndc-confgen</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.rndc.conf.html" title="rndc.conf">
</div>
<div class="refentry">
<a name="man.rndc-confgen"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">rndc-confgen</span> — rndc key generation tool</p>
+<p>
+ <span class="application">rndc-confgen</span>
+ — rndc key generation tool
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-A <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">rndc-confgen</code>
+ [<code class="option">-a</code>]
+ [<code class="option">-A <em class="replaceable"><code>algorithm</code></em></code>]
+ [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>]
+ [<code class="option">-h</code>]
+ [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>port</code></em></code>]
+ [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>address</code></em></code>]
+ [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>]
+ [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.29.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>rndc-confgen</strong></span>
+
+ <p><span class="command"><strong>rndc-confgen</strong></span>
generates configuration files
for <span class="command"><strong>rndc</strong></span>. It can be used as a
convenient alternative to writing the
avoid the need for a <code class="filename">rndc.conf</code> file
and a <span class="command"><strong>controls</strong></span> statement altogether.
</p>
-</div>
-<div class="refsection">
+
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.29.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-a</span></dt>
<dd>
-<p>
+ <p>
Do automatic <span class="command"><strong>rndc</strong></span> configuration.
This creates a file <code class="filename">rndc.key</code>
in <code class="filename">/etc</code> (or whatever
<span class="command"><strong>named</strong></span> on the local host
with no further configuration.
</p>
-<p>
+ <p>
Running <span class="command"><strong>rndc-confgen -a</strong></span> allows
BIND 9 and <span class="command"><strong>rndc</strong></span> to be used as
drop-in
with no changes to the existing BIND 8
<code class="filename">named.conf</code> file.
</p>
-<p>
+ <p>
If a more elaborate configuration than that
generated by <span class="command"><strong>rndc-confgen -a</strong></span>
is required, for example if rndc is to be used remotely,
<code class="filename">named.conf</code>
as directed.
</p>
-</dd>
+ </dd>
<dt><span class="term">-A <em class="replaceable"><code>algorithm</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the algorithm to use for the TSIG key. Available
choices are: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256,
hmac-sha384 and hmac-sha512. The default is hmac-md5 or
if MD5 was disabled hmac-sha256.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the size of the authentication key in bits.
Must be between 1 and 512 bits; the default is the
hash size.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>keyfile</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Used with the <span class="command"><strong>-a</strong></span> option to specify
an alternate location for <code class="filename">rndc.key</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-h</span></dt>
-<dd><p>
+<dd>
+ <p>
Prints a short summary of the options and arguments to
<span class="command"><strong>rndc-confgen</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k <em class="replaceable"><code>keyname</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the key name of the rndc authentication key.
This must be a valid domain name.
The default is <code class="constant">rndc-key</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the command channel port where <span class="command"><strong>named</strong></span>
listens for connections from <span class="command"><strong>rndc</strong></span>.
The default is 953.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r <em class="replaceable"><code>randomfile</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies a source of random data for generating the
authorization. If the operating
system does not provide a <code class="filename">/dev/random</code>
data to be used instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard
input should be used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>address</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Specifies the IP address where <span class="command"><strong>named</strong></span>
listens for command channel connections from
<span class="command"><strong>rndc</strong></span>. The default is the loopback
address 127.0.0.1.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-t <em class="replaceable"><code>chrootdir</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Used with the <span class="command"><strong>-a</strong></span> option to specify
a directory where <span class="command"><strong>named</strong></span> will run
chrooted. An additional copy of the <code class="filename">rndc.key</code>
will be written relative to this directory so that
it will be found by the chrooted <span class="command"><strong>named</strong></span>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-u <em class="replaceable"><code>user</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Used with the <span class="command"><strong>-a</strong></span> option to set the
owner
of the <code class="filename">rndc.key</code> file generated.
<span class="command"><strong>-t</strong></span> is also specified only the file
in
the chroot area has its owner changed.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.29.9"></a><h2>EXAMPLES</h2>
-<p>
+
+ <p>
To allow <span class="command"><strong>rndc</strong></span> to be used with
no manual configuration, run
</p>
-<p><strong class="userinput"><code>rndc-confgen -a</code></strong>
+ <p><strong class="userinput"><code>rndc-confgen -a</code></strong>
</p>
-<p>
+ <p>
To print a sample <code class="filename">rndc.conf</code> file and
corresponding <span class="command"><strong>controls</strong></span> and <span class="command"><strong>key</strong></span>
statements to be manually inserted into <code class="filename">named.conf</code>,
run
</p>
-<p><strong class="userinput"><code>rndc-confgen</code></strong>
+ <p><strong class="userinput"><code>rndc-confgen</code></strong>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.29.10"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">rndc</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">rndc.conf</span>(5)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>rndc.conf</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.rndc.html" title="rndc">
</div>
<div class="refentry">
<a name="man.rndc.conf"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><code class="filename">rndc.conf</code> — rndc configuration file</p>
+<p>
+ <code class="filename">rndc.conf</code>
+ — rndc configuration file
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">rndc.conf</code> </p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">rndc.conf</code>
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.28.7"></a><h2>DESCRIPTION</h2>
-<p><code class="filename">rndc.conf</code> is the configuration file
+
+ <p><code class="filename">rndc.conf</code> is the configuration file
for <span class="command"><strong>rndc</strong></span>, the BIND 9 name server control
utility. This file has a similar structure and syntax to
<code class="filename">named.conf</code>. Statements are enclosed
the statements are also semi-colon terminated. The usual
comment styles are supported:
</p>
-<p>
+ <p>
C style: /* */
</p>
-<p>
+ <p>
C++ style: // to end of line
</p>
-<p>
+ <p>
Unix style: # to end of line
</p>
-<p><code class="filename">rndc.conf</code> is much simpler than
+ <p><code class="filename">rndc.conf</code> is much simpler than
<code class="filename">named.conf</code>. The file uses three
statements: an options statement, a server statement
and a key statement.
</p>
-<p>
+ <p>
The <code class="option">options</code> statement contains five clauses.
The <code class="option">default-server</code> clause is followed by the
name or address of a name server. This host will be used when
can be used to set the IPv4 and IPv6 source addresses
respectively.
</p>
-<p>
+ <p>
After the <code class="option">server</code> keyword, the server
statement includes a string which is the hostname or address
for a name server. The statement has three possible clauses:
of supplied then these will be used to specify the IPv4 and IPv6
source addresses respectively.
</p>
-<p>
+ <p>
The <code class="option">key</code> statement begins with an identifying
string, the name of the key. The statement has two clauses.
<code class="option">algorithm</code> identifies the authentication algorithm
the base-64 encoding of the algorithm's authentication key. The
base-64 string is enclosed in double quotes.
</p>
-<p>
+ <p>
There are two common ways to generate the base-64 string for the
secret. The BIND 9 program <span class="command"><strong>rndc-confgen</strong></span>
can
ship with BIND 9 but is available on many systems. See the
EXAMPLE section for sample command lines for each.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.28.8"></a><h2>EXAMPLE</h2>
-<pre class="programlisting">
+
+
+ <pre class="programlisting">
options {
default-server localhost;
default-key samplekey;
</pre>
<p>
</p>
-<pre class="programlisting">
+ <pre class="programlisting">
server localhost {
key samplekey;
};
</pre>
<p>
</p>
-<pre class="programlisting">
+ <pre class="programlisting">
server testserver {
key testkey;
addresses { localhost port 5353; };
</pre>
<p>
</p>
-<pre class="programlisting">
+ <pre class="programlisting">
key samplekey {
algorithm hmac-sha256;
secret "6FMfj43Osz4lyb24OIe2iGEz9lf1llJO+lz";
</pre>
<p>
</p>
-<pre class="programlisting">
+ <pre class="programlisting">
key testkey {
algorithm hmac-sha256;
secret "R3HI8P6BKw9ZwXwN3VZKuQ==";
</pre>
<p>
</p>
-<p>
+
+ <p>
In the above example, <span class="command"><strong>rndc</strong></span> will by
default use
the server at localhost (127.0.0.1) and the key called samplekey.
uses the HMAC-SHA256 algorithm and its secret clause contains the
base-64 encoding of the HMAC-SHA256 secret enclosed in double quotes.
</p>
-<p>
+ <p>
If <span class="command"><strong>rndc -s testserver</strong></span> is used then <span class="command"><strong>rndc</strong></span> will
connect to server on localhost port 5353 using the key testkey.
</p>
-<p>
+ <p>
To generate a random secret with <span class="command"><strong>rndc-confgen</strong></span>:
</p>
-<p><strong class="userinput"><code>rndc-confgen</code></strong>
+ <p><strong class="userinput"><code>rndc-confgen</code></strong>
</p>
-<p>
+ <p>
A complete <code class="filename">rndc.conf</code> file, including
the
randomly generated key, will be written to the standard
<code class="option">controls</code> statements for
<code class="filename">named.conf</code> are also printed.
</p>
-<p>
+ <p>
To generate a base-64 secret with <span class="command"><strong>mmencode</strong></span>:
</p>
-<p><strong class="userinput"><code>echo "known plaintext for a secret" | mmencode</code></strong>
+ <p><strong class="userinput"><code>echo "known plaintext for a secret" | mmencode</code></strong>
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.28.9"></a><h2>NAME SERVER CONFIGURATION</h2>
-<p>
+
+ <p>
The name server must be configured to accept rndc connections and
to recognize the key specified in the <code class="filename">rndc.conf</code>
file, using the controls statement in <code class="filename">named.conf</code>.
See the sections on the <code class="option">controls</code> statement in the
BIND 9 Administrator Reference Manual for details.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.28.10"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">mmencode</span>(1)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">rndc</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">rndc-confgen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">mmencode</span>(1)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>rndc</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
<link rel="prev" href="man.nsupdate.html" title="nsupdate">
</div>
<div class="refentry">
<a name="man.rndc"></a><div class="titlepage"></div>
-<div class="refnamediv">
+
+
+
+
+
+ <div class="refnamediv">
<h2>Name</h2>
-<p><span class="application">rndc</span> — name server control utility</p>
+<p>
+ <span class="application">rndc</span>
+ — name server control utility
+ </p>
</div>
-<div class="refsynopsisdiv">
+
+
+
+ <div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<div class="cmdsynopsis"><p><code class="command">rndc</code> [<code class="option">-b <em class="replaceable"><code>source-address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key-file</code></em></code>] [<code class="option">-s <em class="replaceable"><code>server</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-q</code>] [<code class="option">-r</code>] [<code class="option">-V</code>] [<code class="option">-y <em class="replaceable"><code>key_id</code></em></code>] {command}</p></div>
-</div>
-<div class="refsection">
+ <div class="cmdsynopsis"><p>
+ <code class="command">rndc</code>
+ [<code class="option">-b <em class="replaceable"><code>source-address</code></em></code>]
+ [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>]
+ [<code class="option">-k <em class="replaceable"><code>key-file</code></em></code>]
+ [<code class="option">-s <em class="replaceable"><code>server</code></em></code>]
+ [<code class="option">-p <em class="replaceable"><code>port</code></em></code>]
+ [<code class="option">-q</code>]
+ [<code class="option">-r</code>]
+ [<code class="option">-V</code>]
+ [<code class="option">-y <em class="replaceable"><code>key_id</code></em></code>]
+ {command}
+ </p></div>
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.27.7"></a><h2>DESCRIPTION</h2>
-<p><span class="command"><strong>rndc</strong></span>
+
+ <p><span class="command"><strong>rndc</strong></span>
controls the operation of a name
server. It supersedes the <span class="command"><strong>ndc</strong></span> utility
that was provided in old BIND releases. If
supported commands and the available options and their
arguments.
</p>
-<p><span class="command"><strong>rndc</strong></span>
+ <p><span class="command"><strong>rndc</strong></span>
communicates with the name server over a TCP connection, sending
commands authenticated with digital signatures. In the current
versions of
over the channel must be signed by a key_id known to the
server.
</p>
-<p><span class="command"><strong>rndc</strong></span>
+ <p><span class="command"><strong>rndc</strong></span>
reads a configuration file to
determine how to contact the name server and decide what
algorithm and key it should use.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.27.8"></a><h2>OPTIONS</h2>
-<div class="variablelist"><dl class="variablelist">
+
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-b <em class="replaceable"><code>source-address</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>source-address</code></em>
as the source address for the connection to the server.
Multiple instances are permitted to allow setting of both
the IPv4 and IPv6 source addresses.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-c <em class="replaceable"><code>config-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>config-file</code></em>
as the configuration file instead of the default,
<code class="filename">/etc/rndc.conf</code>.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-k <em class="replaceable"><code>key-file</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use <em class="replaceable"><code>key-file</code></em>
as the key file instead of the default,
<code class="filename">/etc/rndc.key</code>. The key in
authenticate
commands sent to the server if the <em class="replaceable"><code>config-file</code></em>
does not exist.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-s <em class="replaceable"><code>server</code></em></span></dt>
-<dd><p><em class="replaceable"><code>server</code></em> is
+<dd>
+ <p><em class="replaceable"><code>server</code></em> is
the name or address of the server which matches a
server statement in the configuration file for
<span class="command"><strong>rndc</strong></span>. If no server is supplied on the
command line, the host named by the default-server clause
in the options statement of the <span class="command"><strong>rndc</strong></span>
configuration file will be used.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-p <em class="replaceable"><code>port</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Send commands to TCP port
<em class="replaceable"><code>port</code></em>
instead
of BIND 9's default control channel port, 953.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-q</span></dt>
-<dd><p>
+<dd>
+ <p>
Quiet mode: Message text returned by the server
will not be printed except when there is an error.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-r</span></dt>
-<dd><p>
+<dd>
+ <p>
Instructs <span class="command"><strong>rndc</strong></span> to print the result code
returned by <span class="command"><strong>named</strong></span> after executing the
requested command (e.g., ISC_R_SUCCESS, ISC_R_FAILURE, etc).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-V</span></dt>
-<dd><p>
+<dd>
+ <p>
Enable verbose logging.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term">-y <em class="replaceable"><code>key_id</code></em></span></dt>
-<dd><p>
+<dd>
+ <p>
Use the key <em class="replaceable"><code>key_id</code></em>
from the configuration file.
<em class="replaceable"><code>key_id</code></em>
which are used to send authenticated control commands
to name servers. It should therefore not have general read
or write access.
- </p></dd>
+ </p>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.27.9"></a><h2>COMMANDS</h2>
-<p>
+
+ <p>
A list of commands supported by <span class="command"><strong>rndc</strong></span> can
be seen by running <span class="command"><strong>rndc</strong></span> without arguments.
</p>
-<p>
+ <p>
Currently supported commands are:
</p>
-<div class="variablelist"><dl class="variablelist">
+
+ <div class="variablelist"><dl class="variablelist">
<dt><span class="term"><strong class="userinput"><code>addzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] <em class="replaceable"><code>configuration</code></em> </code></strong></span></dt>
<dd>
-<p>
+ <p>
Add a zone while the server is running. This
command requires the
<span class="command"><strong>allow-new-zones</strong></span> option to be set
configuration text that would ordinarily be
placed in <code class="filename">named.conf</code>.
</p>
-<p>
+ <p>
The configuration is saved in a file called
<code class="filename"><em class="replaceable"><code>name</code></em>.nzf</code>,
where <em class="replaceable"><code>name</code></em> is the
configuration, so that zones that were added
can persist after a restart.
</p>
-<p>
+ <p>
This sample <span class="command"><strong>addzone</strong></span> command
would add the zone <code class="literal">example.com</code>
to the default view:
</p>
-<p>
+ <p>
<code class="prompt">$ </code><strong class="userinput"><code>rndc addzone example.com '{ type master; file "example.com.db"; };'</code></strong>
</p>
-<p>
+ <p>
(Note the brackets and semi-colon around the zone
configuration text.)
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc delzone</strong></span> and <span class="command"><strong>rndc modzone</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>delzone [<span class="optional">-clean</span>] <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
<dd>
-<p>
+ <p>
Delete a zone while the server is running.
</p>
-<p>
+ <p>
If the <code class="option">-clean</code> argument is specified,
the zone's master file (and journal file, if any)
will be deleted along with the zone. Without the
be cleaned up will be reported in the output
of the <span class="command"><strong>rndc delzone</strong></span> command.)
</p>
-<p>
+ <p>
If the zone was originally added via
<span class="command"><strong>rndc addzone</strong></span>, then it will be
removed permanently. However, if it was originally
come back. To remove it permanently, it must also be
removed from <code class="filename">named.conf</code>
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc addzone</strong></span> and <span class="command"><strong>rndc modzone</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>dnstap ( -reopen | -roll [<span class="optional"><em class="replaceable"><code>number</code></em></span>] )</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Close and re-open DNSTAP output files.
<span class="command"><strong>rndc dnstap -reopen</strong></span> allows the output
file to be renamed externally, so
previous most recent output file is moved to ".1", and so on.
If <em class="replaceable"><code>number</code></em> is specified, then the
number of backup log files is limited to that number.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>dumpdb [<span class="optional">-all|-cache|-zones|-adb|-bad|-fail</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Dump the server's caches (default) and/or zones to
the dump file for the specified views. If no view
is specified, all views are dumped.
(See the <span class="command"><strong>dump-file</strong></span> option in
the BIND 9 Administrator Reference Manual.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>flush</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Flushes the server's cache.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>flushname</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
-<dd><p>
+<dd>
+ <p>
Flushes the given name from the view's DNS cache
and, if applicable, from the view's nameserver address
database, bad server cache and SERVFAIL cache.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>flushtree</code></strong> <em class="replaceable"><code>name</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>] </span></dt>
-<dd><p>
+<dd>
+ <p>
Flushes the given name, and all of its subdomains,
from the view's DNS cache, address database,
bad server cache, and SERVFAIL cache.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>freeze [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Suspend updates to a dynamic zone. If no zone is
specified, then all zones are suspended. This allows
manual edits to be made to a zone normally updated by
All dynamic update attempts will be refused while
the zone is frozen.
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc thaw</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>halt [<span class="optional">-p</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Stop the server immediately. Recent changes
made through dynamic update or IXFR are not saved to
the master files, but will be rolled forward from the
This allows an external process to determine when <span class="command"><strong>named</strong></span>
had completed halting.
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc stop</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>loadkeys <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Fetch all DNSSEC keys for the given zone
from the key directory. If they are within
their publication period, merge them into the
immediately re-signed by the new keys, but is
allowed to incrementally re-sign over time.
</p>
-<p>
+ <p>
This command requires that the
<span class="command"><strong>auto-dnssec</strong></span> zone option
be set to <code class="literal">maintain</code>,
(See "Dynamic Update Policies" in the Administrator
Reference Manual for more details.)
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>managed-keys <em class="replaceable"><code>(status | refresh | sync)</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
When run with the "status" keyword, print the current
status of the managed-keys database for the specified
view, or for all views if none is specified. When run
immediate dump of the managed-keys database to disk (in
the file <code class="filename">managed-keys.bind</code> or
(<code class="filename"><em class="replaceable"><code>viewname</code></em>.mkeys</code>).
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>modzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] <em class="replaceable"><code>configuration</code></em> </code></strong></span></dt>
<dd>
-<p>
+ <p>
Modify the configuration of a zone while the server
is running. This command requires the
<span class="command"><strong>allow-new-zones</strong></span> option to be
configuration text that would ordinarily be
placed in <code class="filename">named.conf</code>.
</p>
-<p>
+ <p>
If the zone was originally added via
<span class="command"><strong>rndc addzone</strong></span>, the configuration
changes will be recorded permanently and will still be
permanent, it must also be modified in
<code class="filename">named.conf</code>
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc addzone</strong></span> and <span class="command"><strong>rndc delzone</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>notify <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Resend NOTIFY messages for the zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>notrace</code></strong></span></dt>
<dd>
-<p>
+ <p>
Sets the server's debugging level to 0.
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc trace</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>nta
[<span class="optional">( -class <em class="replaceable"><code>class</code></em> | -dump | -force | -remove | -lifetime <em class="replaceable"><code>duration</code></em>)</span>]
<em class="replaceable"><code>domain</code></em>
[<span class="optional"><em class="replaceable"><code>view</code></em></span>]
</code></strong></span></dt>
<dd>
-<p>
+ <p>
Sets a DNSSEC negative trust anchor (NTA)
for <code class="option">domain</code>, with a lifetime of
<code class="option">duration</code>. The default lifetime is
<code class="option">nta-lifetime</code> option, and defaults to
one hour. The lifetime cannot exceed one week.
</p>
-<p>
+ <p>
A negative trust anchor selectively disables
DNSSEC validation for zones that are known to be
failing because of misconfiguration rather than
insecure rather than bogus. This continues until the
NTA's lifetime is elapsed.
</p>
-<p>
+ <p>
NTAs persist across restarts of the <span class="command"><strong>named</strong></span> server.
The NTAs for a view are saved in a file called
<code class="filename"><em class="replaceable"><code>name</code></em>.nta</code>,
cryptographic hash generated from the name
of the view.
</p>
-<p>
+ <p>
An existing NTA can be removed by using the
<code class="option">-remove</code> option.
</p>
-<p>
+ <p>
An NTA's lifetime can be specified with the
<code class="option">-lifetime</code> option. TTL-style
suffixes can be used to specify the lifetime in
new value. Setting <code class="option">lifetime</code> to zero
is equivalent to <code class="option">-remove</code>.
</p>
-<p>
+ <p>
If the <code class="option">-dump</code> is used, any other arguments
are ignored, and a list of existing NTAs is printed
(note that this may include NTAs that are expired but
have not yet been cleaned up).
</p>
-<p>
+ <p>
Normally, <span class="command"><strong>named</strong></span> will periodically
test to see whether data below an NTA can now be
validated (see the <code class="option">nta-recheck</code> option
lifetime, regardless of whether data could be
validated if the NTA were not present.
</p>
-<p>
+ <p>
The view class can be specified with <code class="option">-class</code>.
The default is class <strong class="userinput"><code>IN</code></strong>, which is
the only class for which DNSSEC is currently supported.
</p>
-<p>
+ <p>
All of these options can be shortened, i.e., to
<code class="option">-l</code>, <code class="option">-r</code>, <code class="option">-d</code>,
<code class="option">-f</code>, and <code class="option">-c</code>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>querylog</code></strong> [<span class="optional"> on | off </span>] </span></dt>
<dd>
-<p>
+ <p>
Enable or disable query logging. (For backward
compatibility, this command can also be used without
an argument to toggle query logging on and off.)
</p>
-<p>
+ <p>
Query logging can also be enabled
by explicitly directing the <span class="command"><strong>queries</strong></span>
<span class="command"><strong>category</strong></span> to a
<span class="command"><strong>options</strong></span> section of
<code class="filename">named.conf</code>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>reconfig</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Reload the configuration file and load new zones,
but do not reload existing zone files even if they
have changed.
is a large number of zones because it avoids the need
to examine the
modification times of the zones files.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>recursing</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Dump the list of queries <span class="command"><strong>named</strong></span> is currently
recursing on, and the list of domains to which iterative
queries are currently being sent. (The second list includes
the number of fetches currently active for the given domain,
and how many have been passed or dropped because of the
<code class="option">fetches-per-zone</code> option.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>refresh <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Schedule zone maintenance for the given zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>reload</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Reload configuration file and zones.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>reload <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Reload the given zone.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>retransfer <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Retransfer the given slave zone from the master server.
</p>
-<p>
+ <p>
If the zone is configured to use
<span class="command"><strong>inline-signing</strong></span>, the signed
version of the zone is discarded; after the
signed version will be regenerated with all new
signatures.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>scan</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Scan the list of available network interfaces
for changes, without performing a full
<span class="command"><strong>reconfig</strong></span> or waiting for the
<span class="command"><strong>interface-interval</strong></span> timer.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>secroots [<span class="optional">-</span>] [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Dump the server's security roots and negative trust anchors
for the specified views. If no view is specified, all views
are dumped.
</p>
-<p>
+ <p>
If the first argument is "-", then the output is
returned via the <span class="command"><strong>rndc</strong></span> response channel
and printed to the standard output.
overridden via the <code class="option">secroots-file</code> option in
<code class="filename">named.conf</code>.
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc managed-keys</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>showzone <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
<dd>
-<p>
+ <p>
Print the configuration of a running zone.
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc zonestatus</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>sign <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Fetch all DNSSEC keys for the given zone
from the key directory (see the
<span class="command"><strong>key-directory</strong></span> option in
is changed, then the zone is automatically
re-signed with the new key set.
</p>
-<p>
+ <p>
This command requires that the
<span class="command"><strong>auto-dnssec</strong></span> zone option be set
to <code class="literal">allow</code> or
(See "Dynamic Update Policies" in the Administrator
Reference Manual for more details.)
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc loadkeys</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>signing [<span class="optional">( -list | -clear <em class="replaceable"><code>keyid/algorithm</code></em> | -clear <code class="literal">all</code> | -nsec3param ( <em class="replaceable"><code>parameters</code></em> | <code class="literal">none</code> ) | -serial <em class="replaceable"><code>value</code></em> ) </span>] <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>] </code></strong></span></dt>
<dd>
-<p>
+ <p>
List, edit, or remove the DNSSEC signing state records
for the specified zone. The status of ongoing DNSSEC
operations (such as signing or generating
or have finished signing the zone, and which NSEC3
chains are being created or removed.
</p>
-<p>
+ <p>
<span class="command"><strong>rndc signing -clear</strong></span> can remove
a single key (specified in the same format that
<span class="command"><strong>rndc signing -list</strong></span> uses to
that a key has not yet finished signing the zone
will be retained.
</p>
-<p>
+ <p>
<span class="command"><strong>rndc signing -nsec3param</strong></span> sets
the NSEC3 parameters for a zone. This is the
only supported mechanism for using NSEC3 with
an NSEC3PARAM resource record: hash algorithm,
flags, iterations, and salt, in that order.
</p>
-<p>
+ <p>
Currently, the only defined value for hash algorithm
is <code class="literal">1</code>, representing SHA-1.
The <code class="option">flags</code> may be set to
which causes <span class="command"><strong>named</strong></span> to generate a
random 64-bit salt.
</p>
-<p>
+ <p>
So, for example, to create an NSEC3 chain using
the SHA-1 hash algorithm, no opt-out flag,
10 iterations, and a salt value of "FFFF", use:
salt, use:
<span class="command"><strong>rndc signing -nsec3param 1 1 15 - <em class="replaceable"><code>zone</code></em></strong></span>.
</p>
-<p>
+ <p>
<span class="command"><strong>rndc signing -nsec3param none</strong></span>
removes an existing NSEC3 chain and replaces it
with NSEC.
</p>
-<p>
+ <p>
<span class="command"><strong>rndc signing -serial value</strong></span> sets
the serial number of the zone to value. If the value
would cause the serial number to go backwards it will
be rejected. The primary use is to set the serial on
inline signed zones.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>stats</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Write server statistics to the statistics file.
(See the <span class="command"><strong>statistics-file</strong></span> option in
the BIND 9 Administrator Reference Manual.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>status</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Display status of the server.
Note that the number of zones includes the internal <span class="command"><strong>bind/CH</strong></span> zone
and the default <span class="command"><strong>./IN</strong></span>
hint zone if there is not an
explicit root zone configured.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>stop [<span class="optional">-p</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Stop the server, making sure any recent changes
made through dynamic update or IXFR are first saved to
the master files of the updated zones.
This allows an external process to determine when <span class="command"><strong>named</strong></span>
had completed stopping.
</p>
-<p>See also <span class="command"><strong>rndc halt</strong></span>.</p>
-</dd>
+ <p>See also <span class="command"><strong>rndc halt</strong></span>.</p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>sync [<span class="optional">-clean</span>] [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Sync changes in the journal file for a dynamic zone
to the master file. If the "-clean" option is
specified, the journal file is also removed. If
no zone is specified, then all zones are synced.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>thaw [<span class="optional"><em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Enable updates to a frozen dynamic zone. If no
zone is specified, then all frozen zones are
enabled. This causes the server to reload the zone
zone has changed, any existing journal file will be
removed.
</p>
-<p>See also <span class="command"><strong>rndc freeze</strong></span>.</p>
-</dd>
+ <p>See also <span class="command"><strong>rndc freeze</strong></span>.</p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>trace</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Increment the servers debugging level by one.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>trace <em class="replaceable"><code>level</code></em></code></strong></span></dt>
<dd>
-<p>
+ <p>
Sets the server's debugging level to an explicit
value.
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc notrace</strong></span>.
</p>
-</dd>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>tsig-delete</code></strong> <em class="replaceable"><code>keyname</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span></dt>
-<dd><p>
+<dd>
+ <p>
Delete a given TKEY-negotiated key from the server.
(This does not apply to statically configured TSIG
keys.)
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>tsig-list</code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
List the names of all TSIG keys currently configured
for use by <span class="command"><strong>named</strong></span> in each view. The
list includes both statically configured keys and dynamic
TKEY-negotiated keys.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>validation ( on | off | status ) [<span class="optional"><em class="replaceable"><code>view ...</code></em></span>] </code></strong></span></dt>
-<dd><p>
+<dd>
+ <p>
Enable, disable, or check the current status of
DNSSEC validation.
Note <span class="command"><strong>dnssec-enable</strong></span> also needs to be
set to <strong class="userinput"><code>yes</code></strong> or
<strong class="userinput"><code>auto</code></strong> to be effective.
It defaults to enabled.
- </p></dd>
+ </p>
+ </dd>
<dt><span class="term"><strong class="userinput"><code>zonestatus <em class="replaceable"><code>zone</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em> [<span class="optional"><em class="replaceable"><code>view</code></em></span>]</span>]</code></strong></span></dt>
<dd>
-<p>
+ <p>
Displays the current status of the given zone,
including the master file name and any include
files from which it was loaded, when it was most
management or inline signing, and the scheduled
refresh or expiry times for the zone.
</p>
-<p>
+ <p>
See also <span class="command"><strong>rndc showzone</strong></span>.
</p>
-</dd>
+ </dd>
</dl></div>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.27.10"></a><h2>LIMITATIONS</h2>
-<p>
+
+ <p>
There is currently no way to provide the shared secret for a
<code class="option">key_id</code> without using the configuration file.
</p>
-<p>
+ <p>
Several error messages could be clearer.
</p>
-</div>
-<div class="refsection">
+ </div>
+
+ <div class="refsection">
<a name="id-1.14.27.11"></a><h2>SEE ALSO</h2>
-<p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
- <span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
- <span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
- <span class="citerefentry"><span class="refentrytitle">ndc</span>(8)</span>,
+
+ <p><span class="citerefentry">
+ <span class="refentrytitle">rndc.conf</span>(5)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">rndc-confgen</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named</span>(8)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">named.conf</span>(5)
+ </span>,
+ <span class="citerefentry">
+ <span class="refentrytitle">ndc</span>(8)
+ </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
-</div>
+ </div>
+
</div>
<div class="navfooter">
<hr>
</tr>
</table>
</div>
-<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.17 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.18 (Extended Support Version)</p>
</body>
</html>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id-1.2"></a>Release Notes for BIND Version 9.11.17</h2></div></div></div>
+<a name="id-1.2"></a>Release Notes for BIND Version 9.11.18</h2></div></div></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
+<a name="relnotes-9.11.18"></a>Notes for BIND 9.11.18</h3></div></div></div>
+
+ <div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.18-security"></a>Security Fixes</h4></div></div></div>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <p>
+ DNS rebinding protection was ineffective when BIND 9 is configured as
+ a forwarding DNS server. Found and responsibly reported by Tobias
+ Klein. [GL #1574]
+ </p>
+ </li></ul></div>
+ </div>
+
+ <div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.18-known"></a>Known Issues</h4></div></div></div>
+ <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+ <p>
+ We have received reports that in some circumstances, receipt of an
+ IXFR can cause the processing of queries to slow significantly. Some
+ of these were related to RPZ processing, which has been fixed in this
+ release (see below). Others appear to occur where there are
+ NSEC3-related changes (such as an operator changing the NSEC3 salt
+ used in the hash calculation). These are being investigated.
+ [GL #1685]
+ </p>
+ </li></ul></div>
+ </div>
+
+</div>
+ <div class="section">
+<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.17"></a>Notes for BIND 9.11.17</h3></div></div></div>
<div class="section">
-Release Notes for BIND Version 9.11.17
+Release Notes for BIND Version 9.11.18
Introduction
or who wish to discuss how to comply with the license may contact ISC at
https://www.isc.org/mission/contact/.
+Notes for BIND 9.11.18
+
+Security Fixes
+
+ * DNS rebinding protection was ineffective when BIND 9 is configured as
+ a forwarding DNS server. Found and responsibly reported by Tobias
+ Klein. [GL #1574]
+
+Known Issues
+
+ * We have received reports that in some circumstances, receipt of an
+ IXFR can cause the processing of queries to slow significantly. Some
+ of these were related to RPZ processing, which has been fixed in this
+ release (see below). Others appear to occur where there are
+ NSEC3-related changes (such as an operator changing the NSEC3 salt
+ used in the hash calculation). These are being investigated. [GL
+ #1685]
+
Notes for BIND 9.11.17
Feature Changes
listen-on-v6 [ port <integer> ] [ dscp
<integer> ] {
<address_match_element>; ... }; // may occur multiple times
- lmdb-mapsize <sizeval>;
+ lmdb-mapsize <sizeval>; // non-operational
lock-file ( <quoted_string> | none );
maintain-ixfr-base <boolean>; // obsolete
managed-keys-directory <quoted_string>;
}; // may occur multiple times
key-directory <quoted_string>;
lame-ttl <ttlval>;
- lmdb-mapsize <sizeval>;
+ lmdb-mapsize <sizeval>; // non-operational
maintain-ixfr-base <boolean>; // obsolete
managed-keys { <string> <string>
<integer> <integer> <integer>