+ --- 9.11.26 released ---
+
5544. [func] Restore the default value of "nocookie-udp-size" to 4096
bytes. [GL #2250]
BIND 9.11.25 is a maintenance release.
+BIND 9.11.26
+
+BIND 9.11.26 is a maintenance release.
+
Building BIND
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
BIND 9.11.25 is a maintenance release.
+#### BIND 9.11.26
+
+BIND 9.11.26 is a maintenance release.
+
### <a name="build"/> Building BIND
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
named-checkconf \- named configuration file syntax checking tool
- .SH "SYNOPSIS"
- .HP \w'\fBnamed\-checkconf\fR\ 'u
- \fBnamed\-checkconf\fR
- [\fB\-hjvz\fR]
- [\fB\-p\fR\ [\fB\-x\fR\ ]]
- [\fB\-t\ \fR\fB\fIdirectory\fR\fR]
- {filename}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnamed\-checkconf\fR\ 'u
+\fBnamed\-checkconf\fR [\fB\-hjvz\fR] [\fB\-p\fR\ [\fB\-x\fR\ ]] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename}
+.SH "DESCRIPTION"
+.PP
\fBnamed\-checkconf\fR
checks the syntax, but not the semantics, of a
\fBnamed\fR
configuration file\&. The file is parsed and checked for syntax errors, along with all files included by it\&. If no file is specified,
/etc/named\&.conf
is read by default\&.
- .PP
+.PP
Note: files that
\fBnamed\fR
reads in separate parser contexts, such as
was successful\&.
\fBnamed\-checkconf\fR
can be run on these files explicitly, however\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-h
.RS 4
- Print the usage summary and exit\&.
- .RE
- .PP
+Print the usage summary and exit\&.
+.RE
+.PP
\-j
.RS 4
- When loading a zonefile read the journal if it exists\&.
- .RE
- .PP
+When loading a zonefile read the journal if it exists\&.
+.RE
+.PP
\-p
.RS 4
- Print out the
+Print out the
named\&.conf
and included files in canonical form if no errors were detected\&. See also the
\fB\-x\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-t \fIdirectory\fR
.RS 4
- Chroot to
+Chroot to
directory
so that include directives in the configuration file are processed as if run by a similarly chrooted
\fBnamed\fR\&.
- .RE
- .PP
+.RE
+.PP
\-v
.RS 4
- Print the version of the
+Print the version of the
\fBnamed\-checkconf\fR
program and exit\&.
- .RE
- .PP
+.RE
+.PP
\-x
.RS 4
- When printing the configuration files in canonical form, obscure shared secrets by replacing them with strings of question marks (\*(Aq?\*(Aq)\&. This allows the contents of
+When printing the configuration files in canonical form, obscure shared secrets by replacing them with strings of question marks (\*(Aq?\*(Aq)\&. This allows the contents of
named\&.conf
and related files to be shared \(em for example, when submitting bug reports \(em without compromising private data\&. This option cannot be used without
\fB\-p\fR\&.
- .RE
- .PP
+.RE
+.PP
\-z
.RS 4
- Perform a test load of all master zones found in
+Perform a test load of all master zones found in
named\&.conf\&.
- .RE
- .PP
+.RE
+.PP
filename
.RS 4
- The name of the configuration file to be checked\&. If not specified, it defaults to
+The name of the configuration file to be checked\&. If not specified, it defaults to
/etc/named\&.conf\&.
- .RE
- .SH "RETURN VALUES"
- .PP
+.RE
+.SH "RETURN VALUES"
+.PP
\fBnamed\-checkconf\fR
returns an exit status of 1 if errors were detected and 0 otherwise\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBnamed\fR(8),
\fBnamed-checkzone\fR(8),
BIND 9 Administrator Reference Manual\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
named-checkzone, named-compilezone \- zone file validity checking or converting tool
- .SH "SYNOPSIS"
- .HP \w'\fBnamed\-checkzone\fR\ 'u
- \fBnamed\-checkzone\fR
- [\fB\-d\fR]
- [\fB\-h\fR]
- [\fB\-j\fR]
- [\fB\-q\fR]
- [\fB\-v\fR]
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-f\ \fR\fB\fIformat\fR\fR]
- [\fB\-F\ \fR\fB\fIformat\fR\fR]
- [\fB\-J\ \fR\fB\fIfilename\fR\fR]
- [\fB\-i\ \fR\fB\fImode\fR\fR]
- [\fB\-k\ \fR\fB\fImode\fR\fR]
- [\fB\-m\ \fR\fB\fImode\fR\fR]
- [\fB\-M\ \fR\fB\fImode\fR\fR]
- [\fB\-n\ \fR\fB\fImode\fR\fR]
- [\fB\-l\ \fR\fB\fIttl\fR\fR]
- [\fB\-L\ \fR\fB\fIserial\fR\fR]
- [\fB\-o\ \fR\fB\fIfilename\fR\fR]
- [\fB\-r\ \fR\fB\fImode\fR\fR]
- [\fB\-s\ \fR\fB\fIstyle\fR\fR]
- [\fB\-S\ \fR\fB\fImode\fR\fR]
- [\fB\-t\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-T\ \fR\fB\fImode\fR\fR]
- [\fB\-w\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-D\fR]
- [\fB\-W\ \fR\fB\fImode\fR\fR]
- {zonename}
- {filename}
- .HP \w'\fBnamed\-compilezone\fR\ 'u
- \fBnamed\-compilezone\fR
- [\fB\-d\fR]
- [\fB\-j\fR]
- [\fB\-q\fR]
- [\fB\-v\fR]
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-C\ \fR\fB\fImode\fR\fR]
- [\fB\-f\ \fR\fB\fIformat\fR\fR]
- [\fB\-F\ \fR\fB\fIformat\fR\fR]
- [\fB\-J\ \fR\fB\fIfilename\fR\fR]
- [\fB\-i\ \fR\fB\fImode\fR\fR]
- [\fB\-k\ \fR\fB\fImode\fR\fR]
- [\fB\-m\ \fR\fB\fImode\fR\fR]
- [\fB\-n\ \fR\fB\fImode\fR\fR]
- [\fB\-l\ \fR\fB\fIttl\fR\fR]
- [\fB\-L\ \fR\fB\fIserial\fR\fR]
- [\fB\-r\ \fR\fB\fImode\fR\fR]
- [\fB\-s\ \fR\fB\fIstyle\fR\fR]
- [\fB\-t\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-T\ \fR\fB\fImode\fR\fR]
- [\fB\-w\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-D\fR]
- [\fB\-W\ \fR\fB\fImode\fR\fR]
- {\fB\-o\ \fR\fB\fIfilename\fR\fR}
- {zonename}
- {filename}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnamed\-checkzone\fR\ 'u
+\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-J\ \fR\fB\fIfilename\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-l\ \fR\fB\fIttl\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-T\ \fR\fB\fImode\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
+.HP \w'\fBnamed\-compilezone\fR\ 'u
+\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-J\ \fR\fB\fIfilename\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-l\ \fR\fB\fIttl\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-T\ \fR\fB\fImode\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename}
+.SH "DESCRIPTION"
+.PP
\fBnamed\-checkzone\fR
checks the syntax and integrity of a zone file\&. It performs the same checks as
\fBnamed\fR
does when loading a zone\&. This makes
\fBnamed\-checkzone\fR
useful for checking zone files before configuring them into a name server\&.
- .PP
+.PP
\fBnamed\-compilezone\fR
is similar to
\fBnamed\-checkzone\fR, but it always dumps the zone contents to a specified file in a specified format\&. Additionally, it applies stricter check levels by default, since the dump output will be used as an actual zone file loaded by
\fBnamed\fR\&. When manually specified otherwise, the check levels must at least be as strict as those specified in the
\fBnamed\fR
configuration file\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-d
.RS 4
- Enable debugging\&.
- .RE
- .PP
+Enable debugging\&.
+.RE
+.PP
\-h
.RS 4
- Print the usage summary and exit\&.
- .RE
- .PP
+Print the usage summary and exit\&.
+.RE
+.PP
\-q
.RS 4
- Quiet mode \- exit code only\&.
- .RE
- .PP
+Quiet mode \- exit code only\&.
+.RE
+.PP
\-v
.RS 4
- Print the version of the
+Print the version of the
\fBnamed\-checkzone\fR
program and exit\&.
- .RE
- .PP
+.RE
+.PP
\-j
.RS 4
- 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
+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
\&.jnl\&.
- .RE
- .PP
+.RE
+.PP
\-J \fIfilename\fR
.RS 4
- When loading the zone file read the journal from the given file, if it exists\&. (Implies \-j\&.)
- .RE
- .PP
+When loading the zone file read the journal from the given file, if it exists\&. (Implies \-j\&.)
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Specify the class of the zone\&. If not specified, "IN" is assumed\&.
- .RE
- .PP
+Specify the class of the zone\&. If not specified, "IN" is assumed\&.
+.RE
+.PP
\-i \fImode\fR
.RS 4
- Perform post\-load zone integrity checks\&. Possible modes are
+Perform post\-load zone integrity checks\&. Possible modes are
\fB"full"\fR
(default),
\fB"full\-sibling"\fR,
and
\fB"none"\fR\&.
.sp
- Mode
+Mode
\fB"full"\fR
checks that MX records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. Mode
\fB"local"\fR
only checks MX records which refer to in\-zone hostnames\&.
.sp
- Mode
+Mode
\fB"full"\fR
checks that SRV records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. Mode
\fB"local"\fR
only checks SRV records which refer to in\-zone hostnames\&.
.sp
- Mode
+Mode
\fB"full"\fR
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 in the zone match those advertised by the child\&. Mode
\fB"local"\fR
only checks NS records which refer to in\-zone hostnames or that some required glue exists, that is when the nameserver is in a child zone\&.
.sp
- Mode
+Mode
\fB"full\-sibling"\fR
and
\fB"local\-sibling"\fR
\fB"local"\fR
respectively\&.
.sp
- Mode
+Mode
\fB"none"\fR
disables the checks\&.
- .RE
- .PP
+.RE
+.PP
\-f \fIformat\fR
.RS 4
- Specify the format of the zone file\&. Possible formats are
+Specify the format of the zone file\&. Possible formats are
\fB"text"\fR
(default),
\fB"raw"\fR, and
\fB"map"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-F \fIformat\fR
.RS 4
- Specify the format of the output file specified\&. For
+Specify the format of the output file specified\&. For
\fBnamed\-checkzone\fR, this does not cause any effects unless it dumps the zone contents\&.
.sp
- Possible formats are
+Possible formats are
\fB"text"\fR
(default), which is the standard textual representation of the zone, and
\fB"map"\fR,
\fB"raw=N"\fR
specifies the format version of the raw zone file: if N is 0, the raw file can be read by any version of
\fBnamed\fR; if N is 1, the file can be read by release 9\&.9\&.0 or higher; the default is 1\&.
- .RE
- .PP
+.RE
+.PP
\-k \fImode\fR
.RS 4
- Perform
+Perform
\fB"check\-names"\fR
checks with the specified failure mode\&. Possible modes are
\fB"fail"\fR
(default for
\fBnamed\-checkzone\fR) and
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-l \fIttl\fR
.RS 4
- 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
+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
\fBmax\-zone\-ttl\fR
option in
named\&.conf\&.
- .RE
- .PP
+.RE
+.PP
\-L \fIserial\fR
.RS 4
- 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\&.)
- .RE
- .PP
+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\&.)
+.RE
+.PP
\-m \fImode\fR
.RS 4
- Specify whether MX records should be checked to see if they are addresses\&. Possible modes are
+Specify whether MX records should be checked to see if they are addresses\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-M \fImode\fR
.RS 4
- Check if a MX record refers to a CNAME\&. Possible modes are
+Check if a MX record refers to a CNAME\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-n \fImode\fR
.RS 4
- Specify whether NS records should be checked to see if they are addresses\&. Possible modes are
+Specify whether NS records should be checked to see if they are addresses\&. Possible modes are
\fB"fail"\fR
(default for
\fBnamed\-compilezone\fR),
(default for
\fBnamed\-checkzone\fR) and
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-o \fIfilename\fR
.RS 4
- Write zone output to
+Write zone output to
filename\&. If
filename
is
\-
then write to standard out\&. This is mandatory for
\fBnamed\-compilezone\fR\&.
- .RE
- .PP
+.RE
+.PP
\-r \fImode\fR
.RS 4
- Check for records that are treated as different by DNSSEC but are semantically equal in plain DNS\&. Possible modes are
+Check for records that are treated as different by DNSSEC but are semantically equal in plain DNS\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-s \fIstyle\fR
.RS 4
- Specify the style of the dumped zone file\&. Possible styles are
+Specify the style of the dumped zone file\&. Possible styles are
\fB"full"\fR
(default) and
\fB"relative"\fR\&. The full format is most suitable for processing automatically by a separate script\&. On the other hand, the relative format is more human\-readable and is thus suitable for editing by hand\&. For
\fBnamed\-checkzone\fR
this does not cause any effects unless it dumps the zone contents\&. It also does not have any meaning if the output format is not text\&.
- .RE
- .PP
+.RE
+.PP
\-S \fImode\fR
.RS 4
- Check if a SRV record refers to a CNAME\&. Possible modes are
+Check if a SRV record refers to a CNAME\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-t \fIdirectory\fR
.RS 4
- Chroot to
+Chroot to
directory
so that include directives in the configuration file are processed as if run by a similarly chrooted
\fBnamed\fR\&.
- .RE
- .PP
+.RE
+.PP
\-T \fImode\fR
.RS 4
- 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
+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
\fB"warn"\fR
(default),
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
\-w \fIdirectory\fR
.RS 4
- chdir to
+chdir to
directory
so that relative filenames in master file $INCLUDE directives work\&. This is similar to the directory clause in
named\&.conf\&.
- .RE
- .PP
+.RE
+.PP
\-D
.RS 4
- Dump zone file in canonical format\&. This is always enabled for
+Dump zone file in canonical format\&. This is always enabled for
\fBnamed\-compilezone\fR\&.
- .RE
- .PP
+.RE
+.PP
\-W \fImode\fR
.RS 4
- 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
+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
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
- .RE
- .PP
+.RE
+.PP
zonename
.RS 4
- The domain name of the zone being checked\&.
- .RE
- .PP
+The domain name of the zone being checked\&.
+.RE
+.PP
filename
.RS 4
- The name of the zone file\&.
- .RE
- .SH "RETURN VALUES"
- .PP
+The name of the zone file\&.
+.RE
+.SH "RETURN VALUES"
+.PP
\fBnamed\-checkzone\fR
returns an exit status of 1 if errors were detected and 0 otherwise\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBnamed\fR(8),
\fBnamed-checkconf\fR(8),
RFC 1035,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
ddns-confgen \- ddns key generation tool
- .SH "SYNOPSIS"
- .HP \w'\fBtsig\-keygen\fR\ 'u
- \fBtsig\-keygen\fR
- [\fB\-a\ \fR\fB\fIalgorithm\fR\fR]
- [\fB\-h\fR]
- [\fB\-r\ \fR\fB\fIrandomfile\fR\fR]
- [name]
- .HP \w'\fBddns\-confgen\fR\ 'u
- \fBddns\-confgen\fR
- [\fB\-a\ \fR\fB\fIalgorithm\fR\fR]
- [\fB\-h\fR]
- [\fB\-k\ \fR\fB\fIkeyname\fR\fR]
- [\fB\-q\fR]
- [\fB\-r\ \fR\fB\fIrandomfile\fR\fR]
- [
- | \-s\ \fIname\fR
- | \-z\ \fIzone\fR
- ]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBtsig\-keygen\fR\ 'u
+\fBtsig\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [name]
+.HP \w'\fBddns\-confgen\fR\ 'u
+\fBddns\-confgen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-q\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [\-s\ \fIname\fR | \-z\ \fIzone\fR]
+.SH "DESCRIPTION"
+.PP
\fBtsig\-keygen\fR
and
\fBddns\-confgen\fR
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
\fBrndc\fR
command channel\&.
- .PP
+.PP
When run as
\fBtsig\-keygen\fR, 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
\fBtsig\-key\fR\&.
- .PP
+.PP
When run as
\fBddns\-confgen\fR, the generated key is accompanied by configuration text and instructions that can be used with
\fBnsupdate\fR
statement\&. (This usage similar to the
\fBrndc\-confgen\fR
command for setting up command channel security\&.)
- .PP
+.PP
Note that
\fBnamed\fR
itself can configure a local DDNS key for use with
is only needed when a more elaborate configuration is required: for instance, if
\fBnsupdate\fR
is to be used from a remote system\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-a \fIalgorithm\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-h
.RS 4
- Prints a short summary of options and arguments\&.
- .RE
- .PP
+Prints a short summary of options and arguments\&.
+.RE
+.PP
\-k \fIkeyname\fR
.RS 4
- Specifies the key name of the DDNS authentication key\&. The default is
+Specifies the key name of the DDNS authentication key\&. The default is
\fBddns\-key\fR
when neither the
\fB\-s\fR
as a separate label followed by the argument of the option, e\&.g\&.,
\fBddns\-key\&.example\&.com\&.\fR
The key name must have the format of a valid domain name, consisting of letters, digits, hyphens and periods\&.
- .RE
- .PP
+.RE
+.PP
\-q
.RS 4
- (\fBddns\-confgen\fR
+(\fBddns\-confgen\fR
only\&.) Quiet mode: Print only the key, with no explanatory text or usage examples; This is essentially identical to
\fBtsig\-keygen\fR\&.
- .RE
- .PP
+.RE
+.PP
\-r \fIrandomfile\fR
.RS 4
- Specifies a source of random data for generating the authorization\&. If the operating system does not provide a
+Specifies a source of random data for generating the authorization\&. If the operating system does not provide a
/dev/random
or equivalent device, the default source of randomness is keyboard input\&.
randomdev
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
keyboard
indicates that keyboard input should be used\&.
- .RE
- .PP
+.RE
+.PP
\-s \fIname\fR
.RS 4
- (\fBddns\-confgen\fR
+(\fBddns\-confgen\fR
only\&.) Generate configuration example to allow dynamic updates of a single hostname\&. The example
\fBnamed\&.conf\fR
text shows how to set an update policy for the specified
using the "name" nametype\&. The default key name is ddns\-key\&.\fIname\fR\&. 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
\fB\-z\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-z \fIzone\fR
.RS 4
- (\fBddns\-confgen\fR
+(\fBddns\-confgen\fR
only\&.) Generate configuration example to allow dynamic updates of a zone: The example
\fBnamed\&.conf\fR
text shows how to set an update policy for the specified
\fIzone\fR\&. This option cannot be used with the
\fB\-s\fR
option\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBnsupdate\fR(1),
\fBnamed.conf\fR(5),
\fBnamed\fR(8),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
rndc-confgen \- rndc key generation tool
- .SH "SYNOPSIS"
- .HP \w'\fBrndc\-confgen\fR\ 'u
- \fBrndc\-confgen\fR
- [\fB\-a\fR]
- [\fB\-A\ \fR\fB\fIalgorithm\fR\fR]
- [\fB\-b\ \fR\fB\fIkeysize\fR\fR]
- [\fB\-c\ \fR\fB\fIkeyfile\fR\fR]
- [\fB\-h\fR]
- [\fB\-k\ \fR\fB\fIkeyname\fR\fR]
- [\fB\-p\ \fR\fB\fIport\fR\fR]
- [\fB\-r\ \fR\fB\fIrandomfile\fR\fR]
- [\fB\-s\ \fR\fB\fIaddress\fR\fR]
- [\fB\-t\ \fR\fB\fIchrootdir\fR\fR]
- [\fB\-u\ \fR\fB\fIuser\fR\fR]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBrndc\-confgen\fR\ 'u
+\fBrndc\-confgen\fR [\fB\-a\fR] [\fB\-A\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-c\ \fR\fB\fIkeyfile\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [\fB\-s\ \fR\fB\fIaddress\fR\fR] [\fB\-t\ \fR\fB\fIchrootdir\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR]
+.SH "DESCRIPTION"
+.PP
\fBrndc\-confgen\fR
generates configuration files for
\fBrndc\fR\&. It can be used as a convenient alternative to writing the
file and a
\fBcontrols\fR
statement altogether\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-a
.RS 4
- Do automatic
+Do automatic
\fBrndc\fR
configuration\&. This creates a file
rndc\&.key
\fBnamed\fR
on the local host with no further configuration\&.
.sp
- Running
+Running
\fBrndc\-confgen \-a\fR
allows BIND 9 and
\fBrndc\fR
named\&.conf
file\&.
.sp
- If a more elaborate configuration than that generated by
+If a more elaborate configuration than that generated by
\fBrndc\-confgen \-a\fR
is required, for example if rndc is to be used remotely, you should run
\fBrndc\-confgen\fR
and
named\&.conf
as directed\&.
- .RE
- .PP
+.RE
+.PP
\-A \fIalgorithm\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-b \fIkeysize\fR
.RS 4
- Specifies the size of the authentication key in bits\&. Must be between 1 and 512 bits; the default is the hash size\&.
- .RE
- .PP
+Specifies the size of the authentication key in bits\&. Must be between 1 and 512 bits; the default is the hash size\&.
+.RE
+.PP
\-c \fIkeyfile\fR
.RS 4
- Used with the
+Used with the
\fB\-a\fR
option to specify an alternate location for
rndc\&.key\&.
- .RE
- .PP
+.RE
+.PP
\-h
.RS 4
- Prints a short summary of the options and arguments to
+Prints a short summary of the options and arguments to
\fBrndc\-confgen\fR\&.
- .RE
- .PP
+.RE
+.PP
\-k \fIkeyname\fR
.RS 4
- Specifies the key name of the rndc authentication key\&. This must be a valid domain name\&. The default is
+Specifies the key name of the rndc authentication key\&. This must be a valid domain name\&. The default is
\fBrndc\-key\fR\&.
- .RE
- .PP
+.RE
+.PP
\-p \fIport\fR
.RS 4
- Specifies the command channel port where
+Specifies the command channel port where
\fBnamed\fR
listens for connections from
\fBrndc\fR\&. The default is 953\&.
- .RE
- .PP
+.RE
+.PP
\-r \fIrandomfile\fR
.RS 4
- Specifies a source of random data for generating the authorization\&. If the operating system does not provide a
+Specifies a source of random data for generating the authorization\&. If the operating system does not provide a
/dev/random
or equivalent device, the default source of randomness is keyboard input\&.
randomdev
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
keyboard
indicates that keyboard input should be used\&.
- .RE
- .PP
+.RE
+.PP
\-s \fIaddress\fR
.RS 4
- Specifies the IP address where
+Specifies the IP address where
\fBnamed\fR
listens for command channel connections from
\fBrndc\fR\&. The default is the loopback address 127\&.0\&.0\&.1\&.
- .RE
- .PP
+.RE
+.PP
\-t \fIchrootdir\fR
.RS 4
- Used with the
+Used with the
\fB\-a\fR
option to specify a directory where
\fBnamed\fR
rndc\&.key
will be written relative to this directory so that it will be found by the chrooted
\fBnamed\fR\&.
- .RE
- .PP
+.RE
+.PP
\-u \fIuser\fR
.RS 4
- Used with the
+Used with the
\fB\-a\fR
option to set the owner of the
rndc\&.key
file generated\&. If
\fB\-t\fR
is also specified only the file in the chroot area has its owner changed\&.
- .RE
- .SH "EXAMPLES"
- .PP
+.RE
+.SH "EXAMPLES"
+.PP
To allow
\fBrndc\fR
to be used with no manual configuration, run
- .PP
+.PP
\fBrndc\-confgen \-a\fR
- .PP
+.PP
To print a sample
rndc\&.conf
file and corresponding
\fBkey\fR
statements to be manually inserted into
named\&.conf, run
- .PP
+.PP
\fBrndc\-confgen\fR
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBrndc\fR(8),
\fBrndc.conf\fR(5),
\fBnamed\fR(8),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
delv \- DNS lookup and validation utility
- .SH "SYNOPSIS"
- .HP \w'\fBdelv\fR\ 'u
- \fBdelv\fR
- [@server]
- [
- | [\fB\-4\fR]
- | [\fB\-6\fR]
- ]
- [\fB\-a\ \fR\fB\fIanchor\-file\fR\fR]
- [\fB\-b\ \fR\fB\fIaddress\fR\fR]
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-d\ \fR\fB\fIlevel\fR\fR]
- [\fB\-i\fR]
- [\fB\-m\fR]
- [\fB\-p\ \fR\fB\fIport#\fR\fR]
- [\fB\-q\ \fR\fB\fIname\fR\fR]
- [\fB\-t\ \fR\fB\fItype\fR\fR]
- [\fB\-x\ \fR\fB\fIaddr\fR\fR]
- [name]
- [type]
- [class]
- [queryopt...]
- .HP \w'\fBdelv\fR\ 'u
- \fBdelv\fR
- [\fB\-h\fR]
- .HP \w'\fBdelv\fR\ 'u
- \fBdelv\fR
- [\fB\-v\fR]
- .HP \w'\fBdelv\fR\ 'u
- \fBdelv\fR
- [queryopt...]
- [query...]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdelv\fR\ 'u
+\fBdelv\fR [@server] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-a\ \fR\fB\fIanchor\-file\fR\fR] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIlevel\fR\fR] [\fB\-i\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [name] [type] [class] [queryopt...]
+.HP \w'\fBdelv\fR\ 'u
+\fBdelv\fR [\fB\-h\fR]
+.HP \w'\fBdelv\fR\ 'u
+\fBdelv\fR [\fB\-v\fR]
+.HP \w'\fBdelv\fR\ 'u
+\fBdelv\fR [queryopt...] [query...]
+.SH "DESCRIPTION"
+.PP
\fBdelv\fR
is a tool for sending DNS queries and validating the results, using the same internal resolver and validator logic as
\fBnamed\fR\&.
- .PP
+.PP
\fBdelv\fR
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 CNAME or DNAME chains, and queries for DNSKEY, DS and DLV records to establish a chain of trust for DNSSEC validation\&. It does not perform iterative resolution, but simulates the behavior of a name server configured for DNSSEC validating and forwarding\&.
- .PP
+.PP
By default, responses are validated using built\-in DNSSEC trust anchor for the root zone ("\&.")\&. Records returned by
\fBdelv\fR
are either fully validated or were not signed\&. If validation fails, an explanation of the failure is included in the output; the validation process can be traced in detail\&. Because
\fBdelv\fR
does not rely on an external server to carry out validation, it can be used to check the validity of DNS responses in environments where local name servers may not be trustworthy\&.
- .PP
+.PP
Unless it is told to query a specific name server,
\fBdelv\fR
will try each of the servers listed in
/etc/resolv\&.conf\&. If no usable server addresses are found,
\fBdelv\fR
will send queries to the localhost addresses (127\&.0\&.0\&.1 for IPv4, ::1 for IPv6)\&.
- .PP
+.PP
When no command line arguments or options are given,
\fBdelv\fR
will perform an NS query for "\&." (the root zone)\&.
- .SH "SIMPLE USAGE"
- .PP
+.SH "SIMPLE USAGE"
+.PP
A typical invocation of
\fBdelv\fR
looks like:
.\}
.sp
where:
- .PP
+.PP
\fBserver\fR
.RS 4
- 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
+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
\fIserver\fR
argument is a hostname,
\fBdelv\fR
\fInot\fR
validated by DNSSEC)\&.
.sp
- If no
+If no
\fIserver\fR
argument is provided,
\fBdelv\fR
options are in use, then only addresses for the corresponding transport will be tried\&. If no usable addresses are found,
\fBdelv\fR
will send queries to the localhost addresses (127\&.0\&.0\&.1 for IPv4, ::1 for IPv6)\&.
- .RE
- .PP
+.RE
+.PP
\fBname\fR
.RS 4
- is the domain name to be looked up\&.
- .RE
- .PP
+is the domain name to be looked up\&.
+.RE
+.PP
\fBtype\fR
.RS 4
- indicates what type of query is required \(em ANY, A, MX, etc\&.
+indicates what type of query is required \(em ANY, A, MX, etc\&.
\fItype\fR
can be any valid query type\&. If no
\fItype\fR
argument is supplied,
\fBdelv\fR
will perform a lookup for an A record\&.
- .RE
- .SH "OPTIONS"
- .PP
+.RE
+.SH "OPTIONS"
+.PP
\-a \fIanchor\-file\fR
.RS 4
- Specifies a file from which to read DNSSEC trust anchors\&. The default is
+Specifies a file from which to read DNSSEC trust anchors\&. The default is
/etc/bind\&.keys, which is included with
BIND
9 and contains one or more trust anchors for the root zone ("\&.")\&.
.sp
- Keys that do not match the root zone name are ignored\&. An alternate key name can be specified using the
+Keys that do not match the root zone name are ignored\&. An alternate key name can be specified using the
\fB+root=NAME\fR
options\&. DNSSEC Lookaside Validation can also be turned on by using the
\fB+dlv=NAME\fR
to specify the name of a zone containing DLV records\&.
.sp
- Note: When reading the trust anchor file,
+Note: When reading the trust anchor file,
\fBdelv\fR
treats
\fBmanaged\-keys\fR
/etc/bind\&.keys
to use DNSSEC validation in
\fBdelv\fR\&.
- .RE
- .PP
+.RE
+.PP
\-b \fIaddress\fR
.RS 4
- Sets the source IP address of the query to
+Sets the source IP address of the query to
\fIaddress\fR\&. This must be a valid address on one of the host\*(Aqs network interfaces or "0\&.0\&.0\&.0" or "::"\&. An optional source port may be specified by appending "#<port>"
- .RE
- .PP
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Sets the query class for the requested data\&. Currently, only class "IN" is supported in
+Sets the query class for the requested data\&. Currently, only class "IN" is supported in
\fBdelv\fR
and any other value is ignored\&.
- .RE
- .PP
+.RE
+.PP
\-d \fIlevel\fR
.RS 4
- Set the systemwide debug level to
+Set the systemwide debug level to
\fBlevel\fR\&. The allowed range is from 0 to 99\&. The default is 0 (no debugging)\&. Debugging traces from
\fBdelv\fR
become more verbose as the debug level increases\&. See the
\fB+rtrace\fR, and
\fB+vtrace\fR
options below for additional debugging details\&.
- .RE
- .PP
+.RE
+.PP
\-h
.RS 4
- Display the
+Display the
\fBdelv\fR
help usage output and exit\&.
- .RE
- .PP
+.RE
+.PP
\-i
.RS 4
- 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 validation, then it will not return invalid data; this can cause
+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 validation, then it will not return invalid data; this can cause
\fBdelv\fR
to time out\&. When it is necessary to examine invalid data to debug a DNSSEC problem, use
\fBdig +cd\fR\&.)
- .RE
- .PP
+.RE
+.PP
\-m
.RS 4
- Enables memory usage debugging\&.
- .RE
- .PP
+Enables memory usage debugging\&.
+.RE
+.PP
\-p \fIport#\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-q \fIname\fR
.RS 4
- Sets the query name to
+Sets the query name to
\fIname\fR\&. While the query name can be specified without using the
\fB\-q\fR, 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)\&.
- .RE
- .PP
+.RE
+.PP
\-t \fItype\fR
.RS 4
- Sets the query type to
+Sets the query type to
\fItype\fR, which can be any valid query type supported in BIND 9 except for zone transfer types AXFR and IXFR\&. As with
\fB\-q\fR, this is useful to distinguish query name type or class when they are ambiguous\&. it is sometimes necessary to disambiguate names from types\&.
.sp
- The default query type is "A", unless the
+The default query type is "A", unless the
\fB\-x\fR
option is supplied to indicate a reverse lookup, in which case it is "PTR"\&.
- .RE
- .PP
+.RE
+.PP
\-v
.RS 4
- Print the
+Print the
\fBdelv\fR
version and exit\&.
- .RE
- .PP
+.RE
+.PP
\-x \fIaddr\fR
.RS 4
- Performs a reverse lookup, mapping an addresses to a name\&.
+Performs a reverse lookup, mapping an addresses to a name\&.
\fIaddr\fR
is an IPv4 address in dotted\-decimal notation, or a colon\-delimited IPv6 address\&. When
\fB\-x\fR
automatically performs a lookup for a name like
11\&.12\&.13\&.10\&.in\-addr\&.arpa
and sets the query type to PTR\&. IPv6 addresses are looked up using nibble format under the IP6\&.ARPA domain\&.
- .RE
- .PP
+.RE
+.PP
\-4
.RS 4
- Forces
+Forces
\fBdelv\fR
to only use IPv4\&.
- .RE
- .PP
+.RE
+.PP
\-6
.RS 4
- Forces
+Forces
\fBdelv\fR
to only use IPv6\&.
- .RE
- .SH "QUERY OPTIONS"
- .PP
+.RE
+.SH "QUERY OPTIONS"
+.PP
\fBdelv\fR
provides a number of query options which affect the way results are displayed, and in some cases the way lookups are performed\&.
- .PP
+.PP
Each query option is identified by a keyword preceded by a plus sign (+)\&. Some keywords set or reset an option\&. These may be preceded by the string
no
to negate the meaning of that keyword\&. Other keywords assign values to options like the timeout interval\&. They have the form
\fB+keyword=value\fR\&. The query options are:
- .PP
+.PP
\fB+[no]cdflag\fR
.RS 4
- Controls whether to set the CD (checking disabled) bit in queries sent by
+Controls whether to set the CD (checking disabled) bit in queries sent by
\fBdelv\fR\&. This may be useful when troubleshooting DNSSEC problems from behind a validating resolver\&. A validating resolver will block invalid responses, making it difficult to retrieve them for analysis\&. Setting the CD flag on queries will cause the resolver to return invalid responses, which
\fBdelv\fR
can then validate internally and report the errors in detail\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]class\fR
.RS 4
- Controls whether to display the CLASS when printing a record\&. The default is to display the CLASS\&.
- .RE
- .PP
+Controls whether to display the CLASS when printing a record\&. The default is to display the CLASS\&.
+.RE
+.PP
\fB+[no]ttl\fR
.RS 4
- Controls whether to display the TTL when printing a record\&. The default is to display the TTL\&.
- .RE
- .PP
+Controls whether to display the TTL when printing a record\&. The default is to display the TTL\&.
+.RE
+.PP
\fB+[no]rtrace\fR
.RS 4
- Toggle resolver fetch logging\&. This reports the name and type of each query sent by
+Toggle resolver fetch logging\&. This reports the name and type of each query sent by
\fBdelv\fR
in the process of carrying out the resolution and validation process: this includes including the original query and all subsequent queries to follow CNAMEs and to establish a chain of trust for DNSSEC validation\&.
.sp
- This is equivalent to setting the debug level to 1 in the "resolver" logging category\&. Setting the systemwide debug level to 1 using the
+This is equivalent to setting the debug level to 1 in the "resolver" logging category\&. Setting the systemwide debug level to 1 using the
\fB\-d\fR
option will product the same output (but will affect other logging categories as well)\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]mtrace\fR
.RS 4
- Toggle message logging\&. This produces a detailed dump of the responses received by
+Toggle message logging\&. This produces a detailed dump of the responses received by
\fBdelv\fR
in the process of carrying out the resolution and validation process\&.
.sp
- 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
+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
\fB\-d\fR
option will produce the same output (but will affect other logging categories as well)\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]vtrace\fR
.RS 4
- Toggle validation logging\&. This shows the internal process of the validator as it determines whether an answer is validly signed, unsigned, or invalid\&.
+Toggle validation logging\&. This shows the internal process of the validator as it determines whether an answer is validly signed, unsigned, or invalid\&.
.sp
- 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
+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
\fB\-d\fR
option will produce the same output (but will affect other logging categories as well)\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]short\fR
.RS 4
- Provide a terse answer\&. The default is to print the answer in a verbose form\&.
- .RE
- .PP
+Provide a terse answer\&. The default is to print the answer in a verbose form\&.
+.RE
+.PP
\fB+[no]comments\fR
.RS 4
- Toggle the display of comment lines in the output\&. The default is to print comments\&.
- .RE
- .PP
+Toggle the display of comment lines in the output\&. The default is to print comments\&.
+.RE
+.PP
\fB+[no]rrcomments\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]crypto\fR
.RS 4
- 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 the common failures\&. The default is to display the fields\&. 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 ]"\&.
- .RE
- .PP
+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 the common failures\&. The default is to display the fields\&. 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 ]"\&.
+.RE
+.PP
\fB+[no]trust\fR
.RS 4
- Controls whether to display the trust level when printing a record\&. The default is to display the trust level\&.
- .RE
- .PP
+Controls whether to display the trust level when printing a record\&. The default is to display the trust level\&.
+.RE
+.PP
\fB+[no]split[=W]\fR
.RS 4
- Split long hex\- or base64\-formatted fields in resource records into chunks of
+Split long hex\- or base64\-formatted fields in resource records into chunks of
\fIW\fR
characters (where
\fIW\fR
or
\fI+split=0\fR
causes fields not to be split at all\&. The default is 56 characters, or 44 characters when multiline mode is active\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]all\fR
.RS 4
- Set or clear the display options
+Set or clear the display options
\fB+[no]comments\fR,
\fB+[no]rrcomments\fR, and
\fB+[no]trust\fR
as a group\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]multiline\fR
.RS 4
- 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
+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
\fBdelv\fR
output\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]dnssec\fR
.RS 4
- Indicates whether to display RRSIG records in the
+Indicates whether to display RRSIG records in the
\fBdelv\fR
output\&. The default is to do so\&. Note that (unlike in
\fBdig\fR) this does
\fB+noroot\fR
and
\fB+nodlv\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]root[=ROOT]\fR
.RS 4
- 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 trust anchor of "\&." (the root zone), for which there is a built\-in key\&. If specifying a different trust anchor, then
+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 trust anchor of "\&." (the root zone), for which there is a built\-in key\&. If specifying a different trust anchor, then
\fB\-a\fR
must be used to specify a file containing the key\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]dlv[=DLV]\fR
.RS 4
- Indicates whether to perform DNSSEC lookaside validation, and if so, specifies the name of the DLV trust anchor\&. The
+Indicates whether to perform DNSSEC lookaside validation, and if so, specifies the name of the DLV trust anchor\&. The
\fB\-a\fR
option must also be used to specify a file containing the DLV key\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]tcp\fR
.RS 4
- Controls whether to use TCP when sending queries\&. The default is to use UDP unless a truncated response has been received\&.
- .RE
- .PP
+Controls whether to use TCP when sending queries\&. The default is to use UDP unless a truncated response has been received\&.
+.RE
+.PP
\fB+[no]unknownformat\fR
.RS 4
- Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&.
- .RE
- .SH "FILES"
- .PP
+Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&.
+.RE
+.SH "FILES"
+.PP
/etc/bind\&.keys
- .PP
+.PP
/etc/resolv\&.conf
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdig\fR(1),
\fBnamed\fR(8),
RFC4034,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dig \- DNS lookup utility
- .SH "SYNOPSIS"
- .HP \w'\fBdig\fR\ 'u
- \fBdig\fR
- [@server]
- [\fB\-b\ \fR\fB\fIaddress\fR\fR]
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-f\ \fR\fB\fIfilename\fR\fR]
- [\fB\-k\ \fR\fB\fIfilename\fR\fR]
- [\fB\-m\fR]
- [\fB\-p\ \fR\fB\fIport#\fR\fR]
- [\fB\-q\ \fR\fB\fIname\fR\fR]
- [\fB\-t\ \fR\fB\fItype\fR\fR]
- [\fB\-v\fR]
- [\fB\-x\ \fR\fB\fIaddr\fR\fR]
- [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR]
- [
- | [\fB\-4\fR]
- | [\fB\-6\fR]
- ]
- [name]
- [type]
- [class]
- [queryopt...]
- .HP \w'\fBdig\fR\ 'u
- \fBdig\fR
- [\fB\-h\fR]
- .HP \w'\fBdig\fR\ 'u
- \fBdig\fR
- [global\-queryopt...]
- [query...]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdig\fR\ 'u
+\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [name] [type] [class] [queryopt...]
+.HP \w'\fBdig\fR\ 'u
+\fBdig\fR [\fB\-h\fR]
+.HP \w'\fBdig\fR\ 'u
+\fBdig\fR [global\-queryopt...] [query...]
+.SH "DESCRIPTION"
+.PP
\fBdig\fR
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
\fBdig\fR
to troubleshoot DNS problems because of its flexibility, ease of use and clarity of output\&. Other lookup tools tend to have less functionality than
\fBdig\fR\&.
- .PP
+.PP
Although
\fBdig\fR
is normally used with command\-line arguments, it also has a batch mode of operation for reading lookup requests from a file\&. A brief summary of its command\-line arguments and options is printed when the
option is given\&. Unlike earlier versions, the BIND 9 implementation of
\fBdig\fR
allows multiple lookups to be issued from the command line\&.
- .PP
+.PP
Unless it is told to query a specific name server,
\fBdig\fR
will try each of the servers listed in
/etc/resolv\&.conf\&. If no usable server addresses are found,
\fBdig\fR
will send the query to the local host\&.
- .PP
+.PP
When no command line arguments or options are given,
\fBdig\fR
will perform an NS query for "\&." (the root)\&.
- .PP
+.PP
It is possible to set per\-user defaults for
\fBdig\fR
via
${HOME}/\&.digrc\&. This file is read and any options in it are applied before the command line arguments\&. The
\fB\-r\fR
option disables this feature, for scripts that need predictable behaviour\&.
- .PP
+.PP
The IN and CH class names overlap with the IN and CH top level domain names\&. Either use the
\fB\-t\fR
and
options to specify the type and class, use the
\fB\-q\fR
the specify the domain name, or use "IN\&." and "CH\&." when looking up these top level domains\&.
- .SH "SIMPLE USAGE"
- .PP
+.SH "SIMPLE USAGE"
+.PP
A typical invocation of
\fBdig\fR
looks like:
.\}
.sp
where:
- .PP
+.PP
\fBserver\fR
.RS 4
- 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
+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
\fIserver\fR
argument is a hostname,
\fBdig\fR
resolves that name before querying that name server\&.
.sp
- If no
+If no
\fIserver\fR
argument is provided,
\fBdig\fR
options are in use, then only addresses for the corresponding transport will be tried\&. If no usable addresses are found,
\fBdig\fR
will send the query to the local host\&. The reply from the name server that responds is displayed\&.
- .RE
- .PP
+.RE
+.PP
\fBname\fR
.RS 4
- is the name of the resource record that is to be looked up\&.
- .RE
- .PP
+is the name of the resource record that is to be looked up\&.
+.RE
+.PP
\fBtype\fR
.RS 4
- indicates what type of query is required \(em ANY, A, MX, SIG, etc\&.
+indicates what type of query is required \(em ANY, A, MX, SIG, etc\&.
\fItype\fR
can be any valid query type\&. If no
\fItype\fR
argument is supplied,
\fBdig\fR
will perform a lookup for an A record\&.
- .RE
- .SH "OPTIONS"
- .PP
+.RE
+.SH "OPTIONS"
+.PP
\-4
.RS 4
- Use IPv4 only\&.
- .RE
- .PP
+Use IPv4 only\&.
+.RE
+.PP
\-6
.RS 4
- Use IPv6 only\&.
- .RE
- .PP
+Use IPv6 only\&.
+.RE
+.PP
\-b \fIaddress\fR\fI[#port]\fR
.RS 4
- Set the source IP address of the query\&. The
+Set the source IP address of the query\&. The
\fIaddress\fR
must be a valid address on one of the host\*(Aqs network interfaces, or "0\&.0\&.0\&.0" or "::"\&. An optional port may be specified by appending "#<port>"
- .RE
- .PP
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Set the query class\&. The default
+Set the query class\&. The default
\fIclass\fR
is IN; other classes are HS for Hesiod records or CH for Chaosnet records\&.
- .RE
- .PP
+.RE
+.PP
\-f \fIfile\fR
.RS 4
- Batch mode:
+Batch mode:
\fBdig\fR
reads a list of lookup requests to process from the given
\fIfile\fR\&. Each line in the file should be organized in the same way they would be presented as queries to
\fBdig\fR
using the command\-line interface\&.
- .RE
- .PP
+.RE
+.PP
\-i
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-k \fIkeyfile\fR
.RS 4
- Sign queries using TSIG using a key read from the given file\&. Key files can be generated using
+Sign queries using TSIG using a key read from the given file\&. Key files can be generated using
\fBtsig-keygen\fR(8)\&. When using TSIG authentication with
\fBdig\fR, 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
\fBkey\fR
\fBserver\fR
statements in
named\&.conf\&.
- .RE
- .PP
+.RE
+.PP
\-m
.RS 4
- Enable memory usage debugging\&.
- .RE
- .PP
+Enable memory usage debugging\&.
+.RE
+.PP
\-p \fIport\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-q \fIname\fR
.RS 4
- The domain name to query\&. This is useful to distinguish the
+The domain name to query\&. This is useful to distinguish the
\fIname\fR
from other arguments\&.
- .RE
- .PP
+.RE
+.PP
\-r
.RS 4
- Do not read options from
+Do not read options from
${HOME}/\&.digrc\&. This is useful for scripts that need predictable behaviour\&.
- .RE
- .PP
+.RE
+.PP
\-t \fItype\fR
.RS 4
- 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")\&. The default query type is "A", unless the
+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")\&. The default query type is "A", unless the
\fB\-x\fR
option is supplied to indicate a reverse lookup\&. A zone transfer can be requested by specifying a type of AXFR\&. When an incremental zone transfer (IXFR) is required, set the
\fItype\fR
ixfr=N\&. The incremental zone transfer will contain the changes made to the zone since the serial number in the zone\*(Aqs SOA record was
\fIN\fR\&.
.sp
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-u
.RS 4
- Print query times in microseconds instead of milliseconds\&.
- .RE
- .PP
+Print query times in microseconds instead of milliseconds\&.
+.RE
+.PP
\-v
.RS 4
- Print the version number and exit\&.
- .RE
- .PP
+Print the version number and exit\&.
+.RE
+.PP
\-x \fIaddr\fR
.RS 4
- Simplified reverse lookups, for mapping addresses to names\&. The
+Simplified reverse lookups, for mapping addresses to names\&. The
\fIaddr\fR
is an IPv4 address in dotted\-decimal notation, or a colon\-delimited IPv6 address\&. When the
\fB\-x\fR
and sets the query type and class to PTR and IN respectively\&. IPv6 addresses are looked up using nibble format under the IP6\&.ARPA domain (but see also the
\fB\-i\fR
option)\&.
- .RE
- .PP
+.RE
+.PP
\-y \fI[hmac:]\fR\fIkeyname:secret\fR
.RS 4
- Sign queries using TSIG with the given authentication key\&.
+Sign queries using TSIG with the given authentication key\&.
\fIkeyname\fR
is the name of the key, and
\fIsecret\fR
or if MD5 was disabled
hmac\-sha256\&.
.sp
- NOTE: You should use the
+NOTE: You should use the
\fB\-k\fR
option and avoid the
\fB\-y\fR
the shared secret is supplied as a command line argument in clear text\&. This may be visible in the output from
\fBps\fR(1)
or in a history file maintained by the user\*(Aqs shell\&.
- .RE
- .SH "QUERY OPTIONS"
- .PP
+.RE
+.SH "QUERY OPTIONS"
+.PP
\fBdig\fR
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\&.
- .PP
+.PP
Each query option is identified by a keyword preceded by a plus sign (+)\&. Some keywords set or reset an option\&. These may be preceded by the string
no
to negate the meaning of that keyword\&. Other keywords assign values to options like the timeout interval\&. They have the form
+cd
is equivalent to
+cdflag\&. The query options are:
- .PP
+.PP
\fB+[no]aaflag\fR
.RS 4
- A synonym for
+A synonym for
\fI+[no]aaonly\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]aaonly\fR
.RS 4
- Sets the "aa" flag in the query\&.
- .RE
- .PP
+Sets the "aa" flag in the query\&.
+.RE
+.PP
\fB+[no]additional\fR
.RS 4
- Display [do not display] the additional section of a reply\&. The default is to display it\&.
- .RE
- .PP
+Display [do not display] the additional section of a reply\&. The default is to display it\&.
+.RE
+.PP
\fB+[no]adflag\fR
.RS 4
- 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 been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not 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\&.
- .RE
- .PP
+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 been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not 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\&.
+.RE
+.PP
\fB+[no]all\fR
.RS 4
- Set or clear all display flags\&.
- .RE
- .PP
+Set or clear all display flags\&.
+.RE
+.PP
\fB+[no]answer\fR
.RS 4
- Display [do not display] the answer section of a reply\&. The default is to display it\&.
- .RE
- .PP
+Display [do not display] the answer section of a reply\&. The default is to display it\&.
+.RE
+.PP
\fB+[no]authority\fR
.RS 4
- Display [do not display] the authority section of a reply\&. The default is to display it\&.
- .RE
- .PP
+Display [do not display] the authority section of a reply\&. The default is to display it\&.
+.RE
+.PP
\fB+[no]badcookie\fR
.RS 4
- Retry lookup with the new server cookie if a BADCOOKIE response is received\&.
- .RE
- .PP
+Retry lookup with the new server cookie if a BADCOOKIE response is received\&.
+.RE
+.PP
\fB+[no]besteffort\fR
.RS 4
- Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&.
- .RE
- .PP
+Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&.
+.RE
+.PP
\fB+bufsize=B\fR
.RS 4
- This option sets the UDP message buffer size advertised using EDNS0 to
+This option sets the UDP message buffer size advertised using EDNS0 to
\fIB\fR
bytes\&. The maximum and minimum sizes of this buffer are 65535 and 0, respectively\&.
+bufsize=0
to send a EDNS messages with a advertised size of 0 bytes)\&.
+bufsize
restores the default buffer size\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]cdflag\fR
.RS 4
- Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&.
- .RE
- .PP
+Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&.
+.RE
+.PP
\fB+[no]class\fR
.RS 4
- Display [do not display] the CLASS when printing the record\&.
- .RE
- .PP
+Display [do not display] the CLASS when printing the record\&.
+.RE
+.PP
\fB+[no]cmd\fR
.RS 4
- Toggles the printing of the initial comment in the output, identifying the version of
+Toggles the printing of the initial comment in the output, identifying the version of
\fBdig\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]comments\fR
.RS 4
- 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\&.
+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\&.
.sp
- Other types of comments in the output are not affected by this option, but can be controlled using other command line switches\&. These include
+Other types of comments in the output are not affected by this option, but can be controlled using other command line switches\&. These include
\fB+[no]cmd\fR,
\fB+[no]question\fR,
\fB+[no]stats\fR, and
\fB+[no]rrcomments\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]cookie\fR\fB[=####]\fR
.RS 4
- 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
+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
\fB+cookie\fR\&.
.sp
- \fB+cookie\fR
+\fB+cookie\fR
is also set when +trace is set to better emulate the default queries from a nameserver\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]crypto\fR
.RS 4
- 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 the common failures\&. The default is to display the fields\&. 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 ]"\&.
- .RE
- .PP
+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 the common failures\&. The default is to display the fields\&. 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 ]"\&.
+.RE
+.PP
\fB+[no]defname\fR
.RS 4
- Deprecated, treated as a synonym for
+Deprecated, treated as a synonym for
\fI+[no]search\fR
- .RE
- .PP
+.RE
+.PP
\fB+[no]dnssec\fR
.RS 4
- Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&.
- .RE
- .PP
+Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&.
+.RE
+.PP
\fB+domain=somename\fR
.RS 4
- Set the search list to contain the single domain
+Set the search list to contain the single domain
\fIsomename\fR, as if specified in a
\fBdomain\fR
directive in
/etc/resolv\&.conf, and enable search list processing as if the
\fI+search\fR
option were given\&.
- .RE
- .PP
+.RE
+.PP
\fB+dscp=value\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]edns[=#]\fR
.RS 4
- 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\&.
+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\&.
\fB+noedns\fR
clears the remembered EDNS version\&. EDNS is set to 0 by default\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]ednsflags[=#]\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]ednsnegotiation\fR
.RS 4
- Enable / disable EDNS version negotiation\&. By default EDNS version negotiation is enabled\&.
- .RE
- .PP
+Enable / disable EDNS version negotiation\&. By default EDNS version negotiation is enabled\&.
+.RE
+.PP
\fB+[no]ednsopt[=code[:value]]\fR
.RS 4
- Specify EDNS option with code point
+Specify EDNS option with code point
\fBcode\fR
and optionally payload of
\fBvalue\fR
ECS), or an arbitrary numeric value\&.
\fB+noednsopt\fR
clears the EDNS options to be sent\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]expire\fR
.RS 4
- Send an EDNS Expire option\&.
- .RE
- .PP
+Send an EDNS Expire option\&.
+.RE
+.PP
\fB+[no]fail\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]header\-only\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]identify\fR
.RS 4
- Show [or do not show] the IP address and port number that supplied the answer when the
+Show [or do not show] the IP address and port number that supplied the answer when the
\fI+short\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]idnin\fR
.RS 4
- Process [do not process] IDN domain names on input\&. This requires IDN SUPPORT to have been enabled at compile time\&.
+Process [do not process] IDN domain names on input\&. This requires IDN SUPPORT to have been enabled at compile time\&.
.sp
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]idnout\fR
.RS 4
- Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to have been enabled at compile time\&.
+Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to have been enabled at compile time\&.
.sp
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]ignore\fR
.RS 4
- Ignore truncation in UDP responses instead of retrying with TCP\&. By default, TCP retries are performed\&.
- .RE
- .PP
+Ignore truncation in UDP responses instead of retrying with TCP\&. By default, TCP retries are performed\&.
+.RE
+.PP
\fB+[no]keepopen\fR
.RS 4
- Keep the TCP socket open between queries and reuse it rather than creating a new TCP socket for each lookup\&. The default is
+Keep the TCP socket open between queries and reuse it rather than creating a new TCP socket for each lookup\&. The default is
\fB+nokeepopen\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]mapped\fR
.RS 4
- Allow mapped IPv4 over IPv6 addresses to be used\&. The default is
+Allow mapped IPv4 over IPv6 addresses to be used\&. The default is
\fB+mapped\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]multiline\fR
.RS 4
- 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
+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
\fBdig\fR
output\&.
- .RE
- .PP
+.RE
+.PP
\fB+ndots=D\fR
.RS 4
- Set the number of dots that have to appear in
+Set the number of dots that have to appear in
\fIname\fR
to
\fID\fR
if
\fB+search\fR
is set\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]nsid\fR
.RS 4
- Include an EDNS name server ID request when sending a query\&.
- .RE
- .PP
+Include an EDNS name server ID request when sending a query\&.
+.RE
+.PP
\fB+[no]nssearch\fR
.RS 4
- When this option is set,
+When this option is set,
\fBdig\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]onesoa\fR
.RS 4
- Print only one (starting) SOA record when performing an AXFR\&. The default is to print both the starting and ending SOA records\&.
- .RE
- .PP
+Print only one (starting) SOA record when performing an AXFR\&. The default is to print both the starting and ending SOA records\&.
+.RE
+.PP
\fB+[no]opcode=value\fR
.RS 4
- Set [restore] the DNS message opcode to the specified value\&. The default value is QUERY (0)\&.
- .RE
- .PP
+Set [restore] the DNS message opcode to the specified value\&. The default value is QUERY (0)\&.
+.RE
+.PP
\fB+[no]qr\fR
.RS 4
- Toggles the display of the query message as it is sent\&. By default, the query is not printed\&.
- .RE
- .PP
+Toggles the display of the query message as it is sent\&. By default, the query is not printed\&.
+.RE
+.PP
\fB+[no]question\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]rdflag\fR
.RS 4
- A synonym for
+A synonym for
\fI+[no]recurse\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]recurse\fR
.RS 4
- Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means
+Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means
\fBdig\fR
normally sends recursive queries\&. Recursion is automatically disabled when using the
\fI+nssearch\fR
option, and when using
\fI+trace\fR
except for an initial recursive query to get the list of root servers\&.
- .RE
- .PP
+.RE
+.PP
\fB+retry=T\fR
.RS 4
- Sets the number of times to retry UDP queries to server to
+Sets the number of times to retry UDP queries to server to
\fIT\fR
instead of the default, 2\&. Unlike
\fI+tries\fR, this does not include the initial query\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]rrcomments\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]search\fR
.RS 4
- Use [do not use] the search list defined by the searchlist or domain directive in
+Use [do not use] the search list defined by the searchlist or domain directive in
resolv\&.conf
(if any)\&. The search list is not used by default\&.
.sp
- \*(Aqndots\*(Aq from
+\*(Aqndots\*(Aq from
resolv\&.conf
(default 1) which may be overridden by
\fI+ndots\fR
determines if the name will be treated as relative or not and hence whether a search is eventually performed or not\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]short\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]showsearch\fR
.RS 4
- Perform [do not perform] a search showing intermediate results\&.
- .RE
- .PP
+Perform [do not perform] a search showing intermediate results\&.
+.RE
+.PP
\fB+[no]sigchase\fR
.RS 4
- Chase DNSSEC signature chains\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
+Chase DNSSEC signature chains\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
\fBdelv\fR
instead\&.
- .RE
- .PP
+.RE
+.PP
\fB+split=W\fR
.RS 4
- Split long hex\- or base64\-formatted fields in resource records into chunks of
+Split long hex\- or base64\-formatted fields in resource records into chunks of
\fIW\fR
characters (where
\fIW\fR
or
\fI+split=0\fR
causes fields not to be split at all\&. The default is 56 characters, or 44 characters when multiline mode is active\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]stats\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]subnet=addr[/prefix\-length]\fR
.RS 4
- Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&.
+Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&.
.sp
- \fBdig +subnet=0\&.0\&.0\&.0/0\fR, or simply
+\fBdig +subnet=0\&.0\&.0\&.0/0\fR, or simply
\fBdig +subnet=0\fR
for short, sends an EDNS CLIENT\-SUBNET option with an empty address and a source prefix\-length of zero, which signals a resolver that the client\*(Aqs address information must
\fInot\fR
be used when resolving this query\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]tcp\fR
.RS 4
- Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP unless a type
+Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP unless a type
any
or
ixfr=N
query is requested, in which case the default is TCP\&. AXFR queries always use TCP\&.
- .RE
- .PP
+.RE
+.PP
\fB+timeout=T\fR
.RS 4
- Sets the timeout for a query to
+Sets the timeout for a query to
\fIT\fR
seconds\&. The default timeout is 5 seconds\&. An attempt to set
\fIT\fR
to less than 1 will result in a query timeout of 1 second being applied\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]topdown\fR
.RS 4
- When chasing DNSSEC signature chains perform a top\-down validation\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
+When chasing DNSSEC signature chains perform a top\-down validation\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
\fBdelv\fR
instead\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]trace\fR
.RS 4
- 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,
+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,
\fBdig\fR
makes iterative queries to 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\&.
.sp
- If @server is also specified, it affects only the initial query for the root zone name servers\&.
+If @server is also specified, it affects only the initial query for the root zone name servers\&.
.sp
- \fB+dnssec\fR
+\fB+dnssec\fR
is also set when +trace is set to better emulate the default queries from a nameserver\&.
- .RE
- .PP
+.RE
+.PP
\fB+tries=T\fR
.RS 4
- Sets the number of times to try UDP queries to server to
+Sets the number of times to try UDP queries to server to
\fIT\fR
instead of the default, 3\&. If
\fIT\fR
is less than or equal to zero, the number of tries is silently rounded up to 1\&.
- .RE
- .PP
+.RE
+.PP
\fB+trusted\-key=####\fR
.RS 4
- Specifies a file containing trusted keys to be used with
+Specifies a file containing trusted keys to be used with
\fB+sigchase\fR\&. Each DNSKEY record must be on its own line\&.
.sp
- If not specified,
+If not specified,
\fBdig\fR
will look for
/etc/trusted\-key\&.key
trusted\-key\&.key
in the current directory\&.
.sp
- Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
+Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use
\fBdelv\fR
instead\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]ttlid\fR
.RS 4
- Display [do not display] the TTL when printing the record\&.
- .RE
- .PP
+Display [do not display] the TTL when printing the record\&.
+.RE
+.PP
\fB+[no]ttlunits\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]unknownformat\fR
.RS 4
- Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&.
- .RE
- .PP
+Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&.
+.RE
+.PP
\fB+[no]vc\fR
.RS 4
- Use [do not use] TCP when querying name servers\&. This alternate syntax to
+Use [do not use] TCP when querying name servers\&. This alternate syntax to
\fI+[no]tcp\fR
is provided for backwards compatibility\&. The "vc" stands for "virtual circuit"\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]zflag\fR
.RS 4
- Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&.
- .RE
- .SH "MULTIPLE QUERIES"
- .PP
+Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&.
+.RE
+.SH "MULTIPLE QUERIES"
+.PP
The BIND 9 implementation of
\fBdig \fR
supports specifying multiple queries on the command line (in addition to supporting the
\fB\-f\fR
batch file option)\&. Each of those queries can be supplied with its own set of flags, options and query options\&.
- .PP
+.PP
In this case, each
\fIquery\fR
argument represent an individual query in the command\-line syntax described above\&. Each consists of any of the standard options and flags, the name to be looked up, an optional query type and class and any query options that should be applied to that query\&.
- .PP
+.PP
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 supplied on the command line\&. Any global query options (except the
\fB+[no]cmd\fR
option) can be overridden by a query\-specific set of query options\&. For example:
\fBdig\fR
will not print the initial query when it looks up the NS records for
isc\&.org\&.
- .SH "IDN SUPPORT"
- .PP
+.SH "IDN SUPPORT"
+.PP
If
\fBdig\fR
has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&.
\fI+noidnin\fR
and
\fI+noidnout\fR\&.
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
/etc/resolv\&.conf
- .PP
+.PP
${HOME}/\&.digrc
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdelv\fR(1),
\fBhost\fR(1),
\fBnamed\fR(8),
\fBdnssec-keygen\fR(8),
RFC 1035\&.
- .SH "BUGS"
- .PP
+.SH "BUGS"
+.PP
There are probably too many query options\&.
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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>
This option sets 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
to send a EDNS messages with a advertised size of 0
bytes). <code class="literal">+bufsize</code> restores the
default buffer size.
- </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.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.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.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"></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.15"></a><h2>BUGS</h2>
-
- <p>
+<p>
There are probably too many query options.
</p>
- </div>
-
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
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\-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
+.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\-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
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,
\fBhost\fR
prints a short summary of its command line arguments and options\&.
- .PP
+.PP
\fIname\fR
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
\fBhost\fR
\fBhost\fR
should query instead of the server or servers listed in
/etc/resolv\&.conf\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-4
.RS 4
- Use IPv4 only for query transport\&. See also the
+Use IPv4 only for query transport\&. See also the
\fB\-6\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-6
.RS 4
- Use IPv6 only for query transport\&. See also the
+Use IPv6 only for query transport\&. See also the
\fB\-4\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-a
.RS 4
- "All"\&. The
+"All"\&. The
\fB\-a\fR
option is normally equivalent to
\fB\-v \-t \fR\fBANY\fR\&. It also affects the behaviour of the
\fB\-l\fR
list zone option\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Query class: This can be used to lookup HS (Hesiod) or CH (Chaosnet) class resource records\&. The default class is IN (Internet)\&.
- .RE
- .PP
+Query class: This can be used to lookup HS (Hesiod) or CH (Chaosnet) class resource records\&. The default class is IN (Internet)\&.
+.RE
+.PP
\-C
.RS 4
- Check consistency:
+Check consistency:
\fBhost\fR
will query the SOA records for zone
\fIname\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-d
.RS 4
- Print debugging traces\&. Equivalent to the
+Print debugging traces\&. Equivalent to the
\fB\-v\fR
verbose option\&.
- .RE
- .PP
+.RE
+.PP
\-i
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-l
.RS 4
- List zone: The
+List zone: The
\fBhost\fR
command performs a zone transfer of zone
\fIname\fR
and prints out the NS, PTR and address records (A/AAAA)\&.
.sp
- Together, the
+Together, the
\fB\-l \-a\fR
options print all records in the zone\&.
- .RE
- .PP
+.RE
+.PP
\-N \fIndots\fR
.RS 4
- The number of dots that have to be in
+The number of dots that have to be in
\fIname\fR
for it to be considered absolute\&. The default value is that defined using the ndots statement in
/etc/resolv\&.conf, or 1 if no ndots statement is present\&. Names with fewer dots are interpreted as relative names and will be searched for in the domains listed in the
\fBdomain\fR
directive in
/etc/resolv\&.conf\&.
- .RE
- .PP
+.RE
+.PP
\-p \fIport\fR
.RS 4
- Specify the port on the server to query\&. The default is 53\&.
- .RE
- .PP
+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
+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
\fIname\fR\&. The
\fB\-r\fR
option enables
\fBhost\fR
to mimic the behavior of a name server by making non\-recursive queries and expecting to receive answers to those queries that can be referrals to other name servers\&.
- .RE
- .PP
+.RE
+.PP
\-R \fInumber\fR
.RS 4
- Number of retries for UDP queries: If
+Number of retries for UDP queries: If
\fInumber\fR
is negative or zero, the number of retries will default to 1\&. The default value is 1, or the value of the
\fIattempts\fR
option in
/etc/resolv\&.conf, if set\&.
- .RE
- .PP
+.RE
+.PP
\-s
.RS 4
- Do
+Do
\fInot\fR
send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior\&.
- .RE
- .PP
+.RE
+.PP
\-t \fItype\fR
.RS 4
- Query type: The
+Query type: The
\fItype\fR
argument can be any recognized query type: CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc\&.
.sp
- When no query type is specified,
+When no query type is specified,
\fBhost\fR
automatically selects an appropriate query type\&. By default, it looks for A, AAAA, and MX records\&. If the
\fB\-C\fR
\fBhost\fR
will query for PTR records\&.
.sp
- 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
+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
\fB\-t \fR\fBIXFR=12345678\fR)\&.
- .RE
- .PP
+.RE
+.PP
\-T, \-U
.RS 4
- TCP/UDP: By default,
+TCP/UDP: By default,
\fBhost\fR
uses UDP when making queries\&. The
\fB\-T\fR
option makes it use a TCP connection when querying the name server\&. TCP will be 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
\fB\-U\fR\&.
- .RE
- .PP
+.RE
+.PP
\-m \fIflag\fR
.RS 4
- Memory usage debugging: the flag can be
+Memory usage debugging: the flag can be
\fIrecord\fR,
\fIusage\fR, or
\fItrace\fR\&. You can specify the
\fB\-m\fR
option more than once to set multiple flags\&.
- .RE
- .PP
+.RE
+.PP
\-v
.RS 4
- Verbose output\&. Equivalent to the
+Verbose output\&. Equivalent to the
\fB\-d\fR
debug option\&. Verbose output can also be enabled by setting the
\fIdebug\fR
option in
/etc/resolv\&.conf\&.
- .RE
- .PP
+.RE
+.PP
\-V
.RS 4
- Print the version number and exit\&.
- .RE
- .PP
+Print the version number and exit\&.
+.RE
+.PP
\-w
.RS 4
- Wait forever: The query timeout is set to the maximum possible\&. See also the
+Wait forever: The query timeout is set to the maximum possible\&. See also the
\fB\-W\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-W \fIwait\fR
.RS 4
- Timeout: Wait for up to
+Timeout: Wait for up to
\fIwait\fR
seconds for a reply\&. If
\fIwait\fR
is less than one, the wait interval is set to one second\&.
.sp
- By default,
+By default,
\fBhost\fR
will wait for 5 seconds for UDP responses and 10 seconds for TCP connections\&. These defaults can be overridden by the
\fItimeout\fR
option in
/etc/resolv\&.conf\&.
.sp
- See also the
+See also the
\fB\-w\fR
option\&.
- .RE
- .SH "IDN SUPPORT"
- .PP
+.RE
+.SH "IDN SUPPORT"
+.PP
If
\fBhost\fR
has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&.
environment variable\&. The IDN support is disabled if the variable is set when
\fBhost\fR
runs\&.
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
/etc/resolv\&.conf
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdig\fR(1),
\fBnamed\fR(8)\&.
.SH "AUTHOR"
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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">-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">
+<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.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.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>
+<dd><p>
Specify the port on the server to query. The default is 53.
- </p>
- </dd>
+ </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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
nslookup \- query Internet name servers interactively
- .SH "SYNOPSIS"
- .HP \w'\fBnslookup\fR\ 'u
- \fBnslookup\fR
- [\fB\-option\fR]
- [name\ |\ \-]
- [server]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnslookup\fR\ 'u
+\fBnslookup\fR [\fB\-option\fR] [name\ |\ \-] [server]
+.SH "DESCRIPTION"
+.PP
\fBNslookup\fR
is a program to query Internet domain name servers\&.
\fBNslookup\fR
has two modes: interactive and non\-interactive\&. Interactive mode allows the user to query name servers for information about various hosts and domains or to print a list of hosts in a domain\&. Non\-interactive mode is used to print just the name and requested information for a host or domain\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
Interactive mode is entered in the following cases:
.sp
.RS 4
.sp -1
.IP " 1." 4.2
.\}
- when no arguments are given (the default name server will be used)
- .RE
+when no arguments are given (the default name server will be used)
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP " 2." 4.2
.\}
- when the first argument is a hyphen (\-) and the second argument is the host name or Internet address of a name server\&.
- .RE
-.sp
- .PP
+when the first argument is a hyphen (\-) and the second argument is the host name or Internet address of a name server\&.
+.RE
+.PP
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\&.
- .PP
+.PP
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 timeout to 10 seconds, type:
.sp
.if n \{\
.RE
.\}
.sp
- .PP
+.PP
The
\fB\-version\fR
option causes
\fBnslookup\fR
to print the version number and immediately exits\&.
- .SH "INTERACTIVE COMMANDS"
- .PP
+.SH "INTERACTIVE COMMANDS"
+.PP
\fBhost\fR [server]
.RS 4
- 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\&.
+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\&.
.sp
- To look up a host not in the current domain, append a period to the name\&.
- .RE
- .PP
+To look up a host not in the current domain, append a period to the name\&.
+.RE
+.PP
\fBserver\fR \fIdomain\fR
.RS 4
- .RE
- .PP
+.RE
+.PP
\fBlserver\fR \fIdomain\fR
.RS 4
- Change the default server to
+Change the default server to
\fIdomain\fR;
\fBlserver\fR
uses the initial server to look up information about
\fIdomain\fR, while
\fBserver\fR
uses the current default server\&. If an authoritative answer can\*(Aqt be found, the names of servers that might have the answer are returned\&.
- .RE
- .PP
+.RE
+.PP
\fBroot\fR
.RS 4
- not implemented
- .RE
- .PP
+not implemented
+.RE
+.PP
\fBfinger\fR
.RS 4
- not implemented
- .RE
- .PP
+not implemented
+.RE
+.PP
\fBls\fR
.RS 4
- not implemented
- .RE
- .PP
+not implemented
+.RE
+.PP
\fBview\fR
.RS 4
- not implemented
- .RE
- .PP
+not implemented
+.RE
+.PP
\fBhelp\fR
.RS 4
- not implemented
- .RE
- .PP
+not implemented
+.RE
+.PP
\fB?\fR
.RS 4
- not implemented
- .RE
- .PP
+not implemented
+.RE
+.PP
\fBexit\fR
.RS 4
- Exits the program\&.
- .RE
- .PP
+Exits the program\&.
+.RE
+.PP
\fBset\fR \fIkeyword\fR\fI[=value]\fR
.RS 4
- This command is used to change state information that affects the lookups\&. Valid keywords are:
- .PP
+This command is used to change state information that affects the lookups\&. Valid keywords are:
+.PP
\fBall\fR
.RS 4
- Prints the current values of the frequently used options to
+Prints the current values of the frequently used options to
\fBset\fR\&. Information about the current default server and host is also printed\&.
- .RE
- .PP
+.RE
+.PP
\fBclass=\fR\fIvalue\fR
.RS 4
- Change the query class to one of:
- .PP
+Change the query class to one of:
+.PP
\fBIN\fR
.RS 4
- the Internet class
- .RE
- .PP
+the Internet class
+.RE
+.PP
\fBCH\fR
.RS 4
- the Chaos class
- .RE
- .PP
+the Chaos class
+.RE
+.PP
\fBHS\fR
.RS 4
- the Hesiod class
- .RE
- .PP
+the Hesiod class
+.RE
+.PP
\fBANY\fR
.RS 4
- wildcard
- .RE
- .sp
+wildcard
+.RE
+.sp
The class specifies the protocol group of the information\&.
.sp
- (Default = IN; abbreviation = cl)
- .RE
- .PP
+(Default = IN; abbreviation = cl)
+.RE
+.PP
\fB\fI[no]\fR\fR\fBdebug\fR
.RS 4
- Turn on or off the display of the full response packet and any intermediate response packets when searching\&.
+Turn on or off the display of the full response packet and any intermediate response packets when searching\&.
.sp
- (Default = nodebug; abbreviation =
+(Default = nodebug; abbreviation =
[no]deb)
- .RE
- .PP
+.RE
+.PP
\fB\fI[no]\fR\fR\fBd2\fR
.RS 4
- Turn debugging mode on or off\&. This displays more about what nslookup is doing\&.
+Turn debugging mode on or off\&. This displays more about what nslookup is doing\&.
.sp
- (Default = nod2)
- .RE
- .PP
+(Default = nod2)
+.RE
+.PP
\fBdomain=\fR\fIname\fR
.RS 4
- Sets the search list to
+Sets the search list to
\fIname\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB\fI[no]\fR\fR\fBsearch\fR
.RS 4
- If the lookup request contains at least one period but doesn\*(Aqt end with a trailing period, append the domain names in the domain search list to the request until an answer is received\&.
+If the lookup request contains at least one period but doesn\*(Aqt end with a trailing period, append the domain names in the domain search list to the request until an answer is received\&.
.sp
- (Default = search)
- .RE
- .PP
+(Default = search)
+.RE
+.PP
\fBport=\fR\fIvalue\fR
.RS 4
- Change the default TCP/UDP name server port to
+Change the default TCP/UDP name server port to
\fIvalue\fR\&.
.sp
- (Default = 53; abbreviation = po)
- .RE
- .PP
+(Default = 53; abbreviation = po)
+.RE
+.PP
\fBquerytype=\fR\fIvalue\fR
.RS 4
- .RE
- .PP
+.RE
+.PP
\fBtype=\fR\fIvalue\fR
.RS 4
- Change the type of the information query\&.
+Change the type of the information query\&.
.sp
- (Default = A and then AAAA; abbreviations = q, ty)
+(Default = A and then AAAA; abbreviations = q, ty)
.sp
- \fBNote:\fR
+\fBNote:\fR
It is only possible to specify one query type, only the default behavior looks up both when an alternative is not specified\&.
- .RE
- .PP
+.RE
+.PP
\fB\fI[no]\fR\fR\fBrecurse\fR
.RS 4
- Tell the name server to query other servers if it does not have the information\&.
+Tell the name server to query other servers if it does not have the information\&.
.sp
- (Default = recurse; abbreviation = [no]rec)
- .RE
- .PP
+(Default = recurse; abbreviation = [no]rec)
+.RE
+.PP
\fBndots=\fR\fInumber\fR
.RS 4
- Set the number of dots (label separators) in a domain that will disable searching\&. Absolute names always stop searching\&.
- .RE
- .PP
+Set the number of dots (label separators) in a domain that will disable searching\&. Absolute names always stop searching\&.
+.RE
+.PP
\fBretry=\fR\fInumber\fR
.RS 4
- Set the number of retries to number\&.
- .RE
- .PP
+Set the number of retries to number\&.
+.RE
+.PP
\fBtimeout=\fR\fInumber\fR
.RS 4
- Change the initial timeout interval for waiting for a reply to number seconds\&.
- .RE
- .PP
+Change the initial timeout interval for waiting for a reply to number seconds\&.
+.RE
+.PP
\fB\fI[no]\fR\fR\fBvc\fR
.RS 4
- Always use a virtual circuit when sending requests to the server\&.
+Always use a virtual circuit when sending requests to the server\&.
.sp
- (Default = novc)
- .RE
- .PP
+(Default = novc)
+.RE
+.PP
\fB\fI[no]\fR\fR\fBfail\fR
.RS 4
- Try the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail) or terminate query (fail) on such a response\&.
+Try the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail) or terminate query (fail) on such a response\&.
.sp
- (Default = nofail)
- .RE
- .sp
- .RE
- .SH "RETURN VALUES"
- .PP
+(Default = nofail)
+.RE
+.sp
+.RE
+.SH "RETURN VALUES"
+.PP
\fBnslookup\fR
returns with an exit status of 1 if any query failed, and 0 otherwise\&.
- .SH "IDN SUPPORT"
- .PP
+.SH "IDN SUPPORT"
+.PP
If
\fBnslookup\fR
has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&.
environment variable\&. The IDN support is disabled if the variable is set when
\fBnslookup\fR
runs or when the standard output is not a tty\&.
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
/etc/resolv\&.conf
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdig\fR(1),
\fBhost\fR(1),
\fBnamed\fR(8)\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-dsfromkey \- DNSSEC DS RR generation tool
- .SH "SYNOPSIS"
- .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 \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 \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 \w'\fBdnssec\-dsfromkey\fR\ 'u
- \fBdnssec\-dsfromkey\fR
- [
- | \fB\-h\fR
- | \fB\-V\fR
- ]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.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 \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 \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 \w'\fBdnssec\-dsfromkey\fR\ 'u
+\fBdnssec\-dsfromkey\fR [\fB\-h\fR | \fB\-V\fR]
+.SH "DESCRIPTION"
+.PP
The
\fBdnssec\-dsfromkey\fR
command outputs DS (Delegation Signer) resource records (RRs) and other similarly\-constructed RRs: with the
option it outputs DLV (DNSSEC Lookaside Validation) RRs; or with the
\fB\-C\fR
it outputs CDS (Child DS) RRs\&.
- .PP
+.PP
The input keys can be specified in a number of ways:
- .PP
+.PP
By default,
\fBdnssec\-dsfromkey\fR
reads a key file named like
Knnnn\&.+aaa+iiiii\&.key, as generated by
\fBdnssec\-keygen\fR\&.
- .PP
+.PP
With the
\fB\-f \fR\fB\fIfile\fR\fR
option,
\fBdnssec\-dsfromkey\fR
reads keys from a zone file or partial zone file (which can contain just the DNSKEY records)\&.
- .PP
+.PP
With the
\fB\-s\fR
option,
file, as generated by
\fBdnssec\-keygen\fR
\fB\-C\fR\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-1
.RS 4
- An abbreviation for
+An abbreviation for
\fB\-a SHA1\fR
- .RE
- .PP
+.RE
+.PP
\-2
.RS 4
- An abbreviation for
+An abbreviation for
\fB\-a SHA\-256\fR
- .RE
- .PP
+.RE
+.PP
\-a \fIalgorithm\fR
.RS 4
- 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\&.
+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\&.
.sp
- The
+The
\fIalgorithm\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-A
.RS 4
- 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
+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
\fB\-f\fR
zone file mode\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Specifies the DNS class (default is IN)\&. Useful only in
+Specifies the DNS class (default is IN)\&. Useful only in
\fB\-s\fR
keyset or
\fB\-f\fR
zone file mode\&.
- .RE
- .PP
+.RE
+.PP
\-C
.RS 4
- Generate CDS records rather than DS records\&. This is mutually exclusive with the
+Generate CDS records rather than DS records\&. This is mutually exclusive with the
\fB\-l\fR
option for generating DLV records\&.
- .RE
- .PP
+.RE
+.PP
\-f \fIfile\fR
.RS 4
- Zone file mode:
+Zone file mode:
\fBdnssec\-dsfromkey\fR\*(Aqs final
\fIdnsname\fR
argument is the DNS domain name of a zone whose master file can be read from
\fBfile\fR\&. If the zone name is the same as
\fBfile\fR, then it may be omitted\&.
.sp
- If
+If
\fIfile\fR
is
"\-", then the zone data is read from the standard input\&. This makes it possible to use the output of the
\fBdig\fR
command as input, as in:
.sp
- \fBdig dnskey example\&.com | dnssec\-dsfromkey \-f \- example\&.com\fR
- .RE
- .PP
+\fBdig dnskey example\&.com | dnssec\-dsfromkey \-f \- example\&.com\fR
+.RE
+.PP
\-h
.RS 4
- Prints usage information\&.
- .RE
- .PP
+Prints usage information\&.
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Look for key files or
+Look for key files or
keyset\-
files in
\fBdirectory\fR\&.
- .RE
- .PP
+.RE
+.PP
\-l \fIdomain\fR
.RS 4
- Generate a DLV set instead of a DS set\&. The specified
+Generate a DLV set instead of a DS set\&. The specified
\fIdomain\fR
is appended to the name for each record in the set\&. This is mutually exclusive with the
\fB\-C\fR
option for generating CDS records\&.
- .RE
- .PP
+.RE
+.PP
\-s
.RS 4
- Keyset mode:
+Keyset mode:
\fBdnssec\-dsfromkey\fR\*(Aqs final
\fIdnsname\fR
argument is the DNS domain name used to locate a
keyset\-
file\&.
- .RE
- .PP
+.RE
+.PP
\-T \fITTL\fR
.RS 4
- Specifies the TTL of the DS records\&. By default the TTL is omitted\&.
- .RE
- .PP
+Specifies the TTL of the DS records\&. By default the TTL is omitted\&.
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .PP
+Sets the debugging level\&.
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .SH "EXAMPLE"
- .PP
+Prints version information\&.
+.RE
+.SH "EXAMPLE"
+.PP
To build the SHA\-256 DS RR from the
\fBKexample\&.com\&.+003+26160\fR
keyfile name, you can issue the following command:
- .PP
+.PP
\fBdnssec\-dsfromkey \-2 Kexample\&.com\&.+003+26160\fR
- .PP
+.PP
The command would print something like:
- .PP
+.PP
\fBexample\&.com\&. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94\fR
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
The keyfile can be designated by the key identification
Knnnn\&.+aaa+iiiii
or the full file name
Knnnn\&.+aaa+iiiii\&.key
as generated by
dnssec\-keygen(8)\&.
- .PP
+.PP
The keyset file name is built from the
\fBdirectory\fR, the string
keyset\-
and the
\fBdnsname\fR\&.
- .SH "CAVEAT"
- .PP
+.SH "CAVEAT"
+.PP
A keyfile error can give a "file not found" even if the file exists\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdnssec-keygen\fR(8),
\fBdnssec-signzone\fR(8),
BIND 9 Administrator Reference Manual,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-importkey \- import DNSKEY records from external systems so they can be managed
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-importkey\fR\ 'u
- \fBdnssec\-importkey\fR
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-L\ \fR\fB\fIttl\fR\fR]
- [\fB\-P\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-h\fR]
- [\fB\-v\ \fR\fB\fIlevel\fR\fR]
- [\fB\-V\fR]
- {\fBkeyfile\fR}
- .HP \w'\fBdnssec\-importkey\fR\ 'u
- \fBdnssec\-importkey\fR
- {\fB\-f\ \fR\fB\fIfilename\fR\fR}
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-L\ \fR\fB\fIttl\fR\fR]
- [\fB\-P\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-h\fR]
- [\fB\-v\ \fR\fB\fIlevel\fR\fR]
- [\fB\-V\fR]
- [\fBdnsname\fR]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-importkey\fR\ 'u
+\fBdnssec\-importkey\fR [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-h\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] {\fBkeyfile\fR}
+.HP \w'\fBdnssec\-importkey\fR\ 'u
+\fBdnssec\-importkey\fR {\fB\-f\ \fR\fB\fIfilename\fR\fR} [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-h\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fBdnsname\fR]
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-importkey\fR
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 will be generated, or it may be read from any other file or from the standard input, in which case both \&.key and \&.private files will be generated\&.
- .PP
+.PP
The newly\-created \&.private file does
\fInot\fR
contain private key data, and cannot be used for signing\&. However, having a \&.private file makes it possible to set publication (\fB\-P\fR) and deletion (\fB\-D\fR) times for the key, which means the public key can be added to and removed from the DNSKEY RRset on schedule even if the true private key is stored offline\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-f \fIfilename\fR
.RS 4
- 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
+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
\fBfile\fR\&. If the domain name is the same as
\fBfile\fR, then it may be omitted\&.
.sp
- If
+If
\fBfile\fR
is set to
"\-", then the zone data is read from the standard input\&.
- .RE
- .PP
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Sets the directory in which the key files are to reside\&.
- .RE
- .PP
+Sets the directory in which the key files are to reside\&.
+.RE
+.PP
\-L \fIttl\fR
.RS 4
- 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
+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
0
or
none
removes it\&.
- .RE
- .PP
+.RE
+.PP
\-h
.RS 4
- Emit usage message and exit\&.
- .RE
- .PP
+Emit usage message and exit\&.
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .PP
+Sets the debugging level\&.
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .SH "TIMING OPTIONS"
- .PP
+Prints version information\&.
+.RE
+.SH "TIMING OPTIONS"
+.PP
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&.
- .PP
+.PP
\-P \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-P sync \fIdate/offset\fR
.RS 4
- Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&.
- .RE
- .PP
+Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&.
+.RE
+.PP
\-D \fIdate/offset\fR
.RS 4
- 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\&.)
- .RE
- .PP
+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\&.)
+.RE
+.PP
\-D sync \fIdate/offset\fR
.RS 4
- Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&.
- .RE
- .SH "FILES"
- .PP
+Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&.
+.RE
+.SH "FILES"
+.PP
A keyfile can be designed by the key identification
Knnnn\&.+aaa+iiiii
or the full file name
Knnnn\&.+aaa+iiiii\&.key
as generated by
dnssec\-keygen(8)\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdnssec-keygen\fR(8),
\fBdnssec-signzone\fR(8),
BIND 9 Administrator Reference Manual,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-keyfromlabel \- DNSSEC key generation tool
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-keyfromlabel\fR\ 'u
- \fBdnssec\-keyfromlabel\fR
- {\-l\ \fIlabel\fR}
- [\fB\-3\fR]
- [\fB\-a\ \fR\fB\fIalgorithm\fR\fR]
- [\fB\-A\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-D\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-E\ \fR\fB\fIengine\fR\fR]
- [\fB\-f\ \fR\fB\fIflag\fR\fR]
- [\fB\-G\fR]
- [\fB\-I\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-i\ \fR\fB\fIinterval\fR\fR]
- [\fB\-k\fR]
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-L\ \fR\fB\fIttl\fR\fR]
- [\fB\-n\ \fR\fB\fInametype\fR\fR]
- [\fB\-P\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-p\ \fR\fB\fIprotocol\fR\fR]
- [\fB\-R\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-S\ \fR\fB\fIkey\fR\fR]
- [\fB\-t\ \fR\fB\fItype\fR\fR]
- [\fB\-v\ \fR\fB\fIlevel\fR\fR]
- [\fB\-V\fR]
- [\fB\-y\fR]
- {name}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-keyfromlabel\fR\ 'u
+\fBdnssec\-keyfromlabel\fR {\-l\ \fIlabel\fR} [\fB\-3\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-k\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-y\fR] {name}
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-keyfromlabel\fR
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 conventional signing key created by
\fBdnssec\-keygen\fR, but the key material is stored within the HSM, and the actual signing takes place there\&.
- .PP
+.PP
The
\fBname\fR
of the key is specified on the command line\&. This must match the name of the zone for which the key is being generated\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-a \fIalgorithm\fR
.RS 4
- Selects the cryptographic algorithm\&. The value of
+Selects the cryptographic algorithm\&. The value of
\fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. These values are case insensitive\&.
.sp
- If no algorithm is specified, then RSASHA1 will be used by default, unless the
+If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR
option is specified, in which case NSEC3RSASHA1 will be used instead\&. (If
\fB\-3\fR
is used and an algorithm is specified, that algorithm will be checked for compatibility with NSEC3\&.)
.sp
- Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&.
+Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&.
.sp
- Note 2: DH automatically sets the \-k flag\&.
- .RE
- .PP
+Note 2: DH automatically sets the \-k flag\&.
+.RE
+.PP
\-3
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-E \fIengine\fR
.RS 4
- Specifies the cryptographic hardware to use\&.
+Specifies the cryptographic hardware to use\&.
.sp
- 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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
- .RE
- .PP
+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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
+.RE
+.PP
\-l \fIlabel\fR
.RS 4
- Specifies the label for a key pair in the crypto hardware\&.
+Specifies the label for a key pair in the crypto hardware\&.
.sp
- When
+When
BIND
9 is built with OpenSSL\-based PKCS#11 support, the label is an arbitrary string that identifies a particular key\&.
.sp
- When
+When
BIND
9 is built with native PKCS#11 support, the label is a PKCS#11 URI string in the format "pkcs11:\fBkeyword\fR=\fIvalue\fR[;\fBkeyword\fR=\fIvalue\fR;\&.\&.\&.]" Keywords include "token", which identifies the HSM; "object", which identifies the key; and "pin\-source", which identifies a file from which the HSM\*(Aqs PIN code can be obtained\&. The label will be stored in the on\-disk "private" file\&.
.sp
- If the label contains a
+If the label contains a
\fBpin\-source\fR
field, tools using the generated key files will be able to use the HSM for signing and other operations without any need for an operator to manually enter a PIN\&. Note: Making the HSM\*(Aqs PIN accessible in this manner may reduce the security advantage of using an HSM; be sure this is what you want to do before making use of this feature\&.
- .RE
- .PP
+.RE
+.PP
\-n \fInametype\fR
.RS 4
- Specifies the owner type of the key\&. The value of
+Specifies the owner type of the key\&. The value of
\fBnametype\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-C
.RS 4
- Compatibility mode: generates an old\-style key, without any metadata\&. By default,
+Compatibility mode: generates an old\-style key, without any metadata\&. By default,
\fBdnssec\-keyfromlabel\fR
will include the key\*(Aqs creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc)\&. Keys that include this data may be incompatible with older versions of BIND; the
\fB\-C\fR
option suppresses them\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&.
- .RE
- .PP
+Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&.
+.RE
+.PP
\-f \fIflag\fR
.RS 4
- Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&.
- .RE
- .PP
+Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&.
+.RE
+.PP
\-G
.RS 4
- Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&.
- .RE
- .PP
+Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&.
+.RE
+.PP
\-h
.RS 4
- Prints a short summary of the options and arguments to
+Prints a short summary of the options and arguments to
\fBdnssec\-keyfromlabel\fR\&.
- .RE
- .PP
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Sets the directory in which the key files are to be written\&.
- .RE
- .PP
+Sets the directory in which the key files are to be written\&.
+.RE
+.PP
\-k
.RS 4
- Generate KEY records rather than DNSKEY records\&.
- .RE
- .PP
+Generate KEY records rather than DNSKEY records\&.
+.RE
+.PP
\-L \fIttl\fR
.RS 4
- 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
+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
0
or
none
removes it\&.
- .RE
- .PP
+.RE
+.PP
\-p \fIprotocol\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-S \fIkey\fR
.RS 4
- 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 key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&.
- .RE
- .PP
+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 key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&.
+.RE
+.PP
\-t \fItype\fR
.RS 4
- Indicates the use of the key\&.
+Indicates the use of the key\&.
\fBtype\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .PP
+Sets the debugging level\&.
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .PP
+Prints version information\&.
+.RE
+.PP
\-y
.RS 4
- 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\*(Aqt be using RFC 5011 trust anchor maintenance with either of the keys involved\&.)
- .RE
- .SH "TIMING OPTIONS"
- .PP
+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\*(Aqt be using RFC 5011 trust anchor maintenance with either of the keys involved\&.)
+.RE
+.SH "TIMING OPTIONS"
+.PP
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&.
- .PP
+.PP
\-P \fIdate/offset\fR
.RS 4
- 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"\&.
- .RE
- .PP
+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"\&.
+.RE
+.PP
\-P sync \fIdate/offset\fR
.RS 4
- Sets the date on which the CDS and CDNSKEY records which match this key are to be published to the zone\&.
- .RE
- .PP
+Sets the date on which the CDS and CDNSKEY records which match this key are to be published to the zone\&.
+.RE
+.PP
\-A \fIdate/offset\fR
.RS 4
- 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"\&.
- .RE
- .PP
+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"\&.
+.RE
+.PP
\-R \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-I \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-D \fIdate/offset\fR
.RS 4
- 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\&.)
- .RE
- .PP
+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\&.)
+.RE
+.PP
\-D sync \fIdate/offset\fR
.RS 4
- Sets the date on which the CDS and CDNSKEY records which match this key are to be deleted\&.
- .RE
- .PP
+Sets the date on which the CDS and CDNSKEY records which match this key are to be deleted\&.
+.RE
+.PP
\-i \fIinterval\fR
.RS 4
- 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 publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&.
+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 publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&.
.sp
- 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\&.
+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\&.
.sp
- As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&.
- .RE
- .SH "GENERATED KEY FILES"
- .PP
+As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&.
+.RE
+.SH "GENERATED KEY FILES"
+.PP
When
\fBdnssec\-keyfromlabel\fR
completes successfully, it prints a string of the form
.sp -1
.IP \(bu 2.3
.\}
- nnnn
+nnnn
is the key name\&.
- .RE
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- aaa
+aaa
is the numeric representation of the algorithm\&.
- .RE
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- iiiii
+iiiii
is the key identifier (or footprint)\&.
- .RE
- .PP
+.RE
+.PP
\fBdnssec\-keyfromlabel\fR
creates two files, with names based on the printed string\&.
Knnnn\&.+aaa+iiiii\&.key
contains the public key, and
Knnnn\&.+aaa+iiiii\&.private
contains the private key\&.
- .PP
+.PP
The
\&.key
file contains a DNS KEY record that can be inserted into a zone file (directly or with a $INCLUDE statement)\&.
- .PP
+.PP
The
\&.private
file contains algorithm\-specific fields\&. For obvious security reasons, this file does not have general read permission\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdnssec-keygen\fR(8),
\fBdnssec-signzone\fR(8),
BIND 9 Administrator Reference Manual,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-keygen \- DNSSEC key generation tool
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-keygen\fR\ 'u
- \fBdnssec\-keygen\fR
- [\fB\-3\fR]
- [\fB\-A\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-a\ \fR\fB\fIalgorithm\fR\fR]
- [\fB\-b\ \fR\fB\fIkeysize\fR\fR]
- [\fB\-C\fR]
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-D\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-E\ \fR\fB\fIengine\fR\fR]
- [\fB\-f\ \fR\fB\fIflag\fR\fR]
- [\fB\-G\fR]
- [\fB\-g\ \fR\fB\fIgenerator\fR\fR]
- [\fB\-h\fR]
- [\fB\-I\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-i\ \fR\fB\fIinterval\fR\fR]
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-k\fR]
- [\fB\-L\ \fR\fB\fIttl\fR\fR]
- [\fB\-n\ \fR\fB\fInametype\fR\fR]
- [\fB\-P\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-p\ \fR\fB\fIprotocol\fR\fR]
- [\fB\-q\fR]
- [\fB\-R\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-r\ \fR\fB\fIrandomdev\fR\fR]
- [\fB\-S\ \fR\fB\fIkey\fR\fR]
- [\fB\-s\ \fR\fB\fIstrength\fR\fR]
- [\fB\-t\ \fR\fB\fItype\fR\fR]
- [\fB\-V\fR]
- [\fB\-v\ \fR\fB\fIlevel\fR\fR]
- {name}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-keygen\fR\ 'u
+\fBdnssec\-keygen\fR [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {name}
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-keygen\fR
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\&.
- .PP
+.PP
The
\fBname\fR
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\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-3
.RS 4
- 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,
+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,
\fBdnssec\-keygen \-3a RSASHA1\fR
specifies the NSEC3RSASHA1 algorithm\&.
- .RE
- .PP
+.RE
+.PP
\-a \fIalgorithm\fR
.RS 4
- Selects the cryptographic algorithm\&. For DNSSEC keys, the value of
+Selects the cryptographic algorithm\&. For DNSSEC keys, the value of
\fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. These values are case insensitive\&.
.sp
- If no algorithm is specified, then RSASHA1 will be used by default, unless the
+If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR
option is specified, in which case NSEC3RSASHA1 will be used instead\&. (If
\fB\-3\fR
is used and an algorithm is specified, that algorithm will be checked for compatibility with NSEC3\&.)
.sp
- Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&. For TSIG, HMAC\-MD5 is mandatory\&.
+Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&. For TSIG, HMAC\-MD5 is mandatory\&.
.sp
- Note 2: DH, HMAC\-MD5, and HMAC\-SHA1 through HMAC\-SHA512 automatically set the \-T KEY option\&.
- .RE
- .PP
+Note 2: DH, HMAC\-MD5, and HMAC\-SHA1 through HMAC\-SHA512 automatically set the \-T KEY option\&.
+.RE
+.PP
\-b \fIkeysize\fR
.RS 4
- 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 128 and 4096 bits\&. DSA keys must be between 512 and 1024 bits and an exact multiple of 64\&. HMAC keys must be between 1 and 512 bits\&. Elliptic curve algorithms don\*(Aqt need this parameter\&.
+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 128 and 4096 bits\&. DSA keys must be between 512 and 1024 bits and an exact multiple of 64\&. HMAC keys must be between 1 and 512 bits\&. Elliptic curve algorithms don\*(Aqt need this parameter\&.
.sp
- 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, generated with
+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, generated with
\fB\-f KSK\fR)\&. However, if an algorithm is explicitly specified with the
\fB\-a\fR, then there is no default key size, and the
\fB\-b\fR
must be used\&.
- .RE
- .PP
+.RE
+.PP
\-C
.RS 4
- Compatibility mode: generates an old\-style key, without any timing metadata\&. By default,
+Compatibility mode: generates an old\-style key, without any timing metadata\&. By default,
\fBdnssec\-keygen\fR
will include the key\*(Aqs creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc)\&. Keys that include this data may be incompatible with older versions of BIND; the
\fB\-C\fR
option suppresses them\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&.
- .RE
- .PP
+Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&.
+.RE
+.PP
\-E \fIengine\fR
.RS 4
- Specifies the cryptographic hardware to use, when applicable\&.
+Specifies the cryptographic hardware to use, when applicable\&.
.sp
- 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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
- .RE
- .PP
+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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
+.RE
+.PP
\-f \fIflag\fR
.RS 4
- Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&.
- .RE
- .PP
+Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&.
+.RE
+.PP
\-G
.RS 4
- Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&.
- .RE
- .PP
+Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&.
+.RE
+.PP
\-g \fIgenerator\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-h
.RS 4
- Prints a short summary of the options and arguments to
+Prints a short summary of the options and arguments to
\fBdnssec\-keygen\fR\&.
- .RE
- .PP
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Sets the directory in which the key files are to be written\&.
- .RE
- .PP
+Sets the directory in which the key files are to be written\&.
+.RE
+.PP
\-k
.RS 4
- Deprecated in favor of \-T KEY\&.
- .RE
- .PP
+Deprecated in favor of \-T KEY\&.
+.RE
+.PP
\-L \fIttl\fR
.RS 4
- 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\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to
+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\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to
0
or
none
is the same as leaving it unset\&.
- .RE
- .PP
+.RE
+.PP
\-n \fInametype\fR
.RS 4
- Specifies the owner type of the key\&. The value of
+Specifies the owner type of the key\&. The value of
\fBnametype\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-p \fIprotocol\fR
.RS 4
- Sets the protocol value for the generated key, for use with
+Sets the protocol value for the generated key, for use with
\fB\-T KEY\fR\&. 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\&.
- .RE
- .PP
+.RE
+.PP
\-q
.RS 4
- Quiet mode: Suppresses unnecessary output, including progress indication\&. Without this option, when
+Quiet mode: Suppresses unnecessary output, including progress indication\&. Without this option, when
\fBdnssec\-keygen\fR
is run interactively to generate an RSA or DSA key pair, it will print a string of symbols to
stderr
indicating the progress of the key generation\&. A \*(Aq\&.\*(Aq indicates that a random number has been found which passed an initial sieve test; \*(Aq+\*(Aq means a number has passed a single round of the Miller\-Rabin primality test; a space means that the number has passed all the tests and is a satisfactory key\&.
- .RE
- .PP
+.RE
+.PP
\-r \fIrandomdev\fR
.RS 4
- Specifies the source of randomness\&. If the operating system does not provide a
+Specifies the source of randomness\&. If the operating system does not provide a
/dev/random
or equivalent device, the default source of randomness is keyboard input\&.
randomdev
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
keyboard
indicates that keyboard input should be used\&.
- .RE
- .PP
+.RE
+.PP
\-S \fIkey\fR
.RS 4
- 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 date of the new key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&.
- .RE
- .PP
+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 date of the new key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&.
+.RE
+.PP
\-s \fIstrength\fR
.RS 4
- Specifies the strength value of the key\&. The strength is a number between 0 and 15, and currently has no defined purpose in DNSSEC\&.
- .RE
- .PP
+Specifies the strength value of the key\&. The strength is a number between 0 and 15, and currently has no defined purpose in DNSSEC\&.
+.RE
+.PP
\-T \fIrrtype\fR
.RS 4
- Specifies the resource record type to use for the key\&.
+Specifies the resource record type to use for the key\&.
\fBrrtype\fR
must be either DNSKEY or KEY\&. The default is DNSKEY when using a DNSSEC algorithm, but it can be overridden to KEY for use with SIG(0)\&.
Using any TSIG algorithm (HMAC\-* or DH) forces this option to KEY\&.
- .RE
- .PP
+.RE
+.PP
\-t \fItype\fR
.RS 4
- Indicates the use of the key, for use with
+Indicates the use of the key, for use with
\fB\-T KEY\fR\&.
\fBtype\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .PP
+Prints version information\&.
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .SH "TIMING OPTIONS"
- .PP
+Sets the debugging level\&.
+.RE
+.SH "TIMING OPTIONS"
+.PP
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&.
- .PP
+.PP
\-P \fIdate/offset\fR
.RS 4
- 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"\&.
- .RE
- .PP
+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"\&.
+.RE
+.PP
\-P sync \fIdate/offset\fR
.RS 4
- Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&.
- .RE
- .PP
+Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&.
+.RE
+.PP
\-A \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-R \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-I \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-D \fIdate/offset\fR
.RS 4
- 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\&.)
- .RE
- .PP
+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\&.)
+.RE
+.PP
\-D sync \fIdate/offset\fR
.RS 4
- Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&.
- .RE
- .PP
+Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&.
+.RE
+.PP
\-i \fIinterval\fR
.RS 4
- 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 publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&.
+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 publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&.
.sp
- 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\&.
+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\&.
.sp
- As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&.
- .RE
- .SH "GENERATED KEYS"
- .PP
+As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&.
+.RE
+.SH "GENERATED KEYS"
+.PP
When
\fBdnssec\-keygen\fR
completes successfully, it prints a string of the form
.sp -1
.IP \(bu 2.3
.\}
- nnnn
+nnnn
is the key name\&.
- .RE
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- aaa
+aaa
is the numeric representation of the algorithm\&.
- .RE
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- iiiii
+iiiii
is the key identifier (or footprint)\&.
- .RE
- .PP
+.RE
+.PP
\fBdnssec\-keygen\fR
creates two files, with names based on the printed string\&.
Knnnn\&.+aaa+iiiii\&.key
contains the public key, and
Knnnn\&.+aaa+iiiii\&.private
contains the private key\&.
- .PP
+.PP
The
\&.key
file contains a DNS KEY record that can be inserted into a zone file (directly or with a $INCLUDE statement)\&.
- .PP
+.PP
The
\&.private
file contains algorithm\-specific fields\&. For obvious security reasons, this file does not have general read permission\&.
- .PP
+.PP
Both
\&.key
and
\&.private
files are generated for symmetric cryptography algorithms such as HMAC\-MD5, even though the public and private key are equivalent\&.
- .SH "EXAMPLE"
- .PP
+.SH "EXAMPLE"
+.PP
To generate a 768\-bit DSA key for the domain
\fBexample\&.com\fR, the following command would be issued:
- .PP
+.PP
\fBdnssec\-keygen \-a DSA \-b 768 \-n ZONE example\&.com\fR
- .PP
+.PP
The command would print a string of the form:
- .PP
+.PP
\fBKexample\&.com\&.+003+26160\fR
- .PP
+.PP
In this example,
\fBdnssec\-keygen\fR
creates the files
Kexample\&.com\&.+003+26160\&.key
and
Kexample\&.com\&.+003+26160\&.private\&.
- .PP
+.PP
To generate a matching key\-signing key, issue the command:
- .PP
+.PP
\fBdnssec\-keygen \-a DSA \-b 768 \-n ZONE \-f KSK example\&.com\fR
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdnssec-signzone\fR(8),
BIND 9 Administrator Reference Manual,
RFC 2539,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-revoke \- set the REVOKED bit on a DNSSEC key
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-revoke\fR\ 'u
- \fBdnssec\-revoke\fR
- [\fB\-hr\fR]
- [\fB\-v\ \fR\fB\fIlevel\fR\fR]
- [\fB\-V\fR]
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-E\ \fR\fB\fIengine\fR\fR]
- [\fB\-f\fR]
- [\fB\-R\fR]
- {keyfile}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-revoke\fR\ 'u
+\fBdnssec\-revoke\fR [\fB\-hr\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\fR] [\fB\-R\fR] {keyfile}
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-revoke\fR
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\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-h
.RS 4
- Emit usage message and exit\&.
- .RE
- .PP
+Emit usage message and exit\&.
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Sets the directory in which the key files are to reside\&.
- .RE
- .PP
+Sets the directory in which the key files are to reside\&.
+.RE
+.PP
\-r
.RS 4
- After writing the new keyset files remove the original keyset files\&.
- .RE
- .PP
+After writing the new keyset files remove the original keyset files\&.
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .PP
+Sets the debugging level\&.
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .PP
+Prints version information\&.
+.RE
+.PP
\-E \fIengine\fR
.RS 4
- Specifies the cryptographic hardware to use, when applicable\&.
+Specifies the cryptographic hardware to use, when applicable\&.
.sp
- 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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
- .RE
- .PP
+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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
+.RE
+.PP
\-f
.RS 4
- Force overwrite: Causes
+Force overwrite: Causes
\fBdnssec\-revoke\fR
to write the new key pair even if a file already exists matching the algorithm and key ID of the revoked key\&.
- .RE
- .PP
+.RE
+.PP
\-R
.RS 4
- Print the key tag of the key with the REVOKE bit set but do not revoke the key\&.
- .RE
- .SH "SEE ALSO"
- .PP
+Print the key tag of the key with the REVOKE bit set but do not revoke the key\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBdnssec-keygen\fR(8),
BIND 9 Administrator Reference Manual,
RFC 5011\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-settime \- set the key timing metadata for a DNSSEC key
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-settime\fR\ 'u
- \fBdnssec\-settime\fR
- [\fB\-f\fR]
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-L\ \fR\fB\fIttl\fR\fR]
- [\fB\-P\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-A\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-R\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-I\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR]
- [\fB\-S\ \fR\fB\fIkey\fR\fR]
- [\fB\-i\ \fR\fB\fIinterval\fR\fR]
- [\fB\-h\fR]
- [\fB\-V\fR]
- [\fB\-v\ \fR\fB\fIlevel\fR\fR]
- [\fB\-E\ \fR\fB\fIengine\fR\fR]
- {keyfile}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-settime\fR\ 'u
+\fBdnssec\-settime\fR [\fB\-f\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-h\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] {keyfile}
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-settime\fR
reads a DNSSEC private key file and sets the key timing metadata as specified by the
\fB\-P\fR,
options\&. The metadata can then be used by
\fBdnssec\-signzone\fR
or other signing software to determine when a key is to be published, whether it should be used for signing a zone, etc\&.
- .PP
+.PP
If none of these options is set on the command line, then
\fBdnssec\-settime\fR
simply prints the key timing metadata already stored in the key\&.
- .PP
+.PP
When key metadata fields are changed, both files of a key pair (Knnnn\&.+aaa+iiiii\&.key
and
Knnnn\&.+aaa+iiiii\&.private) are regenerated\&. Metadata fields are stored in the private file\&. A human\-readable description of the metadata is also placed in comments in the key file\&. The private file\*(Aqs permissions are always set to be inaccessible to anyone other than the owner (mode 0600)\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-f
.RS 4
- Force an update of an old\-format key with no metadata fields\&. Without this option,
+Force an update of an old\-format key with no metadata fields\&. Without this option,
\fBdnssec\-settime\fR
will fail when attempting to update a legacy key\&. With this option, the key will be recreated in the new format, but with the original key data retained\&. The key\*(Aqs creation date will be set to the present time\&. If no other values are specified, then the key\*(Aqs publication and activation dates will also be set to the present time\&.
- .RE
- .PP
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Sets the directory in which the key files are to reside\&.
- .RE
- .PP
+Sets the directory in which the key files are to reside\&.
+.RE
+.PP
\-L \fIttl\fR
.RS 4
- 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\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to
+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\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to
0
or
none
removes it from the key\&.
- .RE
- .PP
+.RE
+.PP
\-h
.RS 4
- Emit usage message and exit\&.
- .RE
- .PP
+Emit usage message and exit\&.
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .PP
+Prints version information\&.
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .PP
+Sets the debugging level\&.
+.RE
+.PP
\-E \fIengine\fR
.RS 4
- Specifies the cryptographic hardware to use, when applicable\&.
+Specifies the cryptographic hardware to use, when applicable\&.
.sp
- 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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
- .RE
- .SH "TIMING OPTIONS"
- .PP
+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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
+.RE
+.SH "TIMING OPTIONS"
+.PP
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To unset a date, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&.
- .PP
+.PP
\-P \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-P sync \fIdate/offset\fR
.RS 4
- Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&.
- .RE
- .PP
+Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&.
+.RE
+.PP
\-A \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-R \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-I \fIdate/offset\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-D \fIdate/offset\fR
.RS 4
- 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\&.)
- .RE
- .PP
+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\&.)
+.RE
+.PP
\-D sync \fIdate/offset\fR
.RS 4
- Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&.
- .RE
- .PP
+Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&.
+.RE
+.PP
\-S \fIpredecessor key\fR
.RS 4
- 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 modified\&. The activation date of the successor key will be set 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\&.
- .RE
- .PP
+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 modified\&. The activation date of the successor key will be set 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\&.
+.RE
+.PP
\-i \fIinterval\fR
.RS 4
- 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 publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&.
+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 publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&.
.sp
- 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\&.
+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\&.
.sp
- As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&.
- .RE
- .SH "PRINTING OPTIONS"
- .PP
+As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&.
+.RE
+.SH "PRINTING OPTIONS"
+.PP
\fBdnssec\-settime\fR
can also be used to print the timing metadata associated with a key\&.
- .PP
+.PP
\-u
.RS 4
- Print times in UNIX epoch format\&.
- .RE
- .PP
+Print times in UNIX epoch format\&.
+.RE
+.PP
\-p \fIC/P/Psync/A/R/I/D/Dsync/all\fR
.RS 4
- Print a specific metadata value or set of metadata values\&. The
+Print a specific metadata value or set of metadata values\&. The
\fB\-p\fR
option may be followed by one or more of the following letters or strings to indicate which value or values to print:
\fBC\fR
\fBDsync\fR
for the CDS and CDNSKEY deletion date To print all of the metadata, use
\fB\-p all\fR\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBdnssec-keygen\fR(8),
\fBdnssec-signzone\fR(8),
BIND 9 Administrator Reference Manual,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-signzone \- DNSSEC zone signing tool
- .SH "SYNOPSIS"
- .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
+.SH "SYNOPSIS"
+.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
\fBdnssec\-signzone\fR
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 (that is, whether the child zones are secure or not) is determined by the presence or absence of a
keyset
file for each child zone\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-a
.RS 4
- Verify all generated signatures\&.
- .RE
- .PP
+Verify all generated signatures\&.
+.RE
+.PP
\-c \fIclass\fR
.RS 4
- Specifies the DNS class of the zone\&.
- .RE
- .PP
+Specifies the DNS class of the zone\&.
+.RE
+.PP
\-C
.RS 4
- Compatibility mode: Generate a
+Compatibility mode: Generate a
keyset\-\fIzonename\fR
file in addition to
dsset\-\fIzonename\fR
when signing a zone, for use by older versions of
\fBdnssec\-signzone\fR\&.
- .RE
- .PP
+.RE
+.PP
\-d \fIdirectory\fR
.RS 4
- Look for
+Look for
dsset\-
or
keyset\-
files in
\fBdirectory\fR\&.
- .RE
- .PP
+.RE
+.PP
\-D
.RS 4
- Output only those record types automatically managed by
+Output only those record types automatically managed by
\fBdnssec\-signzone\fR, i\&.e\&. RRSIG, NSEC, NSEC3 and NSEC3PARAM records\&. If smart signing (\fB\-S\fR) is used, DNSKEY records are also included\&. The resulting file can be included in the original zone file with
\fB$INCLUDE\fR\&. This option cannot be combined with
\fB\-O raw\fR,
\fB\-O map\fR, or serial number updating\&.
- .RE
- .PP
+.RE
+.PP
\-E \fIengine\fR
.RS 4
- When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&.
+When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&.
.sp
- 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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
- .RE
- .PP
+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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
+.RE
+.PP
\-g
.RS 4
- Generate DS records for child zones from
+Generate DS records for child zones from
dsset\-
or
keyset\-
file\&. Existing DS records will be removed\&.
- .RE
- .PP
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Key repository: Specify a directory to search for DNSSEC keys\&. If not specified, defaults to the current directory\&.
- .RE
- .PP
+Key repository: Specify a directory to search for DNSSEC keys\&. If not specified, defaults to the current directory\&.
+.RE
+.PP
\-k \fIkey\fR
.RS 4
- Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&.
- .RE
- .PP
+Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&.
+.RE
+.PP
\-l \fIdomain\fR
.RS 4
- Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&.
- .RE
- .PP
+Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&.
+.RE
+.PP
\-M \fImaxttl\fR
.RS 4
- Sets the maximum TTL for the signed zone\&. Any TTL higher than
+Sets the maximum TTL for the signed zone\&. Any TTL higher than
\fImaxttl\fR
in the input zone will be reduced to
\fImaxttl\fR
in
named\&.conf\&. (Note: This option is incompatible with
\fB\-D\fR, because it modifies non\-DNSSEC data in the output zone\&.)
- .RE
- .PP
+.RE
+.PP
\-s \fIstart\-time\fR
.RS 4
- 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 in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no
+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 in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no
\fBstart\-time\fR
is specified, the current time minus 1 hour (to allow for clock skew) is used\&.
- .RE
- .PP
+.RE
+.PP
\-e \fIend\-time\fR
.RS 4
- Specify the date and time when the generated RRSIG records expire\&. As with
+Specify the date and time when the generated RRSIG records expire\&. As with
\fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no
\fBend\-time\fR
is specified, 30 days from the start time is used as a default\&.
\fBend\-time\fR
must be later than
\fBstart\-time\fR\&.
- .RE
- .PP
+.RE
+.PP
\-X \fIextended end\-time\fR
.RS 4
- 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 signatures on other records; e\&.g\&., when the private component of the KSK is kept offline and the KSK signature is to be refreshed manually\&.
+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 signatures on other records; e\&.g\&., when the private component of the KSK is kept offline and the KSK signature is to be refreshed manually\&.
.sp
- As with
+As with
\fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no
\fBextended end\-time\fR
is specified, the value of
\fBextended end\-time\fR
must be later than
\fBstart\-time\fR\&.
- .RE
- .PP
+.RE
+.PP
\-f \fIoutput\-file\fR
.RS 4
- The name of the output file containing the signed zone\&. The default is to append
+The name of the output file containing the signed zone\&. The default is to append
\&.signed
to the input filename\&. If
\fBoutput\-file\fR
is set to
"\-", then the signed zone is written to the standard output, with a default output format of "full"\&.
- .RE
- .PP
+.RE
+.PP
\-h
.RS 4
- Prints a short summary of the options and arguments to
+Prints a short summary of the options and arguments to
\fBdnssec\-signzone\fR\&.
- .RE
- .PP
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .PP
+Prints version information\&.
+.RE
+.PP
\-i \fIinterval\fR
.RS 4
- When a previously\-signed zone is passed as input, records may be resigned\&. The
+When a previously\-signed zone is passed as input, records may be resigned\&. The
\fBinterval\fR
option specifies the cycle interval as an offset from the current time (in seconds)\&. If a RRSIG record expires after the cycle interval, it is retained\&. Otherwise, it is considered to be expiring soon, and it will be replaced\&.
.sp
- The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither
+The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither
\fBend\-time\fR
or
\fBstart\-time\fR
are specified,
\fBdnssec\-signzone\fR
generates signatures that are valid for 30 days, with a cycle interval of 7\&.5 days\&. Therefore, if any existing RRSIG records are due to expire in less than 7\&.5 days, they would be replaced\&.
- .RE
- .PP
+.RE
+.PP
\-I \fIinput\-format\fR
.RS 4
- The format of the input zone file\&. Possible formats are
+The format of the input zone file\&. Possible formats are
\fB"text"\fR
(default),
\fB"raw"\fR, and
\fB"map"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly\&. The use of this option does not make much sense for non\-dynamic zones\&.
- .RE
- .PP
+.RE
+.PP
\-j \fIjitter\fR
.RS 4
- 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\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The
+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\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The
\fBjitter\fR
option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time\&.
.sp
- Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don\*(Aqt 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\&.
- .RE
- .PP
+Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don\*(Aqt 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\&.
+.RE
+.PP
\-L \fIserial\fR
.RS 4
- 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\&.)
- .RE
- .PP
+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\&.)
+.RE
+.PP
\-n \fIncpus\fR
.RS 4
- Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&.
- .RE
- .PP
+Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&.
+.RE
+.PP
\-N \fIsoa\-serial\-format\fR
.RS 4
- The SOA serial number format of the signed zone\&. Possible formats are
+The SOA serial number format of the signed zone\&. Possible formats are
\fB"keep"\fR
(default),
\fB"increment"\fR,
\fB"unixtime"\fR, and
\fB"date"\fR\&.
- .PP
+.PP
\fB"keep"\fR
.RS 4
- Do not modify the SOA serial number\&.
- .RE
- .PP
+Do not modify the SOA serial number\&.
+.RE
+.PP
\fB"increment"\fR
.RS 4
- Increment the SOA serial number using RFC 1982 arithmetics\&.
- .RE
- .PP
+Increment the SOA serial number using RFC 1982 arithmetics\&.
+.RE
+.PP
\fB"unixtime"\fR
.RS 4
- Set the SOA serial number to the number of seconds since epoch\&.
- .RE
- .PP
+Set the SOA serial number to the number of seconds since epoch\&.
+.RE
+.PP
\fB"date"\fR
.RS 4
- Set the SOA serial number to today\*(Aqs date in YYYYMMDDNN format\&.
- .RE
- .sp
- .RE
- .PP
+Set the SOA serial number to today\*(Aqs date in YYYYMMDDNN format\&.
+.RE
+.RE
+.PP
\-o \fIorigin\fR
.RS 4
- The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&.
- .RE
- .PP
+The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&.
+.RE
+.PP
\-O \fIoutput\-format\fR
.RS 4
- The format of the output file containing the signed zone\&. Possible formats are
+The format of the output file containing the signed zone\&. Possible formats are
\fB"text"\fR
(default), which is the standard textual representation of the zone;
\fB"full"\fR, which is text output in a format suitable for processing by external scripts; and
\fB"raw=N"\fR
specifies the format version of the raw zone file: if N is 0, the raw file can be read by any version of
\fBnamed\fR; if N is 1, the file can be read by release 9\&.9\&.0 or higher; the default is 1\&.
- .RE
- .PP
+.RE
+.PP
\-p
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-P
.RS 4
- Disable post sign verification tests\&.
+Disable post sign verification tests\&.
.sp
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-Q
.RS 4
- Remove signatures from keys that are no longer active\&.
+Remove signatures from keys that are no longer active\&.
.sp
- 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 that are still within their validity period are retained\&. This allows the zone to continue to validate with cached copies of the old DNSKEY RRset\&. The
+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 that are still within their validity period are retained\&. This allows the zone to continue to validate with cached copies of the old DNSKEY RRset\&. The
\fB\-Q\fR
forces
\fBdnssec\-signzone\fR
to remove signatures from keys that are no longer active\&. This enables ZSK rollover using the procedure described in RFC 4641, section 4\&.2\&.1\&.1 ("Pre\-Publish Key Rollover")\&.
- .RE
- .PP
+.RE
+.PP
\-R
.RS 4
- Remove signatures from keys that are no longer published\&.
+Remove signatures from keys that are no longer published\&.
.sp
- This option is similar to
+This option is similar to
\fB\-Q\fR, except it forces
\fBdnssec\-signzone\fR
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")\&.
- .RE
- .PP
+.RE
+.PP
\-r \fIrandomdev\fR
.RS 4
- Specifies the source of randomness\&. If the operating system does not provide a
+Specifies the source of randomness\&. If the operating system does not provide a
/dev/random
or equivalent device, the default source of randomness is keyboard input\&.
randomdev
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
keyboard
indicates that keyboard input should be used\&.
- .RE
- .PP
+.RE
+.PP
\-S
.RS 4
- Smart signing: Instructs
+Smart signing: Instructs
\fBdnssec\-signzone\fR
to search the key repository for keys that match the zone being signed, and to include them in the zone if appropriate\&.
.sp
- 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:
- .PP
-.RS 4
- If no timing metadata has been set for the key, the key is published in the zone and used to sign the zone\&.
- .RE
- .PP
-.RS 4
- If the key\*(Aqs publication date is set and is in the past, the key is published in the zone\&.
- .RE
- .PP
-.RS 4
- If the key\*(Aqs activation date is set and in the past, the key is published (regardless of publication date) and used to sign the zone\&.
- .RE
- .PP
-.RS 4
- If the key\*(Aqs 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\&.
- .RE
- .PP
-.RS 4
- If either of the key\*(Aqs 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\&.
- .RE
- .sp
- .RE
- .PP
+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:
+.PP
+.RS 4
+If no timing metadata has been set for the key, the key is published in the zone and used to sign the zone\&.
+.RE
+.PP
+.RS 4
+If the key\*(Aqs publication date is set and is in the past, the key is published in the zone\&.
+.RE
+.PP
+.RS 4
+If the key\*(Aqs activation date is set and in the past, the key is published (regardless of publication date) and used to sign the zone\&.
+.RE
+.PP
+.RS 4
+If the key\*(Aqs 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\&.
+.RE
+.PP
+.RS 4
+If either of the key\*(Aqs 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\&.
+.RE
+.RE
+.PP
\-T \fIttl\fR
.RS 4
- 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\*(Aqs SOA record\&. This option is ignored when signing without
+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\*(Aqs SOA record\&. This option is ignored when signing without
\fB\-S\fR, since DNSKEY records are not imported from the key repository in that case\&. It is also ignored if there are any pre\-existing DNSKEY records at the zone apex, in which case new records\*(Aq TTL values will be set to match 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\&.
- .RE
- .PP
+.RE
+.PP
\-t
.RS 4
- Print statistics at completion\&.
- .RE
- .PP
+Print statistics at completion\&.
+.RE
+.PP
\-u
.RS 4
- 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,
+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,
\fBdnssec\-signzone\fR
will retain the existing chain when re\-signing\&.
- .RE
- .PP
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .PP
+Sets the debugging level\&.
+.RE
+.PP
\-x
.RS 4
- Only sign the DNSKEY RRset with key\-signing keys, and omit signatures from zone\-signing keys\&. (This is similar to the
+Only sign the DNSKEY RRset with key\-signing keys, and omit signatures from zone\-signing keys\&. (This is similar to the
\fBdnssec\-dnskey\-kskonly yes;\fR
zone option in
\fBnamed\fR\&.)
- .RE
- .PP
+.RE
+.PP
\-z
.RS 4
- 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
+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
\fBupdate\-check\-ksk no;\fR
zone option in
\fBnamed\fR\&.)
- .RE
- .PP
+.RE
+.PP
\-3 \fIsalt\fR
.RS 4
- Generate an NSEC3 chain with the given hex encoded salt\&. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain\&.
- .RE
- .PP
+Generate an NSEC3 chain with the given hex encoded salt\&. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain\&.
+.RE
+.PP
\-H \fIiterations\fR
.RS 4
- When generating an NSEC3 chain, use this many iterations\&. The default is 10\&.
- .RE
- .PP
+When generating an NSEC3 chain, use this many iterations\&. The default is 10\&.
+.RE
+.PP
\-A
.RS 4
- When generating an NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations\&.
+When generating an NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations\&.
.sp
- Using this option twice (i\&.e\&.,
+Using this option twice (i\&.e\&.,
\fB\-AA\fR) turns the OPTOUT flag off for all records\&. This is useful when using the
\fB\-u\fR
option to modify an NSEC3 chain which previously had OPTOUT set\&.
- .RE
- .PP
+.RE
+.PP
zonefile
.RS 4
- The file containing the zone to be signed\&.
- .RE
- .PP
+The file containing the zone to be signed\&.
+.RE
+.PP
key
.RS 4
- 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\&.
- .RE
- .SH "EXAMPLE"
- .PP
+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\&.
+.RE
+.SH "EXAMPLE"
+.PP
The following command signs the
\fBexample\&.com\fR
zone with the DSA key generated by
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
In the above example,
\fBdnssec\-signzone\fR
creates the file
db\&.example\&.com\&.signed\&. This file should be referenced in a zone statement in a
named\&.conf
file\&.
- .PP
+.PP
This example re\-signs a previously signed zone with default parameters\&. The private keys are assumed to be in the current directory\&.
.sp
.if n \{\
.if n \{\
.RE
.\}
-.sp
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBdnssec-keygen\fR(8),
BIND 9 Administrator Reference Manual,
RFC 4033,
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-verify \- DNSSEC zone verification tool
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-verify\fR\ 'u
- \fBdnssec\-verify\fR
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-E\ \fR\fB\fIengine\fR\fR]
- [\fB\-I\ \fR\fB\fIinput\-format\fR\fR]
- [\fB\-o\ \fR\fB\fIorigin\fR\fR]
- [\fB\-v\ \fR\fB\fIlevel\fR\fR]
- [\fB\-V\fR]
- [\fB\-x\fR]
- [\fB\-z\fR]
- {zonefile}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-verify\fR\ 'u
+\fBdnssec\-verify\fR [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-x\fR] [\fB\-z\fR] {zonefile}
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-verify\fR
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\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-c \fIclass\fR
.RS 4
- Specifies the DNS class of the zone\&.
- .RE
- .PP
+Specifies the DNS class of the zone\&.
+.RE
+.PP
\-E \fIengine\fR
.RS 4
- Specifies the cryptographic hardware to use, when applicable\&.
+Specifies the cryptographic hardware to use, when applicable\&.
.sp
- 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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
- .RE
- .PP
+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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
+.RE
+.PP
\-I \fIinput\-format\fR
.RS 4
- The format of the input zone file\&. Possible formats are
+The format of the input zone file\&. Possible formats are
\fB"text"\fR
(default) and
\fB"raw"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be verified independently\&. The use of this option does not make much sense for non\-dynamic zones\&.
- .RE
- .PP
+.RE
+.PP
\-o \fIorigin\fR
.RS 4
- The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&.
- .RE
- .PP
+The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&.
+.RE
+.PP
\-v \fIlevel\fR
.RS 4
- Sets the debugging level\&.
- .RE
- .PP
+Sets the debugging level\&.
+.RE
+.PP
\-V
.RS 4
- Prints version information\&.
- .RE
- .PP
+Prints version information\&.
+.RE
+.PP
\-x
.RS 4
- 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
+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
\fB\-x\fR
option in
\fBdnssec\-signzone\fR\&.
- .RE
- .PP
+.RE
+.PP
\-z
.RS 4
- 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 DNSKEY with the KSK flag set for each algorithm and that RRsets other than DNSKEY RRset will be signed with a different DNSKEY without the KSK flag set\&.
+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 DNSKEY with the KSK flag set for each algorithm and that RRsets other than DNSKEY RRset will be signed with a different DNSKEY without the KSK flag set\&.
.sp
- 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 will be signed by a non\-revoked key for the same algorithm that includes the self\-signed key; the same key may be used for both purposes\&. This corresponds to the
+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 will be signed by a non\-revoked key for the same algorithm that includes the self\-signed key; the same key may be used for both purposes\&. This corresponds to the
\fB\-z\fR
option in
\fBdnssec\-signzone\fR\&.
- .RE
- .PP
+.RE
+.PP
zonefile
.RS 4
- The file containing the zone to be signed\&.
- .RE
- .SH "SEE ALSO"
- .PP
+The file containing the zone to be signed\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBdnssec-signzone\fR(8),
BIND 9 Administrator Reference Manual,
RFC 4033\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwresd \- lightweight resolver daemon
- .SH "SYNOPSIS"
- .HP \w'\fBlwresd\fR\ 'u
- \fBlwresd\fR
- [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR]
- [\fB\-C\ \fR\fB\fIconfig\-file\fR\fR]
- [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR]
- [\fB\-f\fR]
- [\fB\-g\fR]
- [\fB\-i\ \fR\fB\fIpid\-file\fR\fR]
- [\fB\-m\ \fR\fB\fIflag\fR\fR]
- [\fB\-n\ \fR\fB\fI#cpus\fR\fR]
- [\fB\-P\ \fR\fB\fIport\fR\fR]
- [\fB\-p\ \fR\fB\fIport\fR\fR]
- [\fB\-s\fR]
- [\fB\-t\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-u\ \fR\fB\fIuser\fR\fR]
- [\fB\-v\fR]
- [
- | [\fB\-4\fR]
- | [\fB\-6\fR]
- ]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBlwresd\fR\ 'u
+\fBlwresd\fR [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-C\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-i\ \fR\fB\fIpid\-file\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-P\ \fR\fB\fIport\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [[\fB\-4\fR] | [\fB\-6\fR]]
+.SH "DESCRIPTION"
+.PP
\fBlwresd\fR
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\&.
- .PP
+.PP
\fBlwresd\fR
listens for resolver queries on a UDP port on the IPv4 loopback interface, 127\&.0\&.0\&.1\&. This means that
\fBlwresd\fR
can only be used by processes running on the local machine\&. By default, UDP port number 921 is used for lightweight resolver requests and responses\&.
- .PP
+.PP
Incoming lightweight resolver requests are decoded by the server which then resolves them using the DNS protocol\&. When the DNS lookup completes,
\fBlwresd\fR
encodes the answers in the lightweight resolver format and returns them to the client that made the request\&.
- .PP
+.PP
If
/etc/resolv\&.conf
contains any
entries are present, or if forwarding fails,
\fBlwresd\fR
resolves the queries autonomously starting at the root name servers, using a built\-in list of root server hints\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-4
.RS 4
- Use IPv4 only even if the host machine is capable of IPv6\&.
+Use IPv4 only even if the host machine is capable of IPv6\&.
\fB\-4\fR
and
\fB\-6\fR
are mutually exclusive\&.
- .RE
- .PP
+.RE
+.PP
\-6
.RS 4
- Use IPv6 only even if the host machine is capable of IPv4\&.
+Use IPv6 only even if the host machine is capable of IPv4\&.
\fB\-4\fR
and
\fB\-6\fR
are mutually exclusive\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIconfig\-file\fR
.RS 4
- Use
+Use
\fIconfig\-file\fR
as the configuration file instead of the default,
/etc/lwresd\&.conf\&.
\fB\-c\fR
can not be used with
\fB\-C\fR\&.
- .RE
- .PP
+.RE
+.PP
\-C \fIconfig\-file\fR
.RS 4
- Use
+Use
\fIconfig\-file\fR
as the configuration file instead of the default,
/etc/resolv\&.conf\&.
\fB\-C\fR
can not be used with
\fB\-c\fR\&.
- .RE
- .PP
+.RE
+.PP
\-d \fIdebug\-level\fR
.RS 4
- Set the daemon\*(Aqs debug level to
+Set the daemon\*(Aqs debug level to
\fIdebug\-level\fR\&. Debugging traces from
\fBlwresd\fR
become more verbose as the debug level increases\&.
- .RE
- .PP
+.RE
+.PP
\-f
.RS 4
- Run the server in the foreground (i\&.e\&. do not daemonize)\&.
- .RE
- .PP
+Run the server in the foreground (i\&.e\&. do not daemonize)\&.
+.RE
+.PP
\-g
.RS 4
- Run the server in the foreground and force all logging to
+Run the server in the foreground and force all logging to
stderr\&.
- .RE
- .PP
+.RE
+.PP
\-i \fIpid\-file\fR
.RS 4
- Use
+Use
\fIpid\-file\fR
as the PID file instead of the default,
/var/run/lwresd/lwresd\&.pid\&.
- .RE
- .PP
+.RE
+.PP
\-m \fIflag\fR
.RS 4
- Turn on memory usage debugging flags\&. Possible flags are
+Turn on memory usage debugging flags\&. Possible flags are
\fIusage\fR,
\fItrace\fR,
\fIrecord\fR,
\fIsize\fR, and
\fImctx\fR\&. These correspond to the ISC_MEM_DEBUGXXXX flags described in
<isc/mem\&.h>\&.
- .RE
- .PP
+.RE
+.PP
\-n \fI#cpus\fR
.RS 4
- Create
+Create
\fI#cpus\fR
worker threads to take advantage of multiple CPUs\&. If not specified,
\fBlwresd\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-P \fIport\fR
.RS 4
- Listen for lightweight resolver queries on port
+Listen for lightweight resolver queries on port
\fIport\fR\&. If not specified, the default is port 921\&.
- .RE
- .PP
+.RE
+.PP
\-p \fIport\fR
.RS 4
- Send DNS lookups to port
+Send DNS lookups to port
\fIport\fR\&. 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\&.
- .RE
- .PP
+.RE
+.PP
\-s
.RS 4
- Write memory usage statistics to
+Write memory usage statistics to
stdout
on exit\&.
- .if n \{\
+.if n \{\
.sp
.\}
.RS 4
\fBNote\fR
.ps -1
.br
- This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&.
- .sp .5v
+This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&.
+.sp .5v
.RE
- .RE
- .PP
+.RE
+.PP
\-t \fIdirectory\fR
.RS 4
- Chroot to
+Chroot to
\fIdirectory\fR
after processing the command line arguments, but before reading the configuration file\&.
- .if n \{\
+.if n \{\
.sp
.\}
.RS 4
\fBWarning\fR
.ps -1
.br
- This option should be used in conjunction with the
+This option should be used in conjunction with the
\fB\-u\fR
option, as chrooting a process running as root doesn\*(Aqt enhance security on most systems; the way
\fBchroot(2)\fR
is defined allows a process with root privileges to escape a chroot jail\&.
- .sp .5v
+.sp .5v
.RE
- .RE
- .PP
+.RE
+.PP
\-u \fIuser\fR
.RS 4
- Setuid to
+Setuid to
\fIuser\fR
after completing privileged operations, such as creating sockets that listen on privileged ports\&.
- .RE
- .PP
+.RE
+.PP
\-v
.RS 4
- Report the version number and exit\&.
- .RE
- .SH "FILES"
- .PP
+Report the version number and exit\&.
+.RE
+.SH "FILES"
+.PP
/etc/resolv\&.conf
.RS 4
- The default configuration file\&.
- .RE
- .PP
+The default configuration file\&.
+.RE
+.PP
/var/run/lwresd\&.pid
.RS 4
- The default process\-id file\&.
- .RE
- .SH "SEE ALSO"
- .PP
+The default process\-id file\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBnamed\fR(8),
\fBlwres\fR(3),
\fBresolver\fR(5)\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
named \- Internet domain name server
- .SH "SYNOPSIS"
- .HP \w'\fBnamed\fR\ 'u
- \fBnamed\fR
- [
- | [\fB\-4\fR]
- | [\fB\-6\fR]
- ]
- [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR]
- [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR]
- [\fB\-D\ \fR\fB\fIstring\fR\fR]
- [\fB\-E\ \fR\fB\fIengine\-name\fR\fR]
- [\fB\-f\fR]
- [\fB\-g\fR]
- [\fB\-L\ \fR\fB\fIlogfile\fR\fR]
- [\fB\-M\ \fR\fB\fIoption\fR\fR]
- [\fB\-m\ \fR\fB\fIflag\fR\fR]
- [\fB\-n\ \fR\fB\fI#cpus\fR\fR]
- [\fB\-p\ \fR\fB\fIport\fR\fR]
- [\fB\-s\fR]
- [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR]
- [\fB\-t\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-U\ \fR\fB\fI#listeners\fR\fR]
- [\fB\-u\ \fR\fB\fIuser\fR\fR]
- [\fB\-v\fR]
- [\fB\-V\fR]
- [\fB\-X\ \fR\fB\fIlock\-file\fR\fR]
- [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnamed\fR\ 'u
+\fBnamed\fR [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-D\ \fR\fB\fIstring\fR\fR] [\fB\-E\ \fR\fB\fIengine\-name\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-L\ \fR\fB\fIlogfile\fR\fR] [\fB\-M\ \fR\fB\fIoption\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-U\ \fR\fB\fI#listeners\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [\fB\-X\ \fR\fB\fIlock\-file\fR\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
+.SH "DESCRIPTION"
+.PP
\fBnamed\fR
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\&.
- .PP
+.PP
When invoked without arguments,
\fBnamed\fR
will read the default configuration file
/etc/named\&.conf, read any initial data, and listen for queries\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-4
.RS 4
- Use IPv4 only even if the host machine is capable of IPv6\&.
+Use IPv4 only even if the host machine is capable of IPv6\&.
\fB\-4\fR
and
\fB\-6\fR
are mutually exclusive\&.
- .RE
- .PP
+.RE
+.PP
\-6
.RS 4
- Use IPv6 only even if the host machine is capable of IPv4\&.
+Use IPv6 only even if the host machine is capable of IPv4\&.
\fB\-4\fR
and
\fB\-6\fR
are mutually exclusive\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIconfig\-file\fR
.RS 4
- Use
+Use
\fIconfig\-file\fR
as the configuration file instead of the default,
/etc/named\&.conf\&. To ensure that reloading the configuration file continues to work after the server has changed its working directory due to to a possible
option in the configuration file,
\fIconfig\-file\fR
should be an absolute pathname\&.
- .RE
- .PP
+.RE
+.PP
\-d \fIdebug\-level\fR
.RS 4
- Set the daemon\*(Aqs debug level to
+Set the daemon\*(Aqs debug level to
\fIdebug\-level\fR\&. Debugging traces from
\fBnamed\fR
become more verbose as the debug level increases\&.
- .RE
- .PP
+.RE
+.PP
\-D \fIstring\fR
.RS 4
- Specifies a string that is used to identify a instance of
+Specifies a string that is used to identify a instance of
\fBnamed\fR
in a process listing\&. The contents of
\fIstring\fR
are not examined\&.
- .RE
- .PP
+.RE
+.PP
\-E \fIengine\-name\fR
.RS 4
- When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&.
+When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&.
.sp
- 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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
- .RE
- .PP
+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 module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&.
+.RE
+.PP
\-f
.RS 4
- Run the server in the foreground (i\&.e\&. do not daemonize)\&.
- .RE
- .PP
+Run the server in the foreground (i\&.e\&. do not daemonize)\&.
+.RE
+.PP
\-g
.RS 4
- Run the server in the foreground and force all logging to
+Run the server in the foreground and force all logging to
stderr\&.
- .RE
- .PP
+.RE
+.PP
\-L \fIlogfile\fR
.RS 4
- Log to the file
+Log to the file
\fBlogfile\fR
by default instead of the system log\&.
- .RE
- .PP
+.RE
+.PP
\-M \fIoption\fR
.RS 4
- Sets the default memory context options\&. Currently the only supported option is
+Sets the default memory context options\&. Currently the only supported option is
\fIexternal\fR, which causes the internal memory manager to be bypassed in favor of system\-provided memory allocation functions\&.
- .RE
- .PP
+.RE
+.PP
\-m \fIflag\fR
.RS 4
- Turn on memory usage debugging flags\&. Possible flags are
+Turn on memory usage debugging flags\&. Possible flags are
\fIusage\fR,
\fItrace\fR,
\fIrecord\fR,
\fIsize\fR, and
\fImctx\fR\&. These correspond to the ISC_MEM_DEBUGXXXX flags described in
<isc/mem\&.h>\&.
- .RE
- .PP
+.RE
+.PP
\-n \fI#cpus\fR
.RS 4
- Create
+Create
\fI#cpus\fR
worker threads to take advantage of multiple CPUs\&. If not specified,
\fBnamed\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-p \fIport\fR
.RS 4
- Listen for queries on port
+Listen for queries on port
\fIport\fR\&. If not specified, the default is port 53\&.
- .RE
- .PP
+.RE
+.PP
\-s
.RS 4
- Write memory usage statistics to
+Write memory usage statistics to
stdout
on exit\&.
- .if n \{\
+.if n \{\
.sp
.\}
.RS 4
\fBNote\fR
.ps -1
.br
- This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&.
- .sp .5v
+This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&.
+.sp .5v
+.RE
.RE
- .RE
- .PP
+.PP
\-S \fI#max\-socks\fR
.RS 4
- Allow
+Allow
\fBnamed\fR
to use up to
\fI#max\-socks\fR
sockets\&. The default value is 4096 on systems built with default configuration options, and 21000 on systems built with "configure \-\-with\-tuning=large"\&.
- .if n \{\
+.if n \{\
.sp
.\}
.RS 4
\fBWarning\fR
.ps -1
.br
- This option should be unnecessary for the vast majority of users\&. The use of this option could even be harmful because the specified value may exceed the limitation of the underlying system API\&. It is therefore set only when the default configuration causes exhaustion of file descriptors and the operational environment is known to support the specified number of sockets\&. Note also that the actual maximum number is normally a little fewer than the specified value because
+This option should be unnecessary for the vast majority of users\&. The use of this option could even be harmful because the specified value may exceed the limitation of the underlying system API\&. It is therefore set only when the default configuration causes exhaustion of file descriptors and the operational environment is known to support the specified number of sockets\&. Note also that the actual maximum number is normally a little fewer than the specified value because
\fBnamed\fR
reserves some file descriptors for its internal use\&.
- .sp .5v
+.sp .5v
+.RE
.RE
- .RE
- .PP
+.PP
\-t \fIdirectory\fR
.RS 4
- Chroot to
+Chroot to
\fIdirectory\fR
after processing the command line arguments, but before reading the configuration file\&.
- .if n \{\
+.if n \{\
.sp
.\}
.RS 4
\fBWarning\fR
.ps -1
.br
- This option should be used in conjunction with the
+This option should be used in conjunction with the
\fB\-u\fR
option, as chrooting a process running as root doesn\*(Aqt enhance security on most systems; the way
\fBchroot(2)\fR
is defined allows a process with root privileges to escape a chroot jail\&.
- .sp .5v
+.sp .5v
+.RE
.RE
- .RE
- .PP
+.PP
\-U \fI#listeners\fR
.RS 4
- Use
+Use
\fI#listeners\fR
worker threads to listen for incoming UDP packets on each address\&. If not specified,
\fBnamed\fR
has been set to a higher value than the number of detected CPUs, then
\fB\-U\fR
may 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\&.
- .RE
- .PP
+.RE
+.PP
\-u \fIuser\fR
.RS 4
- Setuid to
+Setuid to
\fIuser\fR
after completing privileged operations, such as creating sockets that listen on privileged ports\&.
- .if n \{\
+.if n \{\
.sp
.\}
.RS 4
\fBNote\fR
.ps -1
.br
- On Linux,
+On Linux,
\fBnamed\fR
uses the kernel\*(Aqs capability mechanism to drop all root privileges except the ability to
\fBbind(2)\fR
\fBnamed\fR
is run on kernel 2\&.2\&.18 or later, or kernel 2\&.3\&.99\-pre3 or later, since previous kernels did not allow privileges to be retained after
\fBsetuid(2)\fR\&.
- .sp .5v
+.sp .5v
+.RE
.RE
- .RE
- .PP
+.PP
\-v
.RS 4
- Report the version number and exit\&.
- .RE
- .PP
+Report the version number and exit\&.
+.RE
+.PP
\-V
.RS 4
- Report the version number and build options, and exit\&.
- .RE
- .PP
+Report the version number and build options, and exit\&.
+.RE
+.PP
\-X \fIlock\-file\fR
.RS 4
- Acquire a lock on the specified file at runtime; this helps to prevent duplicate
+Acquire a lock on the specified file at runtime; this helps to prevent duplicate
\fBnamed\fR
instances from running simultaneously\&. Use of this option overrides the
\fBlock\-file\fR
option in
named\&.conf\&. If set to
none, the lock file check is disabled\&.
- .RE
- .PP
+.RE
+.PP
\-x \fIcache\-file\fR
.RS 4
- Load data from
+Load data from
\fIcache\-file\fR
into the cache of the default view\&.
- .if n \{\
+.if n \{\
.sp
.\}
.RS 4
\fBWarning\fR
.ps -1
.br
- 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\&.
- .sp .5v
+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\&.
+.sp .5v
.RE
- .RE
- .SH "SIGNALS"
- .PP
+.RE
+.SH "SIGNALS"
+.PP
In routine operation, signals should not be used to control the nameserver;
\fBrndc\fR
should be used instead\&.
- .PP
+.PP
SIGHUP
.RS 4
- Force a reload of the server\&.
- .RE
- .PP
+Force a reload of the server\&.
+.RE
+.PP
SIGINT, SIGTERM
.RS 4
- Shut down the server\&.
- .RE
- .PP
+Shut down the server\&.
+.RE
+.PP
The result of sending any other signals to the server is undefined\&.
- .SH "CONFIGURATION"
- .PP
+.SH "CONFIGURATION"
+.PP
The
\fBnamed\fR
configuration file is too complex to describe in detail here\&. A complete description is provided in the
BIND 9 Administrator Reference Manual\&.
- .PP
+.PP
\fBnamed\fR
inherits the
\fBumask\fR
should be set explicitly in the script used to start the
\fBnamed\fR
process\&.
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
/etc/named\&.conf
.RS 4
- The default configuration file\&.
- .RE
- .PP
+The default configuration file\&.
+.RE
+.PP
/var/run/named/named\&.pid
.RS 4
- The default process\-id file\&.
- .RE
- .SH "SEE ALSO"
- .PP
+The default process\-id file\&.
+.RE
+.SH "SEE ALSO"
+.PP
RFC 1033,
RFC 1034,
RFC 1035,
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
named.conf \- configuration file for \fBnamed\fR
- .SH "SYNOPSIS"
- .HP \w'\fBnamed\&.conf\fR\ 'u
- \fBnamed\&.conf\fR
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnamed\&.conf\fR\ 'u
+\fBnamed\&.conf\fR
+.SH "DESCRIPTION"
+.PP
named\&.conf
is the configuration file for
\fBnamed\fR\&. 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:
- .PP
+.PP
C style: /* */
- .PP
+.PP
C++ style: // to end of line
- .PP
+.PP
Unix style: # to end of line
- .SH "ACL"
+.SH "ACL"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "CONTROLS"
+.SH "CONTROLS"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "DLZ"
+.SH "DLZ"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "DYNDB"
+.SH "DYNDB"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "KEY"
+.SH "KEY"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "LOGGING"
+.SH "LOGGING"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "LWRES"
+.SH "LWRES"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "MANAGED\-KEYS"
+.SH "MANAGED\-KEYS"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "MASTERS"
+.SH "MASTERS"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "OPTIONS"
+.SH "OPTIONS"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "SERVER"
+.SH "SERVER"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "STATISTICS\-CHANNELS"
+.SH "STATISTICS\-CHANNELS"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "TRUSTED\-KEYS"
+.SH "TRUSTED\-KEYS"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "VIEW"
+.SH "VIEW"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "ZONE"
+.SH "ZONE"
.sp
.if n \{\
.RS 4
.if n \{\
.RE
.\}
-.sp
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
/etc/named\&.conf
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBddns-confgen\fR(8),
\fBnamed\fR(8),
\fBnamed-checkconf\fR(8),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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.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.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"></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.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.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.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.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.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.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.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.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.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.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></body>
</html>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
nsupdate \- Dynamic DNS update utility
- .SH "SYNOPSIS"
- .HP \w'\fBnsupdate\fR\ 'u
- \fBnsupdate\fR
- [\fB\-d\fR]
- [\fB\-D\fR]
- [\fB\-i\fR]
- [\fB\-L\ \fR\fB\fIlevel\fR\fR]
- [
- | [\fB\-g\fR]
- | [\fB\-o\fR]
- | [\fB\-l\fR]
- | [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR]
- | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR]
- ]
- [\fB\-t\ \fR\fB\fItimeout\fR\fR]
- [\fB\-u\ \fR\fB\fIudptimeout\fR\fR]
- [\fB\-r\ \fR\fB\fIudpretries\fR\fR]
- [\fB\-R\ \fR\fB\fIrandomdev\fR\fR]
- [\fB\-v\fR]
- [\fB\-T\fR]
- [\fB\-P\fR]
- [\fB\-V\fR]
- [filename]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnsupdate\fR\ 'u
+\fBnsupdate\fR [\fB\-d\fR] [\fB\-D\fR] [\fB\-i\fR] [\fB\-L\ \fR\fB\fIlevel\fR\fR] [[\fB\-g\fR] | [\fB\-o\fR] | [\fB\-l\fR] | [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR] | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR]] [\fB\-t\ \fR\fB\fItimeout\fR\fR] [\fB\-u\ \fR\fB\fIudptimeout\fR\fR] [\fB\-r\ \fR\fB\fIudpretries\fR\fR] [\fB\-R\ \fR\fB\fIrandomdev\fR\fR] [\fB\-v\fR] [\fB\-T\fR] [\fB\-P\fR] [\fB\-V\fR] [filename]
+.SH "DESCRIPTION"
+.PP
\fBnsupdate\fR
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 without manually editing the zone file\&. A single update request can contain requests to add or remove more than one resource record\&.
- .PP
+.PP
Zones that are under dynamic control via
\fBnsupdate\fR
or a DHCP server should not be edited by hand\&. Manual edits could conflict with dynamic updates and cause data to be lost\&.
- .PP
+.PP
The resource records that are dynamically added or removed with
\fBnsupdate\fR
have to be in the same zone\&. Requests are sent to the zone\*(Aqs master server\&. This is identified by the MNAME field of the zone\*(Aqs SOA record\&.
- .PP
+.PP
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\&.
- .PP
+.PP
TSIG relies on a shared secret that should only be known to
\fBnsupdate\fR
and the name server\&. For instance, suitable
or
\fB\-k\fR
options to provide the TSIG shared secret\&. These options are mutually exclusive\&.
- .PP
+.PP
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\&.
- .PP
+.PP
GSS\-TSIG uses Kerberos credentials\&. Standard GSS\-TSIG mode is switched on with the
\fB\-g\fR
flag\&. A non\-standards\-compliant variant of GSS\-TSIG used by Windows 2000 can be switched on with the
\fB\-o\fR
flag\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-d
.RS 4
- Debug mode\&. This provides tracing information about the update requests that are made and the replies received from the name server\&.
- .RE
- .PP
+Debug mode\&. This provides tracing information about the update requests that are made and the replies received from the name server\&.
+.RE
+.PP
\-D
.RS 4
- Extra debug mode\&.
- .RE
- .PP
+Extra debug mode\&.
+.RE
+.PP
\-i
.RS 4
- Force interactive mode, even when standard input is not a terminal\&.
- .RE
- .PP
+Force interactive mode, even when standard input is not a terminal\&.
+.RE
+.PP
\-k \fIkeyfile\fR
.RS 4
- The file containing the TSIG authentication key\&. Keyfiles may be in two formats: a single file containing a
+The file containing the TSIG authentication key\&. Keyfiles may be in two formats: a single file containing a
named\&.conf\-format
\fBkey\fR
statement, which may be generated automatically by
\fBdnssec\-keygen\fR\&. The
\fB\-k\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-l
.RS 4
- Local\-host only mode\&. This sets the server address to localhost (disabling the
+Local\-host only mode\&. This sets the server address to localhost (disabling the
\fBserver\fR
so that the server address cannot be overridden)\&. Connections to the local server will use a TSIG key found in
/var/run/named/session\&.key, which is automatically generated by
\fBlocal\fR\&. The location of this key file can be overridden with the
\fB\-k\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-L \fIlevel\fR
.RS 4
- Set the logging debug level\&. If zero, logging is disabled\&.
- .RE
- .PP
+Set the logging debug level\&. If zero, logging is disabled\&.
+.RE
+.PP
\-p \fIport\fR
.RS 4
- Set the port to use for connections to a name server\&. The default is 53\&.
- .RE
- .PP
+Set the port to use for connections to a name server\&. The default is 53\&.
+.RE
+.PP
\-P
.RS 4
- Print the list of private BIND\-specific resource record types whose format is understood by
+Print the list of private BIND\-specific resource record types whose format is understood by
\fBnsupdate\fR\&. See also the
\fB\-T\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-r \fIudpretries\fR
.RS 4
- The number of UDP retries\&. The default is 3\&. If zero, only one update request will be made\&.
- .RE
- .PP
+The number of UDP retries\&. The default is 3\&. If zero, only one update request will be made\&.
+.RE
+.PP
\-R \fIrandomdev\fR
.RS 4
- Where to obtain randomness\&. If the operating system does not provide a
+Where to obtain randomness\&. If the operating system does not provide a
/dev/random
or equivalent device, the default source of randomness is keyboard input\&.
randomdev
specifies the name of a character device or file containing random data to be used instead of the default\&. The special value
keyboard
indicates that keyboard input should be used\&. This option may be specified multiple times\&.
- .RE
- .PP
+.RE
+.PP
\-t \fItimeout\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-T
.RS 4
- Print the list of IANA standard resource record types whose format is understood by
+Print the list of IANA standard resource record types whose format is understood by
\fBnsupdate\fR\&.
\fBnsupdate\fR
will exit after the lists are printed\&. The
\fB\-P\fR
option\&.
.sp
- 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>)\&.
- .RE
- .PP
+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>)\&.
+.RE
+.PP
\-u \fIudptimeout\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-v
.RS 4
- Use TCP even for small update requests\&. By default,
+Use TCP even for small update requests\&. By default,
\fBnsupdate\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-V
.RS 4
- Print the version number and exit\&.
- .RE
- .PP
+Print the version number and exit\&.
+.RE
+.PP
\-y \fI[hmac:]\fR\fIkeyname:secret\fR
.RS 4
- Literal TSIG authentication key\&.
+Literal TSIG authentication key\&.
\fIkeyname\fR
is the name of the key, and
\fIsecret\fR
or if MD5 was disabled
hmac\-sha256\&.
.sp
- NOTE: Use of the
+NOTE: Use of the
\fB\-y\fR
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
\fBps\fR(1)
or in a history file maintained by the user\*(Aqs shell\&.
- .RE
- .SH "INPUT FORMAT"
- .PP
+.RE
+.SH "INPUT FORMAT"
+.PP
\fBnsupdate\fR
reads input from
\fIfilename\fR
or standard input\&. Each command is supplied on exactly one line of input\&. Some commands are for administrative purposes\&. The others are either update instructions or prerequisite checks on the contents of the zone\&. These checks set conditions that some name or set of resource records (RRset) either exists or is absent from the zone\&. These conditions must be met if the entire update request is to succeed\&. Updates will be rejected if the tests for the prerequisite conditions fail\&.
- .PP
+.PP
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 specified resource records are present or missing from the zone\&. A blank input line (or the
\fBsend\fR
command) causes the accumulated commands to be sent as one Dynamic DNS update request to the name server\&.
- .PP
+.PP
The command formats and their meaning are as follows:
- .PP
+.PP
\fBserver\fR {servername} [port]
.RS 4
- Sends all dynamic update requests to the name server
+Sends all dynamic update requests to the name server
\fIservername\fR\&. When no server statement is provided,
\fBnsupdate\fR
will send updates to the master server of the correct zone\&. The MNAME field of that zone\*(Aqs SOA record will identify the master server for that zone\&.
is the port number on
\fIservername\fR
where the dynamic update requests get sent\&. If no port number is specified, the default DNS port number of 53 is used\&.
- .RE
- .PP
+.RE
+.PP
\fBlocal\fR {address} [port]
.RS 4
- Sends all dynamic update requests using the local
+Sends all dynamic update requests using the local
\fIaddress\fR\&. When no local statement is provided,
\fBnsupdate\fR
will send updates using an address and port chosen by the system\&.
\fIport\fR
can additionally be used to make requests come from a specific port\&. If no port number is specified, the system will assign one\&.
- .RE
- .PP
+.RE
+.PP
\fBzone\fR {zonename}
.RS 4
- Specifies that all updates are to be made to the zone
+Specifies that all updates are to be made to the zone
\fIzonename\fR\&. If no
\fIzone\fR
statement is provided,
\fBnsupdate\fR
will attempt determine the correct zone to update based on the rest of the input\&.
- .RE
- .PP
+.RE
+.PP
\fBclass\fR {classname}
.RS 4
- Specify the default class\&. If no
+Specify the default class\&. If no
\fIclass\fR
is specified, the default class is
\fIIN\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBttl\fR {seconds}
.RS 4
- Specify the default time to live for records to be added\&. The value
+Specify the default time to live for records to be added\&. The value
\fInone\fR
will clear the default ttl\&.
- .RE
- .PP
+.RE
+.PP
\fBkey\fR [hmac:] {keyname} {secret}
.RS 4
- Specifies that all updates are to be TSIG\-signed using the
+Specifies that all updates are to be TSIG\-signed using the
\fIkeyname\fR
\fIsecret\fR
pair\&. If
\fB\-y\fR
or
\fB\-k\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBgsstsig\fR
.RS 4
- Use GSS\-TSIG to sign the updated\&. This is equivalent to specifying
+Use GSS\-TSIG to sign the updated\&. This is equivalent to specifying
\fB\-g\fR
on the command line\&.
- .RE
- .PP
+.RE
+.PP
\fBoldgsstsig\fR
.RS 4
- Use the Windows 2000 version of GSS\-TSIG to sign the updated\&. This is equivalent to specifying
+Use the Windows 2000 version of GSS\-TSIG to sign the updated\&. This is equivalent to specifying
\fB\-o\fR
on the command line\&.
- .RE
- .PP
+.RE
+.PP
\fBrealm\fR {[realm_name]}
.RS 4
- When using GSS\-TSIG use
+When using GSS\-TSIG use
\fIrealm_name\fR
rather than the default realm in
krb5\&.conf\&. If no realm is specified the saved realm is cleared\&.
- .RE
- .PP
+.RE
+.PP
\fBcheck\-names\fR {[yes_or_no]}
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB[prereq]\fR\fB nxdomain\fR {domain\-name}
.RS 4
- Requires that no resource record of any type exists with name
+Requires that no resource record of any type exists with name
\fIdomain\-name\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB[prereq]\fR\fB yxdomain\fR {domain\-name}
.RS 4
- Requires that
+Requires that
\fIdomain\-name\fR
exists (has as at least one resource record, of any type)\&.
- .RE
- .PP
+.RE
+.PP
\fB[prereq]\fR\fB nxrrset\fR {domain\-name} [class] {type}
.RS 4
- Requires that no resource record exists of the specified
+Requires that no resource record exists of the specified
\fItype\fR,
\fIclass\fR
and
\fIdomain\-name\fR\&. If
\fIclass\fR
is omitted, IN (internet) is assumed\&.
- .RE
- .PP
+.RE
+.PP
\fB[prereq]\fR\fB yxrrset\fR {domain\-name} [class] {type}
.RS 4
- This requires that a resource record of the specified
+This requires that a resource record of the specified
\fItype\fR,
\fIclass\fR
and
must exist\&. If
\fIclass\fR
is omitted, IN (internet) is assumed\&.
- .RE
- .PP
+.RE
+.PP
\fB[prereq]\fR\fB yxrrset\fR {domain\-name} [class] {type} {data...}
.RS 4
- The
+The
\fIdata\fR
from each set of prerequisites of this form sharing a common
\fItype\fR,
\fIdomain\-name\fR\&. The
\fIdata\fR
are written in the standard text representation of the resource record\*(Aqs RDATA\&.
- .RE
- .PP
+.RE
+.PP
\fB[update]\fR\fB del\fR\fB[ete]\fR {domain\-name} [ttl] [class] [type\ [data...]]
.RS 4
- Deletes any resource records named
+Deletes any resource records named
\fIdomain\-name\fR\&. If
\fItype\fR
and
is not supplied\&. The
\fIttl\fR
is ignored, and is only allowed for compatibility\&.
- .RE
- .PP
+.RE
+.PP
\fB[update]\fR\fB add\fR {domain\-name} {ttl} [class] {type} {data...}
.RS 4
- Adds a new resource record with the specified
+Adds a new resource record with the specified
\fIttl\fR,
\fIclass\fR
and
\fIdata\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBshow\fR
.RS 4
- Displays the current message, containing all of the prerequisites and updates specified since the last send\&.
- .RE
- .PP
+Displays the current message, containing all of the prerequisites and updates specified since the last send\&.
+.RE
+.PP
\fBsend\fR
.RS 4
- Sends the current message\&. This is equivalent to entering a blank line\&.
- .RE
- .PP
+Sends the current message\&. This is equivalent to entering a blank line\&.
+.RE
+.PP
\fBanswer\fR
.RS 4
- Displays the answer\&.
- .RE
- .PP
+Displays the answer\&.
+.RE
+.PP
\fBdebug\fR
.RS 4
- Turn on debugging\&.
- .RE
- .PP
+Turn on debugging\&.
+.RE
+.PP
\fBversion\fR
.RS 4
- Print version number\&.
- .RE
- .PP
+Print version number\&.
+.RE
+.PP
\fBhelp\fR
.RS 4
- Print a list of commands\&.
- .RE
- .PP
+Print a list of commands\&.
+.RE
+.PP
Lines beginning with a semicolon are comments and are ignored\&.
- .SH "EXAMPLES"
- .PP
+.SH "EXAMPLES"
+.PP
The examples below show how
\fBnsupdate\fR
could be used to insert and delete resource records from the
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
Any A records for
\fBoldhost\&.example\&.com\fR
are deleted\&. And an A record for
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
The prerequisite condition gets the name server to check that there are no resource records of any type for
\fBnickname\&.example\&.com\fR\&. If there are, the update request fails\&. If this name does not exist, a CNAME for it is added\&. This ensures that when the CNAME is added, it cannot conflict with the long\-standing rule in RFC 1034 that a name must not exist as any other record type if it exists as a CNAME\&. (The rule has been updated for DNSSEC in RFC 2535 to allow CNAMEs to have RRSIG, DNSKEY and NSEC records\&.)
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
\fB/etc/resolv\&.conf\fR
.RS 4
- used to identify default name server
- .RE
- .PP
+used to identify default name server
+.RE
+.PP
\fB/var/run/named/session\&.key\fR
.RS 4
- sets the default TSIG key for use in local\-only mode
- .RE
- .PP
+sets the default TSIG key for use in local\-only mode
+.RE
+.PP
\fBK{name}\&.+157\&.+{random}\&.key\fR
.RS 4
- base\-64 encoding of HMAC\-MD5 key created by
+base\-64 encoding of HMAC\-MD5 key created by
\fBdnssec-keygen\fR(8)\&.
- .RE
- .PP
+.RE
+.PP
\fBK{name}\&.+157\&.+{random}\&.private\fR
.RS 4
- base\-64 encoding of HMAC\-MD5 key created by
+base\-64 encoding of HMAC\-MD5 key created by
\fBdnssec-keygen\fR(8)\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
RFC 2136,
RFC 3007,
RFC 2104,
\fBnamed\fR(8),
\fBddns-confgen\fR(8),
\fBdnssec-keygen\fR(8)\&.
- .SH "BUGS"
- .PP
+.SH "BUGS"
+.PP
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\&.
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
pkcs11-destroy \- destroy PKCS#11 objects
- .SH "SYNOPSIS"
- .HP \w'\fBpkcs11\-destroy\fR\ 'u
- \fBpkcs11\-destroy\fR
- [\fB\-m\ \fR\fB\fImodule\fR\fR]
- [\fB\-s\ \fR\fB\fIslot\fR\fR]
- {
- | \-i\ \fIID\fR
- | \-l\ \fIlabel\fR
- }
- [\fB\-p\ \fR\fB\fIPIN\fR\fR]
- [\fB\-w\ \fR\fB\fIseconds\fR\fR]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBpkcs11\-destroy\fR\ 'u
+\fBpkcs11\-destroy\fR [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-s\ \fR\fB\fIslot\fR\fR] {\-i\ \fIID\fR | \-l\ \fIlabel\fR} [\fB\-p\ \fR\fB\fIPIN\fR\fR] [\fB\-w\ \fR\fB\fIseconds\fR\fR]
+.SH "DESCRIPTION"
+.PP
\fBpkcs11\-destroy\fR
destroys keys stored in a PKCS#11 device, identified by their
\fBID\fR
or
\fBlabel\fR\&.
- .PP
+.PP
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\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
\-m \fImodule\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-s \fIslot\fR
.RS 4
- Open the session with the given PKCS#11 slot\&. The default is slot 0\&.
- .RE
- .PP
+Open the session with the given PKCS#11 slot\&. The default is slot 0\&.
+.RE
+.PP
\-i \fIID\fR
.RS 4
- Destroy keys with the given object ID\&.
- .RE
- .PP
+Destroy keys with the given object ID\&.
+.RE
+.PP
\-l \fIlabel\fR
.RS 4
- Destroy keys with the given label\&.
- .RE
- .PP
+Destroy keys with the given label\&.
+.RE
+.PP
\-p \fIPIN\fR
.RS 4
- Specify the PIN for the device\&. If no PIN is provided on the command line,
+Specify the PIN for the device\&. If no PIN is provided on the command line,
\fBpkcs11\-destroy\fR
will prompt for it\&.
- .RE
- .PP
+.RE
+.PP
\-w \fIseconds\fR
.RS 4
- Specify how long to pause before carrying out key destruction\&. The default is five seconds\&. If set to
+Specify how long to pause before carrying out key destruction\&. The default is five seconds\&. If set to
0, destruction will be immediate\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBpkcs11-keygen\fR(8),
\fBpkcs11-list\fR(8),
\fBpkcs11-tokens\fR(8)
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
pkcs11-keygen \- generate keys on a PKCS#11 device
- .SH "SYNOPSIS"
- .HP \w'\fBpkcs11\-keygen\fR\ 'u
- \fBpkcs11\-keygen\fR
- {\-a\ \fIalgorithm\fR}
- [\fB\-b\ \fR\fB\fIkeysize\fR\fR]
- [\fB\-e\fR]
- [\fB\-i\ \fR\fB\fIid\fR\fR]
- [\fB\-m\ \fR\fB\fImodule\fR\fR]
- [\fB\-P\fR]
- [\fB\-p\ \fR\fB\fIPIN\fR\fR]
- [\fB\-q\fR]
- [\fB\-S\fR]
- [\fB\-s\ \fR\fB\fIslot\fR\fR]
- {label}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBpkcs11\-keygen\fR\ 'u
+\fBpkcs11\-keygen\fR {\-a\ \fIalgorithm\fR} [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-e\fR] [\fB\-i\ \fR\fB\fIid\fR\fR] [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-P\fR] [\fB\-p\ \fR\fB\fIPIN\fR\fR] [\fB\-q\fR] [\fB\-S\fR] [\fB\-s\ \fR\fB\fIslot\fR\fR] {label}
+.SH "DESCRIPTION"
+.PP
\fBpkcs11\-keygen\fR
causes a PKCS#11 device to generate a new key pair with the given
\fBlabel\fR
(which must be unique) and with
\fBkeysize\fR
bits of prime\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
\-a \fIalgorithm\fR
.RS 4
- Specify the key algorithm class: Supported classes are RSA, DSA, DH, ECC and ECX\&. In addition to these strings, the
+Specify the key algorithm class: Supported classes are RSA, DSA, DH, ECC and ECX\&. In addition to these strings, the
\fBalgorithm\fR
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"\&.
- .RE
- .PP
+.RE
+.PP
\-b \fIkeysize\fR
.RS 4
- Create the key pair with
+Create the key pair with
\fBkeysize\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-e
.RS 4
- For RSA keys only, use a large exponent\&.
- .RE
- .PP
+For RSA keys only, use a large exponent\&.
+.RE
+.PP
\-i \fIid\fR
.RS 4
- Create key objects with id\&. The id is either an unsigned short 2 byte or an unsigned long 4 byte number\&.
- .RE
- .PP
+Create key objects with id\&. The id is either an unsigned short 2 byte or an unsigned long 4 byte number\&.
+.RE
+.PP
\-m \fImodule\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-P
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-p \fIPIN\fR
.RS 4
- Specify the PIN for the device\&. If no PIN is provided on the command line,
+Specify the PIN for the device\&. If no PIN is provided on the command line,
\fBpkcs11\-keygen\fR
will prompt for it\&.
- .RE
- .PP
+.RE
+.PP
\-q
.RS 4
- Quiet mode: suppress unnecessary output\&.
- .RE
- .PP
+Quiet mode: suppress unnecessary output\&.
+.RE
+.PP
\-S
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-s \fIslot\fR
.RS 4
- Open the session with the given PKCS#11 slot\&. The default is slot 0\&.
- .RE
- .SH "SEE ALSO"
- .PP
+Open the session with the given PKCS#11 slot\&. The default is slot 0\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBpkcs11-destroy\fR(8),
\fBpkcs11-list\fR(8),
\fBpkcs11-tokens\fR(8),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
pkcs11-list \- list PKCS#11 objects
- .SH "SYNOPSIS"
- .HP \w'\fBpkcs11\-list\fR\ 'u
- \fBpkcs11\-list\fR
- [\fB\-P\fR]
- [\fB\-m\ \fR\fB\fImodule\fR\fR]
- [\fB\-s\ \fR\fB\fIslot\fR\fR]
- [\-i\ \fIID\fR]
- [\-l\ \fIlabel\fR]
- [\fB\-p\ \fR\fB\fIPIN\fR\fR]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBpkcs11\-list\fR\ 'u
+\fBpkcs11\-list\fR [\fB\-P\fR] [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-s\ \fR\fB\fIslot\fR\fR] [\-i\ \fIID\fR] [\-l\ \fIlabel\fR] [\fB\-p\ \fR\fB\fIPIN\fR\fR]
+.SH "DESCRIPTION"
+.PP
\fBpkcs11\-list\fR
lists the PKCS#11 objects with
\fBID\fR
true,
false, or
never\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
\-P
.RS 4
- List only the public objects\&. (Note that on some PKCS#11 devices, all objects are private\&.)
- .RE
- .PP
+List only the public objects\&. (Note that on some PKCS#11 devices, all objects are private\&.)
+.RE
+.PP
\-m \fImodule\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-s \fIslot\fR
.RS 4
- Open the session with the given PKCS#11 slot\&. The default is slot 0\&.
- .RE
- .PP
+Open the session with the given PKCS#11 slot\&. The default is slot 0\&.
+.RE
+.PP
\-i \fIID\fR
.RS 4
- List only key objects with the given object ID\&.
- .RE
- .PP
+List only key objects with the given object ID\&.
+.RE
+.PP
\-l \fIlabel\fR
.RS 4
- List only key objects with the given label\&.
- .RE
- .PP
+List only key objects with the given label\&.
+.RE
+.PP
\-p \fIPIN\fR
.RS 4
- Specify the PIN for the device\&. If no PIN is provided on the command line,
+Specify the PIN for the device\&. If no PIN is provided on the command line,
\fBpkcs11\-list\fR
will prompt for it\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBpkcs11-destroy\fR(8),
\fBpkcs11-keygen\fR(8),
\fBpkcs11-tokens\fR(8)
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
pkcs11-tokens \- list PKCS#11 available tokens
- .SH "SYNOPSIS"
- .HP \w'\fBpkcs11\-tokens\fR\ 'u
- \fBpkcs11\-tokens\fR
- [\fB\-m\ \fR\fB\fImodule\fR\fR]
- [\fB\-v\fR]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBpkcs11\-tokens\fR\ 'u
+\fBpkcs11\-tokens\fR [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-v\fR]
+.SH "DESCRIPTION"
+.PP
\fBpkcs11\-tokens\fR
lists the PKCS#11 available tokens with defaults from the slot/token scan performed at application initialization\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
\-m \fImodule\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-v
.RS 4
- Make the PKCS#11 libisc initialization verbose\&.
- .RE
- .SH "SEE ALSO"
- .PP
+Make the PKCS#11 libisc initialization verbose\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBpkcs11-destroy\fR(8),
\fBpkcs11-keygen\fR(8),
\fBpkcs11-list\fR(8)
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-checkds \- DNSSEC delegation consistency checking tool
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-checkds\fR\ 'u
- \fBdnssec\-checkds\fR
- [\fB\-l\ \fR\fB\fIdomain\fR\fR]
- [\fB\-f\ \fR\fB\fIfile\fR\fR]
- [\fB\-d\ \fR\fB\fIdig\ path\fR\fR]
- [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR]
- {zone}
- .HP \w'\fBdnssec\-dsfromkey\fR\ 'u
- \fBdnssec\-dsfromkey\fR
- [\fB\-l\ \fR\fB\fIdomain\fR\fR]
- [\fB\-f\ \fR\fB\fIfile\fR\fR]
- [\fB\-d\ \fR\fB\fIdig\ path\fR\fR]
- [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR]
- {zone}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-checkds\fR\ 'u
+\fBdnssec\-checkds\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone}
+.HP \w'\fBdnssec\-dsfromkey\fR\ 'u
+\fBdnssec\-dsfromkey\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone}
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-checkds\fR
verifies the correctness of Delegation Signer (DS) or DNSSEC Lookaside Validation (DLV) resource records for keys in a specified zone\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-f \fIfile\fR
.RS 4
- If a
+If a
\fBfile\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-l \fIdomain\fR
.RS 4
- Check for a DLV record in the specified lookaside domain, instead of checking for a DS record in the zone\*(Aqs parent\&.
- .RE
- .PP
+Check for a DLV record in the specified lookaside domain, instead of checking for a DS record in the zone\*(Aqs parent\&.
+.RE
+.PP
\-d \fIdig path\fR
.RS 4
- Specifies a path to a
+Specifies a path to a
\fBdig\fR
binary\&. Used for testing\&.
- .RE
- .PP
+.RE
+.PP
\-D \fIdsfromkey path\fR
.RS 4
- Specifies a path to a
+Specifies a path to a
\fBdnssec\-dsfromkey\fR
binary\&. Used for testing\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBdnssec-dsfromkey\fR(8),
\fBdnssec-keygen\fR(8),
\fBdnssec-signzone\fR(8),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-coverage \- checks future DNSKEY coverage for a zone
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-coverage\fR\ 'u
- \fBdnssec\-coverage\fR
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-l\ \fR\fB\fIlength\fR\fR]
- [\fB\-f\ \fR\fB\fIfile\fR\fR]
- [\fB\-d\ \fR\fB\fIDNSKEY\ TTL\fR\fR]
- [\fB\-m\ \fR\fB\fImax\ TTL\fR\fR]
- [\fB\-r\ \fR\fB\fIinterval\fR\fR]
- [\fB\-c\ \fR\fB\fIcompilezone\ path\fR\fR]
- [\fB\-k\fR]
- [\fB\-z\fR]
- [zone...]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-coverage\fR\ 'u
+\fBdnssec\-coverage\fR [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-l\ \fR\fB\fIlength\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIDNSKEY\ TTL\fR\fR] [\fB\-m\ \fR\fB\fImax\ TTL\fR\fR] [\fB\-r\ \fR\fB\fIinterval\fR\fR] [\fB\-c\ \fR\fB\fIcompilezone\ path\fR\fR] [\fB\-k\fR] [\fB\-z\fR] [zone...]
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-coverage\fR
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\&.
- .PP
+.PP
If
\fBzone\fR
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\&., publication, activation, inactivation, deletion)\&. The list of events is walked in order of occurrence\&. Warnings are generated if any event is scheduled which could cause the zone to enter a state in which validation failures might occur: for example, if the number of published or active keys for a given algorithm drops to zero, or if a key is deleted from the zone too soon after a new key is rolled, and cached data signed by the prior key has not had time to expire from resolver caches\&.
- .PP
+.PP
If
\fBzone\fR
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\&.)
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-K \fIdirectory\fR
.RS 4
- Sets the directory in which keys can be found\&. Defaults to the current working directory\&.
- .RE
- .PP
+Sets the directory in which keys can be found\&. Defaults to the current working directory\&.
+.RE
+.PP
\-f \fIfile\fR
.RS 4
- If a
+If a
\fBfile\fR
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
\fB\-m\fR
and
\fB\-d\fR
options do not need to be specified on the command line\&.
- .RE
- .PP
+.RE
+.PP
\-l \fIduration\fR
.RS 4
- The length of time to check for DNSSEC coverage\&. Key events scheduled further into the future than
+The length of time to check for DNSSEC coverage\&. Key events scheduled further into the future than
\fBduration\fR
will be ignored, and assumed to be correct\&.
.sp
- The value of
+The value of
\fBduration\fR
can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&.
- .RE
- .PP
+.RE
+.PP
\-m \fImaximum TTL\fR
.RS 4
- 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 deactivated, there must be enough time for the record in the zone with the longest TTL to have expired from resolver caches before that key can be purged from the DNSKEY RRset\&. If that condition does not apply, a warning will be generated\&.
+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 deactivated, there must be enough time for the record in the zone with the longest TTL to have expired from resolver caches before that key can be purged from the DNSKEY RRset\&. If that condition does not apply, a warning will be generated\&.
.sp
- The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&.
+The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&.
.sp
- This option is not necessary if the
+This option is not necessary if the
\fB\-f\fR
has been used to specify a zone file\&. If
\fB\-f\fR
has been specified, this option may still be used; it will override the value found in the file\&.
.sp
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-d \fIDNSKEY TTL\fR
.RS 4
- 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 is, replaced with a new key), there must be enough time for the old DNSKEY RRset to have expired from resolver caches before the new key is activated and begins generating signatures\&. If that condition does not apply, a warning will be generated\&.
+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 is, replaced with a new key), there must be enough time for the old DNSKEY RRset to have expired from resolver caches before the new key is activated and begins generating signatures\&. If that condition does not apply, a warning will be generated\&.
.sp
- The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&.
+The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&.
.sp
- This option is not necessary if
+This option is not necessary if
\fB\-f\fR
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 set using ith the
\fB\-L\fR
to
\fBdnssec\-keygen\fR\&. If either of those is true, this option may still be used; it will override the values found in the zone file or the key file\&.
.sp
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\-r \fIresign interval\fR
.RS 4
- 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 22\&.5 days, which is also the default in
+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 22\&.5 days, which is also the default in
\fBnamed\fR\&. However, if it has been changed by the
\fBsig\-validity\-interval\fR
option in
named\&.conf, then it should also be changed here\&.
.sp
- The length of the interval can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&.
- .RE
- .PP
+The length of the interval can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&.
+.RE
+.PP
\-k
.RS 4
- Only check KSK coverage; ignore ZSK events\&. Cannot be used with
+Only check KSK coverage; ignore ZSK events\&. Cannot be used with
\fB\-z\fR\&.
- .RE
- .PP
+.RE
+.PP
\-z
.RS 4
- Only check ZSK coverage; ignore KSK events\&. Cannot be used with
+Only check ZSK coverage; ignore KSK events\&. Cannot be used with
\fB\-k\fR\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIcompilezone path\fR
.RS 4
- Specifies a path to a
+Specifies a path to a
\fBnamed\-compilezone\fR
binary\&. Used for testing\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBdnssec-checkds\fR(8),
\fBdnssec-dsfromkey\fR(8),
\fBdnssec-keygen\fR(8),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnssec-keymgr \- Ensures correct DNSKEY coverage for a zone based on a defined policy
- .SH "SYNOPSIS"
- .HP \w'\fBdnssec\-keymgr\fR\ 'u
- \fBdnssec\-keymgr\fR
- [\fB\-K\ \fR\fB\fIdirectory\fR\fR]
- [\fB\-c\ \fR\fB\fIfile\fR\fR]
- [\fB\-f\fR]
- [\fB\-k\fR]
- [\fB\-q\fR]
- [\fB\-v\fR]
- [\fB\-z\fR]
- [\fB\-g\ \fR\fB\fIpath\fR\fR]
- [\fB\-r\ \fR\fB\fIpath\fR\fR]
- [\fB\-s\ \fR\fB\fIpath\fR\fR]
- [zone...]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnssec\-keymgr\fR\ 'u
+\fBdnssec\-keymgr\fR [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-c\ \fR\fB\fIfile\fR\fR] [\fB\-f\fR] [\fB\-k\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-z\fR] [\fB\-g\ \fR\fB\fIpath\fR\fR] [\fB\-r\ \fR\fB\fIpath\fR\fR] [\fB\-s\ \fR\fB\fIpath\fR\fR] [zone...]
+.SH "DESCRIPTION"
+.PP
\fBdnssec\-keymgr\fR
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:
\fBdnssec\-keygen\fR
and
\fBdnssec\-settime\fR\&.
- .PP
+.PP
DNSSEC policy can be read from a configuration file (default
/etc/dnssec\-policy\&.conf), from which the key parameters, publication and rollover schedule, and desired coverage duration for any given zone can be determined\&. This file may be used to define individual DNSSEC policies on a per\-zone basis, or to set a "default" policy used for all zones\&.
- .PP
+.PP
When
\fBdnssec\-keymgr\fR
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\&.
- .PP
+.PP
A zone policy can specify a duration for which we want to ensure the key correctness (\fBcoverage\fR)\&. It can also specify a rollover period (\fBroll\-period\fR)\&. If policy indicates that a key should roll over before the coverage period ends, then a successor key will automatically be created and added to the end of the key series\&.
- .PP
+.PP
If zones are specified on the command line,
\fBdnssec\-keymgr\fR
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\&.
- .PP
+.PP
If zones are
\fInot\fR
specified on the command line, then
will search the key directory (either the current working directory or the directory set by the
\fB\-K\fR
option), and check the keys for all the zones represented in the directory\&.
- .PP
+.PP
Key times that are in the past will not be updated unless the
\fB\-f\fR
is used (see below)\&. Key inactivation and deletion times that are less than five minutes in the future will be delayed by five minutes\&.
- .PP
+.PP
It is expected that this tool will be run automatically and unattended (for example, by
\fBcron\fR)\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-c \fIfile\fR
.RS 4
- If
+If
\fB\-c\fR
is specified, then the DNSSEC policy is read from
\fBfile\fR\&. (If not specified, then the policy is read from
/etc/dnssec\-policy\&.conf; if that file doesn\*(Aqt exist, a built\-in global default policy is used\&.)
- .RE
- .PP
+.RE
+.PP
\-f
.RS 4
- 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, if a set of keys has been generated all of which have publication and activation dates in the past, but the 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\&.
- .RE
- .PP
+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, if a set of keys has been generated all of which have publication and activation dates in the past, but the 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\&.
+.RE
+.PP
\-g \fIkeygen\-path\fR
.RS 4
- Specifies a path to a
+Specifies a path to a
\fBdnssec\-keygen\fR
binary\&. Used for testing\&. See also the
\fB\-s\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-h
.RS 4
- Print the
+Print the
\fBdnssec\-keymgr\fR
help summary and exit\&.
- .RE
- .PP
+.RE
+.PP
\-K \fIdirectory\fR
.RS 4
- Sets the directory in which keys can be found\&. Defaults to the current working directory\&.
- .RE
- .PP
+Sets the directory in which keys can be found\&. Defaults to the current working directory\&.
+.RE
+.PP
\-k
.RS 4
- Only apply policies to KSK keys\&. See also the
+Only apply policies to KSK keys\&. See also the
\fB\-z\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-q
.RS 4
- Quiet: suppress printing of
+Quiet: suppress printing of
\fBdnssec\-keygen\fR
and
\fBdnssec\-settime\fR\&.
- .RE
- .PP
+.RE
+.PP
\-r \fIrandomdev\fR
.RS 4
- Specifies a path to a file containing random data\&. This is passed to the
+Specifies a path to a file containing random data\&. This is passed to the
\fBdnssec\-keygen\fR
binary using its
\fB\-r\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-s \fIsettime\-path\fR
.RS 4
- Specifies a path to a
+Specifies a path to a
\fBdnssec\-settime\fR
binary\&. Used for testing\&. See also the
\fB\-g\fR
option\&.
- .RE
- .PP
+.RE
+.PP
\-v
.RS 4
- Print the
+Print the
\fBdnssec\-keymgr\fR
version and exit\&.
- .RE
- .PP
+.RE
+.PP
\-z
.RS 4
- Only apply policies to ZSK keys\&. See also the
+Only apply policies to ZSK keys\&. See also the
\fB\-k\fR
option\&.
- .RE
- .SH "POLICY CONFIGURATION"
- .PP
+.RE
+.SH "POLICY CONFIGURATION"
+.PP
The
dnssec\-policy\&.conf
file can specify three kinds of policies:
.sp -1
.IP \(bu 2.3
.\}
- \fIPolicy classes\fR
+\fIPolicy classes\fR
(\fBpolicy \fR\fB\fIname\fR\fR\fB { \&.\&.\&. };\fR) can be inherited by zone policies or other policy classes; these can be used to create sets of different security profiles\&. For example, a policy class
\fBnormal\fR
might specify 1024\-bit key sizes, but a class
might specify 2048 bits instead;
\fBextra\fR
would be used for zones that had unusually high security needs\&.
- .RE
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- \fIAlgorithm policies:\fR
+\fIAlgorithm policies:\fR
(\fBalgorithm\-policy \fR\fB\fIalgorithm\fR\fR\fB { \&.\&.\&. };\fR
) 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
\fBalgorithm\-policy\fR, and the new key sizes would then be used for any key of type RSASHA256\&.
- .RE
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- \fIZone policies:\fR
+\fIZone policies:\fR
(\fBzone \fR\fB\fIname\fR\fR\fB { \&.\&.\&. };\fR
) set policy for a single zone by name\&. A zone policy can inherit a policy class by including a
\fBpolicy\fR
option\&. Zone names beginning with digits (i\&.e\&., 0\-9) must be quoted\&. If a zone does not have its own policy then the "default" policy applies\&.
- .RE
- .PP
+.RE
+.PP
Options that can be specified in policies:
- .PP
+.PP
\fBalgorithm\fR \fIname\fR;
.RS 4
- The key algorithm\&. If no policy is defined, the default is RSASHA256\&.
- .RE
- .PP
+The key algorithm\&. If no policy is defined, the default is RSASHA256\&.
+.RE
+.PP
\fBcoverage\fR \fIduration\fR;
.RS 4
- 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 using human\-readable units (examples: "1y" or "6 months")\&. 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\&.
- .RE
- .PP
+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 using human\-readable units (examples: "1y" or "6 months")\&. 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\&.
+.RE
+.PP
\fBdirectory\fR \fIpath\fR;
.RS 4
- Specifies the directory in which keys should be stored\&.
- .RE
- .PP
+Specifies the directory in which keys should be stored\&.
+.RE
+.PP
\fBkey\-size\fR \fIkeytype\fR \fIsize\fR;
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fBkeyttl\fR \fIduration\fR;
.RS 4
- The key TTL\&. If no policy is defined, the default is one hour\&.
- .RE
- .PP
+The key TTL\&. If no policy is defined, the default is one hour\&.
+.RE
+.PP
\fBpost\-publish\fR \fIkeytype\fR \fIduration\fR;
.RS 4
- How long after inactivation a key should be deleted from the zone\&. Note: If
+How long after inactivation a key should be deleted from the zone\&. Note: If
\fBroll\-period\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\fBpre\-publish\fR \fIkeytype\fR \fIduration\fR;
.RS 4
- How long before activation a key should be published\&. Note: If
+How long before activation a key should be published\&. Note: If
\fBroll\-period\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\fBroll\-period\fR \fIkeytype\fR \fIduration\fR;
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fBstandby\fR \fIkeytype\fR \fInumber\fR;
.RS 4
- Not yet implemented\&.
- .RE
- .SH "REMAINING WORK"
+Not yet implemented\&.
+.RE
+.SH "REMAINING WORK"
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- Enable scheduling of KSK rollovers using the
+Enable scheduling of KSK rollovers using the
\fB\-P sync\fR
and
\fB\-D sync\fR
and
\fBdnssec\-settime\fR\&. Check the parent zone (as in
\fBdnssec\-checkds\fR) to determine when it\*(Aqs safe for the key to roll\&.
- .RE
+.RE
.sp
.RS 4
.ie n \{\
.sp -1
.IP \(bu 2.3
.\}
- Allow configuration of standby keys and use of the REVOKE bit, for keys that use RFC 5011 semantics\&.
- .RE
- .SH "SEE ALSO"
- .PP
+Allow configuration of standby keys and use of the REVOKE bit, for keys that use RFC 5011 semantics\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBdnssec-coverage\fR(8),
\fBdnssec-keygen\fR(8),
\fBdnssec-settime\fR(8),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
rndc \- name server control utility
- .SH "SYNOPSIS"
- .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
+.SH "SYNOPSIS"
+.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
\fBrndc\fR
controls the operation of a name server\&. It supersedes the
\fBndc\fR
utility that was provided in old BIND releases\&. If
\fBrndc\fR
is invoked with no command line options or arguments, it prints a short summary of the supported commands and the available options and their arguments\&.
- .PP
+.PP
\fBrndc\fR
communicates with the name server over a TCP connection, sending commands authenticated with digital signatures\&. In the current versions of
\fBrndc\fR
and
\fBnamed\fR, the only supported authentication algorithms are HMAC\-MD5 (for compatibility), HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256 (default), HMAC\-SHA384 and HMAC\-SHA512\&. They use a shared secret on each end of the connection\&. This provides TSIG\-style authentication for the command request and the name server\*(Aqs response\&. All commands sent over the channel must be signed by a key_id known to the server\&.
- .PP
+.PP
\fBrndc\fR
reads a configuration file to determine how to contact the name server and decide what algorithm and key it should use\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-b \fIsource\-address\fR
.RS 4
- Use
+Use
\fIsource\-address\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\-c \fIconfig\-file\fR
.RS 4
- Use
+Use
\fIconfig\-file\fR
as the configuration file instead of the default,
/etc/rndc\&.conf\&.
- .RE
- .PP
+.RE
+.PP
\-k \fIkey\-file\fR
.RS 4
- Use
+Use
\fIkey\-file\fR
as the key file instead of the default,
/etc/rndc\&.key\&. The key in
will be used to authenticate commands sent to the server if the
\fIconfig\-file\fR
does not exist\&.
- .RE
- .PP
+.RE
+.PP
\-s \fIserver\fR
.RS 4
- \fIserver\fR
+\fIserver\fR
is the name or address of the server which matches a server statement in the configuration file for
\fBrndc\fR\&. If no server is supplied on the command line, the host named by the default\-server clause in the options statement of the
\fBrndc\fR
configuration file will be used\&.
- .RE
- .PP
+.RE
+.PP
\-p \fIport\fR
.RS 4
- Send commands to TCP port
+Send commands to TCP port
\fIport\fR
instead of BIND 9\*(Aqs default control channel port, 953\&.
- .RE
- .PP
+.RE
+.PP
\-q
.RS 4
- Quiet mode: Message text returned by the server will not be printed except when there is an error\&.
- .RE
- .PP
+Quiet mode: Message text returned by the server will not be printed except when there is an error\&.
+.RE
+.PP
\-r
.RS 4
- Instructs
+Instructs
\fBrndc\fR
to print the result code returned by
\fBnamed\fR
after executing the requested command (e\&.g\&., ISC_R_SUCCESS, ISC_R_FAILURE, etc)\&.
- .RE
- .PP
+.RE
+.PP
\-V
.RS 4
- Enable verbose logging\&.
- .RE
- .PP
+Enable verbose logging\&.
+.RE
+.PP
\-y \fIkey_id\fR
.RS 4
- Use the key
+Use the key
\fIkey_id\fR
from the configuration file\&.
\fIkey_id\fR
is specified,
\fBrndc\fR
will first look for a key clause in the server statement of the server being used, or if no server statement is present for that host, then the default\-key clause of the options statement\&. Note that the configuration file contains shared secrets which are used to send authenticated control commands to name servers\&. It should therefore not have general read or write access\&.
- .RE
- .SH "COMMANDS"
- .PP
+.RE
+.SH "COMMANDS"
+.PP
A list of commands supported by
\fBrndc\fR
can be seen by running
\fBrndc\fR
without arguments\&.
- .PP
+.PP
Currently supported commands are:
- .PP
+.PP
\fBaddzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR\fB\fIconfiguration\fR\fR\fB \fR
.RS 4
- Add a zone while the server is running\&. This command requires the
+Add a zone while the server is running\&. This command requires the
\fBallow\-new\-zones\fR
option to be set to
\fByes\fR\&. The
string specified on the command line is the zone configuration text that would ordinarily be placed in
named\&.conf\&.
.sp
- The configuration is saved in a file called
+The configuration is saved in a file called
\fIname\fR\&.nzf, where
\fIname\fR
is the name of the view, or if it contains characters that are incompatible with use as a file name, a cryptographic hash generated from the name of the view\&. When
\fBnamed\fR
is restarted, the file will be loaded into the view configuration, so that zones that were added can persist after a restart\&.
.sp
- This sample
+This sample
\fBaddzone\fR
command would add the zone
example\&.com
to the default view:
.sp
- $\fBrndc addzone example\&.com \*(Aq{ type master; file "example\&.com\&.db"; };\*(Aq\fR
+$\fBrndc addzone example\&.com \*(Aq{ type master; file "example\&.com\&.db"; };\*(Aq\fR
.sp
- (Note the brackets and semi\-colon around the zone configuration text\&.)
+(Note the brackets and semi\-colon around the zone configuration text\&.)
.sp
- See also
+See also
\fBrndc delzone\fR
and
\fBrndc modzone\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBdelzone \fR\fB[\-clean]\fR\fB \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
.RS 4
- Delete a zone while the server is running\&.
+Delete a zone while the server is running\&.
.sp
- If the
+If the
\fB\-clean\fR
argument is specified, the zone\*(Aqs master file (and journal file, if any) will be deleted along with the zone\&. Without the
\fB\-clean\fR
\fBrndc delzone\fR
command\&.)
.sp
- If the zone was originally added via
+If the zone was originally added via
\fBrndc addzone\fR, then it will be removed permanently\&. However, if it was originally configured in
named\&.conf, then that original configuration is still in place; when the server is restarted or reconfigured, the zone will come back\&. To remove it permanently, it must also be removed from
named\&.conf
.sp
- See also
+See also
\fBrndc addzone\fR
and
\fBrndc modzone\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBdnstap ( \-reopen | \-roll \fR\fB[\fInumber\fR]\fR\fB )\fR
.RS 4
- Close and re\-open DNSTAP output files\&.
+Close and re\-open DNSTAP output files\&.
\fBrndc dnstap \-reopen\fR
allows the output file to be renamed externally, so that
\fBnamed\fR
causes the output file to be rolled automatically, similar to log files; the most recent output file has "\&.0" appended to its name; the previous most recent output file is moved to "\&.1", and so on\&. If
\fInumber\fR
is specified, then the number of backup log files is limited to that number\&.
- .RE
- .PP
+.RE
+.PP
\fBdumpdb \fR\fB[\-all|\-cache|\-zones|\-adb|\-bad|\-fail]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR
.RS 4
- Dump the server\*(Aqs caches (default) and/or zones to the dump file for the specified views\&. If no view is specified, all views are dumped\&. (See the
+Dump the server\*(Aqs caches (default) and/or zones to the dump file for the specified views\&. If no view is specified, all views are dumped\&. (See the
\fBdump\-file\fR
option in the BIND 9 Administrator Reference Manual\&.)
- .RE
- .PP
+.RE
+.PP
\fBflush\fR
.RS 4
- Flushes the server\*(Aqs cache\&.
- .RE
- .PP
+Flushes the server\*(Aqs cache\&.
+.RE
+.PP
\fBflushname\fR \fIname\fR [\fIview\fR]
.RS 4
- Flushes the given name from the view\*(Aqs DNS cache and, if applicable, from the view\*(Aqs nameserver address database, bad server cache and SERVFAIL cache\&.
- .RE
- .PP
+Flushes the given name from the view\*(Aqs DNS cache and, if applicable, from the view\*(Aqs nameserver address database, bad server cache and SERVFAIL cache\&.
+.RE
+.PP
\fBflushtree\fR \fIname\fR [\fIview\fR]
.RS 4
- Flushes the given name, and all of its subdomains, from the view\*(Aqs DNS cache, address database, bad server cache, and SERVFAIL cache\&.
- .RE
- .PP
+Flushes the given name, and all of its subdomains, from the view\*(Aqs DNS cache, address database, bad server cache, and SERVFAIL cache\&.
+.RE
+.PP
\fBfreeze \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
.RS 4
- 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 dynamic update\&. It also causes changes in the journal file to be synced into the master file\&. All dynamic update attempts will be refused while the zone is frozen\&.
+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 dynamic update\&. It also causes changes in the journal file to be synced into the master file\&. All dynamic update attempts will be refused while the zone is frozen\&.
.sp
- See also
+See also
\fBrndc thaw\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBhalt \fR\fB[\-p]\fR
.RS 4
- 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 journal files when the server is restarted\&. If
+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 journal files when the server is restarted\&. If
\fB\-p\fR
is specified
\fBnamed\fR\*(Aqs process id is returned\&. This allows an external process to determine when
\fBnamed\fR
had completed halting\&.
.sp
- See also
+See also
\fBrndc stop\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBloadkeys \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- Fetch all DNSSEC keys for the given zone from the key directory\&. If they are within their publication period, merge them into the zone\*(Aqs DNSKEY RRset\&. Unlike
+Fetch all DNSSEC keys for the given zone from the key directory\&. If they are within their publication period, merge them into the zone\*(Aqs DNSKEY RRset\&. Unlike
\fBrndc sign\fR, however, the zone is not immediately re\-signed by the new keys, but is allowed to incrementally re\-sign over time\&.
.sp
- This command requires that the
+This command requires that the
\fBauto\-dnssec\fR
zone option be set to
maintain, and also requires the zone to be configured to allow dynamic DNS\&. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details\&.)
- .RE
- .PP
+.RE
+.PP
\fBmanaged\-keys \fR\fB\fI(status | refresh | sync)\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- 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 with the "refresh" keyword, force an immediate refresh of all the managed\-keys in the specified view, or all views\&. When run with the "sync" keyword, force an immediate dump of the managed\-keys database to disk (in the file
+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 with the "refresh" keyword, force an immediate refresh of all the managed\-keys in the specified view, or all views\&. When run with the "sync" keyword, force an immediate dump of the managed\-keys database to disk (in the file
managed\-keys\&.bind
or (\fIviewname\fR\&.mkeys)\&.
- .RE
- .PP
+.RE
+.PP
\fBmodzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR\fB\fIconfiguration\fR\fR\fB \fR
.RS 4
- Modify the configuration of a zone while the server is running\&. This command requires the
+Modify the configuration of a zone while the server is running\&. This command requires the
\fBallow\-new\-zones\fR
option to be set to
\fByes\fR\&. As with
string specified on the command line is the zone configuration text that would ordinarily be placed in
named\&.conf\&.
.sp
- If the zone was originally added via
+If the zone was originally added via
\fBrndc addzone\fR, the configuration changes will be recorded permanently and will still be in effect after the server is restarted or reconfigured\&. However, if it was originally configured in
named\&.conf, then that original configuration is still in place; when the server is restarted or reconfigured, the zone will revert to its original configuration\&. To make the changes permanent, it must also be modified in
named\&.conf
.sp
- See also
+See also
\fBrndc addzone\fR
and
\fBrndc delzone\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBnotify \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- Resend NOTIFY messages for the zone\&.
- .RE
- .PP
+Resend NOTIFY messages for the zone\&.
+.RE
+.PP
\fBnotrace\fR
.RS 4
- Sets the server\*(Aqs debugging level to 0\&.
+Sets the server\*(Aqs debugging level to 0\&.
.sp
- See also
+See also
\fBrndc trace\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBnta \fR\fB[( \-class \fIclass\fR | \-dump | \-force | \-remove | \-lifetime \fIduration\fR)]\fR\fB \fR\fB\fIdomain\fR\fR\fB \fR\fB[\fIview\fR]\fR\fB \fR
.RS 4
- Sets a DNSSEC negative trust anchor (NTA) for
+Sets a DNSSEC negative trust anchor (NTA) for
\fBdomain\fR, with a lifetime of
\fBduration\fR\&. The default lifetime is configured in
named\&.conf
\fBnta\-lifetime\fR
option, and defaults to one hour\&. The lifetime cannot exceed one week\&.
.sp
- A negative trust anchor selectively disables DNSSEC validation for zones that are known to be failing because of misconfiguration rather than an attack\&. When data to be validated is at or below an active NTA (and above any other configured trust anchors),
+A negative trust anchor selectively disables DNSSEC validation for zones that are known to be failing because of misconfiguration rather than an attack\&. When data to be validated is at or below an active NTA (and above any other configured trust anchors),
\fBnamed\fR
will abort the DNSSEC validation process and treat the data as insecure rather than bogus\&. This continues until the NTA\*(Aqs lifetime is elapsed\&.
.sp
- NTAs persist across restarts of the
+NTAs persist across restarts of the
\fBnamed\fR
server\&. The NTAs for a view are saved in a file called
\fIname\fR\&.nta, where
\fIname\fR
is the name of the view, or if it contains characters that are incompatible with use as a file name, a cryptographic hash generated from the name of the view\&.
.sp
- An existing NTA can be removed by using the
+An existing NTA can be removed by using the
\fB\-remove\fR
option\&.
.sp
- An NTA\*(Aqs lifetime can be specified with the
+An NTA\*(Aqs lifetime can be specified with the
\fB\-lifetime\fR
option\&. TTL\-style suffixes can be used to specify the lifetime in seconds, minutes, or hours\&. If the specified NTA already exists, its lifetime will be updated to the new value\&. Setting
\fBlifetime\fR
to zero is equivalent to
\fB\-remove\fR\&.
.sp
- If the
+If the
\fB\-dump\fR
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)\&.
.sp
- Normally,
+Normally,
\fBnamed\fR
will periodically test to see whether data below an NTA can now be validated (see the
\fBnta\-recheck\fR
\fB\-force\fR
overrides this behavior and forces an NTA to persist for its entire lifetime, regardless of whether data could be validated if the NTA were not present\&.
.sp
- The view class can be specified with
+The view class can be specified with
\fB\-class\fR\&. The default is class
\fBIN\fR, which is the only class for which DNSSEC is currently supported\&.
.sp
- All of these options can be shortened, i\&.e\&., to
+All of these options can be shortened, i\&.e\&., to
\fB\-l\fR,
\fB\-r\fR,
\fB\-d\fR,
\fB\-f\fR, and
\fB\-c\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBquerylog\fR [ on | off ]
.RS 4
- Enable or disable query logging\&. (For backward compatibility, this command can also be used without an argument to toggle query logging on and off\&.)
+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
+Query logging can also be enabled by explicitly directing the
\fBqueries\fR
\fBcategory\fR
to a
\fBoptions\fR
section of
named\&.conf\&.
- .RE
- .PP
+.RE
+.PP
\fBreconfig\fR
.RS 4
- Reload the configuration file and load new zones, but do not reload existing zone files even if they have changed\&. This is faster than a full
+Reload the configuration file and load new zones, but do not reload existing zone files even if they have changed\&. This is faster than a full
\fBreload\fR
when there is a large number of zones because it avoids the need to examine the modification times of the zones files\&.
- .RE
- .PP
+.RE
+.PP
\fBrecursing\fR
.RS 4
- Dump the list of queries
+Dump the list of queries
\fBnamed\fR
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
\fBfetches\-per\-zone\fR
option\&.)
- .RE
- .PP
+.RE
+.PP
\fBrefresh \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- Schedule zone maintenance for the given zone\&.
- .RE
- .PP
+Schedule zone maintenance for the given zone\&.
+.RE
+.PP
\fBreload\fR
.RS 4
- Reload configuration file and zones\&.
- .RE
- .PP
+Reload configuration file and zones\&.
+.RE
+.PP
\fBreload \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- Reload the given zone\&.
- .RE
- .PP
+Reload the given zone\&.
+.RE
+.PP
\fBretransfer \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- Retransfer the given slave zone from the master server\&.
+Retransfer the given slave zone from the master server\&.
.sp
- If the zone is configured to use
+If the zone is configured to use
\fBinline\-signing\fR, the signed version of the zone is discarded; after the retransfer of the unsigned version is complete, the signed version will be regenerated with all new signatures\&.
- .RE
- .PP
+.RE
+.PP
\fBscan\fR
.RS 4
- Scan the list of available network interfaces for changes, without performing a full
+Scan the list of available network interfaces for changes, without performing a full
\fBreconfig\fR
or waiting for the
\fBinterface\-interval\fR
timer\&.
- .RE
- .PP
+.RE
+.PP
\fBsecroots \fR\fB[\-]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR
.RS 4
- Dump the server\*(Aqs security roots and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&.
+Dump the server\*(Aqs security roots and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&.
.sp
- If the first argument is "\-", then the output is returned via the
+If the first argument is "\-", then the output is returned via the
\fBrndc\fR
response channel and printed to the standard output\&. Otherwise, it is written to the secroots dump file, which defaults to
named\&.secroots, but can be overridden via the
option in
named\&.conf\&.
.sp
- See also
+See also
\fBrndc managed\-keys\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBshowzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
.RS 4
- Print the configuration of a running zone\&.
+Print the configuration of a running zone\&.
.sp
- See also
+See also
\fBrndc zonestatus\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBsign \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- Fetch all DNSSEC keys for the given zone from the key directory (see the
+Fetch all DNSSEC keys for the given zone from the key directory (see the
\fBkey\-directory\fR
option in the BIND 9 Administrator Reference Manual)\&. If they are within their publication period, merge them into the zone\*(Aqs DNSKEY RRset\&. If the DNSKEY RRset is changed, then the zone is automatically re\-signed with the new key set\&.
.sp
- This command requires that the
+This command requires that the
\fBauto\-dnssec\fR
zone option be set to
allow
or
maintain, and also requires the zone to be configured to allow dynamic DNS\&. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details\&.)
.sp
- See also
+See also
\fBrndc loadkeys\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBsigning \fR\fB[( \-list | \-clear \fIkeyid/algorithm\fR | \-clear all | \-nsec3param ( \fIparameters\fR | none ) | \-serial \fIvalue\fR ) ]\fR\fB \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR
.RS 4
- List, edit, or remove the DNSSEC signing state records for the specified zone\&. The status of ongoing DNSSEC operations (such as signing or generating NSEC3 chains) is stored in the zone in the form of DNS resource records of type
+List, edit, or remove the DNSSEC signing state records for the specified zone\&. The status of ongoing DNSSEC operations (such as signing or generating NSEC3 chains) is stored in the zone in the form of DNS resource records of type
\fBsig\-signing\-type\fR\&.
\fBrndc signing \-list\fR
converts these records into a human\-readable form, indicating which keys are currently signing or have finished signing the zone, and which NSEC3 chains are being created or removed\&.
.sp
- \fBrndc signing \-clear\fR
+\fBrndc signing \-clear\fR
can remove a single key (specified in the same format that
\fBrndc signing \-list\fR
uses to display it), or all keys\&. In either case, only completed keys are removed; any record indicating that a key has not yet finished signing the zone will be retained\&.
.sp
- \fBrndc signing \-nsec3param\fR
+\fBrndc signing \-nsec3param\fR
sets the NSEC3 parameters for a zone\&. This is the only supported mechanism for using NSEC3 with
\fBinline\-signing\fR
zones\&. Parameters are specified in the same format as an NSEC3PARAM resource record: hash algorithm, flags, iterations, and salt, in that order\&.
.sp
- Currently, the only defined value for hash algorithm is
+Currently, the only defined value for hash algorithm is
1, representing SHA\-1\&. The
\fBflags\fR
may be set to
\fBnamed\fR
to generate a random 64\-bit salt\&.
.sp
- 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:
+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:
\fBrndc signing \-nsec3param 1 0 10 FFFF \fR\fB\fIzone\fR\fR\&. To set the opt\-out flag, 15 iterations, and no salt, use:
\fBrndc signing \-nsec3param 1 1 15 \- \fR\fB\fIzone\fR\fR\&.
.sp
- \fBrndc signing \-nsec3param none\fR
+\fBrndc signing \-nsec3param none\fR
removes an existing NSEC3 chain and replaces it with NSEC\&.
.sp
- \fBrndc signing \-serial value\fR
+\fBrndc signing \-serial value\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\fBstats\fR
.RS 4
- Write server statistics to the statistics file\&. (See the
+Write server statistics to the statistics file\&. (See the
\fBstatistics\-file\fR
option in the BIND 9 Administrator Reference Manual\&.)
- .RE
- .PP
+.RE
+.PP
\fBstatus\fR
.RS 4
- Display status of the server\&. Note that the number of zones includes the internal
+Display status of the server\&. Note that the number of zones includes the internal
\fBbind/CH\fR
zone and the default
\fB\&./IN\fR
hint zone if there is not an explicit root zone configured\&.
- .RE
- .PP
+.RE
+.PP
\fBstop \fR\fB[\-p]\fR
.RS 4
- 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\&. If
+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\&. If
\fB\-p\fR
is specified
\fBnamed\fR\*(Aqs process id is returned\&. This allows an external process to determine when
\fBnamed\fR
had completed stopping\&.
.sp
- See also
+See also
\fBrndc halt\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBsync \fR\fB[\-clean]\fR\fB \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fBthaw \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR
.RS 4
- 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 from disk, and re\-enables dynamic updates after the load has completed\&. After a zone is thawed, dynamic updates will no longer be refused\&. If the zone has changed and the
+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 from disk, and re\-enables dynamic updates after the load has completed\&. After a zone is thawed, dynamic updates will no longer be refused\&. If the zone has changed and the
\fBixfr\-from\-differences\fR
option is in use, then the journal file will be updated to reflect changes in the zone\&. Otherwise, if the zone has changed, any existing journal file will be removed\&.
.sp
- See also
+See also
\fBrndc freeze\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBtrace\fR
.RS 4
- Increment the servers debugging level by one\&.
- .RE
- .PP
+Increment the servers debugging level by one\&.
+.RE
+.PP
\fBtrace \fR\fB\fIlevel\fR\fR
.RS 4
- Sets the server\*(Aqs debugging level to an explicit value\&.
+Sets the server\*(Aqs debugging level to an explicit value\&.
.sp
- See also
+See also
\fBrndc notrace\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBtsig\-delete\fR \fIkeyname\fR [\fIview\fR]
.RS 4
- Delete a given TKEY\-negotiated key from the server\&. (This does not apply to statically configured TSIG keys\&.)
- .RE
- .PP
+Delete a given TKEY\-negotiated key from the server\&. (This does not apply to statically configured TSIG keys\&.)
+.RE
+.PP
\fBtsig\-list\fR
.RS 4
- List the names of all TSIG keys currently configured for use by
+List the names of all TSIG keys currently configured for use by
\fBnamed\fR
in each view\&. The list includes both statically configured keys and dynamic TKEY\-negotiated keys\&.
- .RE
- .PP
+.RE
+.PP
\fBvalidation ( on | off | status ) \fR\fB[\fIview \&.\&.\&.\fR]\fR\fB \fR
.RS 4
- Enable, disable, or check the current status of DNSSEC validation\&. Note
+Enable, disable, or check the current status of DNSSEC validation\&. Note
\fBdnssec\-enable\fR
also needs to be set to
\fByes\fR
or
\fBauto\fR
to be effective\&. It defaults to enabled\&.
- .RE
- .PP
+.RE
+.PP
\fBzonestatus \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR
.RS 4
- 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 recently loaded, the current serial number, the number of nodes, whether the zone supports dynamic updates, whether the zone is DNSSEC signed, whether it uses automatic DNSSEC key management or inline signing, and the scheduled refresh or expiry times for the zone\&.
+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 recently loaded, the current serial number, the number of nodes, whether the zone supports dynamic updates, whether the zone is DNSSEC signed, whether it uses automatic DNSSEC key management or inline signing, and the scheduled refresh or expiry times for the zone\&.
.sp
- See also
+See also
\fBrndc showzone\fR\&.
- .RE
- .SH "LIMITATIONS"
- .PP
+.RE
+.SH "LIMITATIONS"
+.PP
There is currently no way to provide the shared secret for a
\fBkey_id\fR
without using the configuration file\&.
- .PP
+.PP
Several error messages could be clearer\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBrndc.conf\fR(5),
\fBrndc-confgen\fR(8),
\fBnamed\fR(8),
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
rndc.conf \- rndc configuration file
- .SH "SYNOPSIS"
- .HP \w'\fBrndc\&.conf\fR\ 'u
- \fBrndc\&.conf\fR
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBrndc\&.conf\fR\ 'u
+\fBrndc\&.conf\fR
+.SH "DESCRIPTION"
+.PP
rndc\&.conf
is the configuration file for
\fBrndc\fR, the BIND 9 name server control utility\&. This file has a similar structure and syntax to
named\&.conf\&. 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:
- .PP
+.PP
C style: /* */
- .PP
+.PP
C++ style: // to end of line
- .PP
+.PP
Unix style: # to end of line
- .PP
+.PP
rndc\&.conf
is much simpler than
named\&.conf\&. The file uses three statements: an options statement, a server statement and a key statement\&.
- .PP
+.PP
The
\fBoptions\fR
statement contains five clauses\&. The
and
\fBdefault\-source\-address\-v6\fR
clauses which can be used to set the IPv4 and IPv6 source addresses respectively\&.
- .PP
+.PP
After the
\fBserver\fR
keyword, the server statement includes a string which is the hostname or address for a name server\&. The statement has three possible clauses:
or
\fBsource\-address\-v6\fR
of supplied then these will be used to specify the IPv4 and IPv6 source addresses respectively\&.
- .PP
+.PP
The
\fBkey\fR
statement begins with an identifying string, the name of the key\&. The statement has two clauses\&.
identifies the authentication algorithm for
\fBrndc\fR
to use; currently only HMAC\-MD5 (for compatibility), HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256 (default), HMAC\-SHA384 and HMAC\-SHA512 are supported\&. This is followed by a secret clause which contains the base\-64 encoding of the algorithm\*(Aqs authentication key\&. The base\-64 string is enclosed in double quotes\&.
- .PP
+.PP
There are two common ways to generate the base\-64 string for the secret\&. The BIND 9 program
\fBrndc\-confgen\fR
can be used to generate a random key, or the
\fBmimencode\fR, can be used to generate a base\-64 string from known input\&.
\fBmmencode\fR
does not ship with BIND 9 but is available on many systems\&. See the EXAMPLE section for sample command lines for each\&.
- .SH "EXAMPLE"
- .PP
+.SH "EXAMPLE"
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
In the above example,
\fBrndc\fR
will by default use the server at localhost (127\&.0\&.0\&.1) and the key called samplekey\&. Commands to the localhost server will use the samplekey key, which must also be defined in the server\*(Aqs configuration file with the same name and secret\&. The key statement indicates that samplekey uses the HMAC\-SHA256 algorithm and its secret clause contains the base\-64 encoding of the HMAC\-SHA256 secret enclosed in double quotes\&.
- .PP
+.PP
If
\fBrndc \-s testserver\fR
is used then
\fBrndc\fR
will connect to server on localhost port 5353 using the key testkey\&.
- .PP
+.PP
To generate a random secret with
\fBrndc\-confgen\fR:
- .PP
+.PP
\fBrndc\-confgen\fR
- .PP
+.PP
A complete
rndc\&.conf
file, including the randomly generated key, will be written to the standard output\&. Commented\-out
statements for
named\&.conf
are also printed\&.
- .PP
+.PP
To generate a base\-64 secret with
\fBmmencode\fR:
- .PP
+.PP
\fBecho "known plaintext for a secret" | mmencode\fR
- .SH "NAME SERVER CONFIGURATION"
- .PP
+.SH "NAME SERVER CONFIGURATION"
+.PP
The name server must be configured to accept rndc connections and to recognize the key specified in the
rndc\&.conf
file, using the controls statement in
named\&.conf\&. See the sections on the
\fBcontrols\fR
statement in the BIND 9 Administrator Reference Manual for details\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBrndc\fR(8),
\fBrndc-confgen\fR(8),
\fBmmencode\fR(1),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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></body>
</html>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
arpaname \- translate IP addresses to the corresponding ARPA names
- .SH "SYNOPSIS"
- .HP \w'\fBarpaname\fR\ 'u
- \fBarpaname\fR
- {\fIipaddress\ \fR...}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBarpaname\fR\ 'u
+\fBarpaname\fR {\fIipaddress\ \fR...}
+.SH "DESCRIPTION"
+.PP
\fBarpaname\fR
translates IP addresses (IPv4 and IPv6) to the corresponding IN\-ADDR\&.ARPA or IP6\&.ARPA names\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
BIND 9 Administrator Reference Manual\&.
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.8"></a><h2>SEE ALSO</h2>
-
- <p>
+<p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
- </div>
-
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
dnstap-read \- print dnstap data in human\-readable form
- .SH "SYNOPSIS"
- .HP \w'\fBdnstap\-read\fR\ 'u
- \fBdnstap\-read\fR
- [\fB\-m\fR]
- [\fB\-p\fR]
- [\fB\-y\fR]
- {\fIfile\fR}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBdnstap\-read\fR\ 'u
+\fBdnstap\-read\fR [\fB\-m\fR] [\fB\-p\fR] [\fB\-y\fR] {\fIfile\fR}
+.SH "DESCRIPTION"
+.PP
\fBdnstap\-read\fR
reads
\fBdnstap\fR
data is printed in a short summary format, but if the
\fB\-y\fR
option is specified, then a longer and more detailed YAML format is used instead\&.
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-m
.RS 4
- Trace memory allocations; used for debugging memory leaks\&.
- .RE
- .PP
+Trace memory allocations; used for debugging memory leaks\&.
+.RE
+.PP
\-p
.RS 4
- After printing the
+After printing the
\fBdnstap\fR
data, print the text form of the DNS message that was encapsulated in the
\fBdnstap\fR
frame\&.
- .RE
- .PP
+.RE
+.PP
\-y
.RS 4
- Print
+Print
\fBdnstap\fR
data in a detailed YAML format\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBnamed\fR(8),
\fBrndc\fR(8),
BIND 9 Administrator Reference Manual\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
genrandom \- generate a file containing random data
- .SH "SYNOPSIS"
- .HP \w'\fBgenrandom\fR\ 'u
- \fBgenrandom\fR
- [\fB\-n\ \fR\fB\fInumber\fR\fR]
- {\fIsize\fR}
- {\fIfilename\fR}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBgenrandom\fR\ 'u
+\fBgenrandom\fR [\fB\-n\ \fR\fB\fInumber\fR\fR] {\fIsize\fR} {\fIfilename\fR}
+.SH "DESCRIPTION"
+.PP
\fBgenrandom\fR
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\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
\-n \fInumber\fR
.RS 4
- In place of generating one file, generates
+In place of generating one file, generates
\fBnumber\fR
(from 2 to 9) files, appending
\fBnumber\fR
to the name\&.
- .RE
- .PP
+.RE
+.PP
size
.RS 4
- The size of the file, in kilobytes, to generate\&.
- .RE
- .PP
+The size of the file, in kilobytes, to generate\&.
+.RE
+.PP
filename
.RS 4
- The file name into which random data should be written\&.
- .RE
- .SH "SEE ALSO"
- .PP
+The file name into which random data should be written\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBrand\fR(3),
\fBarc4random\fR(3)
.SH "AUTHOR"
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
isc-hmac-fixup \- fixes HMAC keys generated by older versions of BIND
- .SH "SYNOPSIS"
- .HP \w'\fBisc\-hmac\-fixup\fR\ 'u
- \fBisc\-hmac\-fixup\fR
- {\fIalgorithm\fR}
- {\fIsecret\fR}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBisc\-hmac\-fixup\fR\ 'u
+\fBisc\-hmac\-fixup\fR {\fIalgorithm\fR} {\fIsecret\fR}
+.SH "DESCRIPTION"
+.PP
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 longer than 256 bits, etc) to be used incorrectly, generating a message authentication code that was incompatible with other DNS implementations\&.
- .PP
+.PP
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\&.
\fBisc\-hmac\-fixup\fR
modifies those keys to restore compatibility\&.
- .PP
+.PP
To modify a key, run
\fBisc\-hmac\-fixup\fR
and specify the key\*(Aqs algorithm and secret on the command line\&. If the secret is longer than the digest length of the algorithm (64 bytes for SHA1 through SHA256, or 128 bytes for SHA384 and SHA512), then a new secret will be generated consisting of a hash digest of the old secret\&. (If the secret did not require conversion, then it will be printed without modification\&.)
- .SH "SECURITY CONSIDERATIONS"
- .PP
+.SH "SECURITY CONSIDERATIONS"
+.PP
Secrets that have been converted by
\fBisc\-hmac\-fixup\fR
are shortened, but as this is how the HMAC protocol works in operation anyway, it does not affect security\&. RFC 2104 notes, "Keys longer than [the digest length] are acceptable but the extra length would not significantly increase the function strength\&."
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
BIND 9 Administrator Reference Manual,
RFC 2104\&.
.SH "AUTHOR"
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
mdig \- DNS pipelined lookup utility
- .SH "SYNOPSIS"
- .HP \w'\fBmdig\fR\ 'u
- \fBmdig\fR
- {@server}
- [\fB\-f\ \fR\fB\fIfilename\fR\fR]
- [\fB\-h\fR]
- [\fB\-v\fR]
- [
- | [\fB\-4\fR]
- | [\fB\-6\fR]
- ]
- [\fB\-m\fR]
- [\fB\-b\ \fR\fB\fIaddress\fR\fR]
- [\fB\-p\ \fR\fB\fIport#\fR\fR]
- [\fB\-c\ \fR\fB\fIclass\fR\fR]
- [\fB\-t\ \fR\fB\fItype\fR\fR]
- [\fB\-i\fR]
- [\fB\-x\ \fR\fB\fIaddr\fR\fR]
- [plusopt...]
- .HP \w'\fBmdig\fR\ 'u
- \fBmdig\fR
- {\-h}
- .HP \w'\fBmdig\fR\ 'u
- \fBmdig\fR
- [@server]
- {global\-opt...}
- {{local\-opt...}\ {query}...}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBmdig\fR\ 'u
+\fBmdig\fR {@server} [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-h\fR] [\fB\-v\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-m\fR] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-i\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [plusopt...]
+.HP \w'\fBmdig\fR\ 'u
+\fBmdig\fR {\-h}
+.HP \w'\fBmdig\fR\ 'u
+\fBmdig\fR [@server] {global\-opt...} {{local\-opt...}\ {query}...}
+.SH "DESCRIPTION"
+.PP
\fBmdig\fR
is a multiple/pipelined query version of
\fBdig\fR: 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\&.
- .PP
+.PP
\fBmdig\fR
options are a subset of the
\fBdig\fR
options, and are divided into "anywhere options" which can occur anywhere, "global options" which must occur before the query name (or they are ignored with a warning), and "local options" which apply to the next query on the command line\&.
- .PP
+.PP
The
{@server}
option is a mandatory global option\&. It is the name or IP address of the name server to query\&. (Unlike
argument is a hostname,
\fBmdig\fR
resolves that name before querying the name server\&.
- .PP
+.PP
\fBmdig\fR
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\&.
- .PP
+.PP
Each query option is identified by a keyword preceded by a plus sign (+)\&. Some keywords set or reset an option\&. These may be preceded by the string
no
to negate the meaning of that keyword\&. Other keywords assign values to options like the timeout interval\&. They have the form
\fB+keyword=value\fR\&.
- .SH "ANYWHERE OPTIONS"
- .PP
+.SH "ANYWHERE OPTIONS"
+.PP
The
\fB\-f\fR
option makes
\fIfilename\fR\&. The file contains a number of queries, one per line\&. Each entry in the file should be organized in the same way they would be presented as queries to
\fBmdig\fR
using the command\-line interface\&.
- .PP
+.PP
The
\fB\-h\fR
causes
\fBmdig\fR
to print the detailed help with the full list of options and exit\&.
- .PP
+.PP
The
\fB\-v\fR
causes
\fBmdig\fR
to print the version number and exit\&.
- .SH "GLOBAL OPTIONS"
- .PP
+.SH "GLOBAL OPTIONS"
+.PP
The
\fB\-4\fR
option forces
\fBmdig\fR
to only use IPv4 query transport\&.
- .PP
+.PP
The
\fB\-6\fR
option forces
\fBmdig\fR
to only use IPv6 query transport\&.
- .PP
+.PP
The
\fB\-b\fR
option sets the source IP address of the query to
\fIaddress\fR\&. This must be a valid address on one of the host\*(Aqs network interfaces or "0\&.0\&.0\&.0" or "::"\&. An optional port may be specified by appending "#<port>"
- .PP
+.PP
The
\fB\-m\fR
option enables memory usage debugging\&.
- .PP
+.PP
The
\fB\-p\fR
option is used when a non\-standard port number is to be queried\&.
is the port number that
\fBmdig\fR
will send its queries instead of the standard DNS port number 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\&.
- .PP
+.PP
The global query options are:
- .PP
+.PP
\fB+[no]additional\fR
.RS 4
- Display [do not display] the additional section of a reply\&. The default is to display it\&.
- .RE
- .PP
+Display [do not display] the additional section of a reply\&. The default is to display it\&.
+.RE
+.PP
\fB+[no]all\fR
.RS 4
- Set or clear all display flags\&.
- .RE
- .PP
+Set or clear all display flags\&.
+.RE
+.PP
\fB+[no]answer\fR
.RS 4
- Display [do not display] the answer section of a reply\&. The default is to display it\&.
- .RE
- .PP
+Display [do not display] the answer section of a reply\&. The default is to display it\&.
+.RE
+.PP
\fB+[no]authority\fR
.RS 4
- Display [do not display] the authority section of a reply\&. The default is to display it\&.
- .RE
- .PP
+Display [do not display] the authority section of a reply\&. The default is to display it\&.
+.RE
+.PP
\fB+[no]besteffort\fR
.RS 4
- Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&.
- .RE
- .PP
+Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&.
+.RE
+.PP
\fB+burst\fR
.RS 4
- This option delays queries until the start of the next second\&.
- .RE
- .PP
+This option delays queries until the start of the next second\&.
+.RE
+.PP
\fB+[no]cl\fR
.RS 4
- Display [do not display] the CLASS when printing the record\&.
- .RE
- .PP
+Display [do not display] the CLASS when printing the record\&.
+.RE
+.PP
\fB+[no]comments\fR
.RS 4
- Toggle the display of comment lines in the output\&. The default is to print comments\&.
- .RE
- .PP
+Toggle the display of comment lines in the output\&. The default is to print comments\&.
+.RE
+.PP
\fB+[no]continue\fR
.RS 4
- Continue on errors (e\&.g\&. timeouts)\&.
- .RE
- .PP
+Continue on errors (e\&.g\&. timeouts)\&.
+.RE
+.PP
\fB+[no]crypto\fR
.RS 4
- 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 the common failures\&. The default is to display the fields\&. 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 ]"\&.
- .RE
- .PP
+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 the common failures\&. The default is to display the fields\&. 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 ]"\&.
+.RE
+.PP
\fB+dscp[=value]\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]multiline\fR
.RS 4
- 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
+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
\fBmdig\fR
output\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]question\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]rrcomments\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]short\fR
.RS 4
- Provide a terse answer\&. The default is to print the answer in a verbose form\&.
- .RE
- .PP
+Provide a terse answer\&. The default is to print the answer in a verbose form\&.
+.RE
+.PP
\fB+split=W\fR
.RS 4
- Split long hex\- or base64\-formatted fields in resource records into chunks of
+Split long hex\- or base64\-formatted fields in resource records into chunks of
\fIW\fR
characters (where
\fIW\fR
or
\fI+split=0\fR
causes fields not to be split at all\&. The default is 56 characters, or 44 characters when multiline mode is active\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]tcp\fR
.RS 4
- Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP\&.
- .RE
- .PP
+Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP\&.
+.RE
+.PP
\fB+[no]ttlid\fR
.RS 4
- Display [do not display] the TTL when printing the record\&.
- .RE
- .PP
+Display [do not display] the TTL when printing the record\&.
+.RE
+.PP
\fB+[no]ttlunits\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]vc\fR
.RS 4
- Use [do not use] TCP when querying name servers\&. This alternate syntax to
+Use [do not use] TCP when querying name servers\&. This alternate syntax to
\fI+[no]tcp\fR
is provided for backwards compatibility\&. The "vc" stands for "virtual circuit"\&.
- .RE
- .SH "LOCAL OPTIONS"
- .PP
+.RE
+.SH "LOCAL OPTIONS"
+.PP
The
\fB\-c\fR
option sets the query class to
\fIclass\fR\&. It can be any valid query class which is supported in BIND 9\&. The default query class is "IN"\&.
- .PP
+.PP
The
\fB\-t\fR
option sets the query type to
\fItype\fR\&. It can be any valid query type which is supported in BIND 9\&. The default query type is "A", unless the
\fB\-x\fR
option is supplied to indicate a reverse lookup with the "PTR" query type\&.
- .PP
+.PP
The
\fB\-i\fR
option sets the reverse domain for IPv6 addresses to IP6\&.INT\&.
- .PP
+.PP
Reverse lookups \(em mapping addresses to names \(em are simplified by the
\fB\-x\fR
option\&.
and sets the query type and class to PTR and IN respectively\&. By default, IPv6 addresses are looked up using nibble format under the IP6\&.ARPA domain\&. To use the older RFC1886 method using the IP6\&.INT domain specify the
\fB\-i\fR
option\&.
- .PP
+.PP
The local query options are:
- .PP
+.PP
\fB+[no]aaflag\fR
.RS 4
- A synonym for
+A synonym for
\fI+[no]aaonly\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]aaonly\fR
.RS 4
- Sets the "aa" flag in the query\&.
- .RE
- .PP
+Sets the "aa" flag in the query\&.
+.RE
+.PP
\fB+[no]adflag\fR
.RS 4
- 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 been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not 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\&.
- .RE
- .PP
+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 been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not 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\&.
+.RE
+.PP
\fB+bufsize=B\fR
.RS 4
- Set the UDP message buffer size advertised using EDNS0 to
+Set the UDP message buffer size advertised using EDNS0 to
\fIB\fR
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\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]cdflag\fR
.RS 4
- Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&.
- .RE
- .PP
+Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&.
+.RE
+.PP
\fB+[no]cookie\fR\fB[=####]\fR
.RS 4
- 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
+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
\fB+nocookie\fR\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]dnssec\fR
.RS 4
- Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&.
- .RE
- .PP
+Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&.
+.RE
+.PP
\fB+[no]edns[=#]\fR
.RS 4
- 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\&.
+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\&.
\fB+noedns\fR
clears the remembered EDNS version\&. EDNS is set to 0 by default\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]ednsflags[=#]\fR
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
\fB+[no]ednsopt[=code[:value]]\fR
.RS 4
- Specify EDNS option with code point
+Specify EDNS option with code point
\fBcode\fR
and optionally payload of
\fBvalue\fR
as a hexadecimal string\&.
\fB+noednsopt\fR
clears the EDNS options to be sent\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]expire\fR
.RS 4
- Send an EDNS Expire option\&.
- .RE
- .PP
+Send an EDNS Expire option\&.
+.RE
+.PP
\fB+[no]nsid\fR
.RS 4
- Include an EDNS name server ID request when sending a query\&.
- .RE
- .PP
+Include an EDNS name server ID request when sending a query\&.
+.RE
+.PP
\fB+[no]recurse\fR
.RS 4
- Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means
+Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means
\fBmdig\fR
normally sends recursive queries\&.
- .RE
- .PP
+.RE
+.PP
\fB+retry=T\fR
.RS 4
- Sets the number of times to retry UDP queries to server to
+Sets the number of times to retry UDP queries to server to
\fIT\fR
instead of the default, 2\&. Unlike
\fI+tries\fR, this does not include the initial query\&.
- .RE
- .PP
+.RE
+.PP
\fB+[no]subnet=addr[/prefix\-length]\fR
.RS 4
- Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&.
+Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&.
.sp
- \fBmdig +subnet=0\&.0\&.0\&.0/0\fR, or simply
+\fBmdig +subnet=0\&.0\&.0\&.0/0\fR, or simply
\fBmdig +subnet=0\fR
for short, sends an EDNS client\-subnet option with an empty address and a source prefix\-length of zero, which signals a resolver that the client\*(Aqs address information must
\fInot\fR
be used when resolving this query\&.
- .RE
- .PP
+.RE
+.PP
\fB+timeout=T\fR
.RS 4
- Sets the timeout for a query to
+Sets the timeout for a query to
\fIT\fR
seconds\&. The default timeout is 5 seconds for UDP transport and 10 for TCP\&. An attempt to set
\fIT\fR
to less than 1 will result in a query timeout of 1 second being applied\&.
- .RE
- .PP
+.RE
+.PP
\fB+tries=T\fR
.RS 4
- Sets the number of times to try UDP queries to server to
+Sets the number of times to try UDP queries to server to
\fIT\fR
instead of the default, 3\&. If
\fIT\fR
is less than or equal to zero, the number of tries is silently rounded up to 1\&.
- .RE
- .PP
+.RE
+.PP
\fB+udptimeout=T\fR
.RS 4
- Sets the timeout between UDP query retries\&.
- .RE
- .PP
+Sets the timeout between UDP query retries\&.
+.RE
+.PP
\fB+[no]unknownformat\fR
.RS 4
- Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&.
- .RE
- .PP
+Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&.
+.RE
+.PP
\fB+[no]zflag\fR
.RS 4
- Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&.
- .RE
- .SH "SEE ALSO"
- .PP
+Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&.
+.RE
+.SH "SEE ALSO"
+.PP
\fBdig\fR(1),
RFC1035\&.
.SH "AUTHOR"
<varlistentry>
<term><option>+burst</option></term>
<listitem>
- This option delays queries until the start of the next second.
+ <para>
+ This option delays queries until the start of the next second.
+ </para>
</listitem>
</varlistentry>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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">+burst</code></span></dt>
-<dd>
- This option delays queries until the start of the next second.
- </dd>
+<dd><p>
+ This option delays queries until the start of the next second.
+ </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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
named-journalprint \- print zone journal in human\-readable form
- .SH "SYNOPSIS"
- .HP \w'\fBnamed\-journalprint\fR\ 'u
- \fBnamed\-journalprint\fR
- {\fIjournal\fR}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnamed\-journalprint\fR\ 'u
+\fBnamed\-journalprint\fR {\fIjournal\fR}
+.SH "DESCRIPTION"
+.PP
\fBnamed\-journalprint\fR
prints the contents of a zone journal file in a human\-readable form\&.
- .PP
+.PP
Journal files are automatically created by
\fBnamed\fR
when changes are made to dynamic zones (e\&.g\&., by
\fBnsupdate\fR)\&. They record each addition or deletion of a resource record, in binary format, allowing the changes to be re\-applied to the zone when the server is restarted after a shutdown or crash\&. By default, the name of the journal file is formed by appending the extension
\&.jnl
to the name of the corresponding zone file\&.
- .PP
+.PP
\fBnamed\-journalprint\fR
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\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBnamed\fR(8),
\fBnsupdate\fR(1),
BIND 9 Administrator Reference Manual\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
named-nzd2nzf \- Convert an NZD database to NZF text format
- .SH "SYNOPSIS"
- .HP \w'\fBnamed\-nzd2nzf\fR\ 'u
- \fBnamed\-nzd2nzf\fR
- {filename}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnamed\-nzd2nzf\fR\ 'u
+\fBnamed\-nzd2nzf\fR {filename}
+.SH "DESCRIPTION"
+.PP
\fBnamed\-nzd2nzf\fR
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
\fBnamed\fR
via
\fBrndc addzone\fR\&. It can also be used to restore the old file format when rolling back from a newer version of BIND to an older version\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
filename
.RS 4
- The name of the
+The name of the
\&.nzd
file whose contents should be printed\&.
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
BIND 9 Administrator Reference Manual
- .SH "AUTHOR"
- .PP
+.SH "AUTHOR"
+.PP
Internet Systems Consortium
.SH "COPYRIGHT"
.br
- information regarding copyright ownership.
-->
-<refentry id="man.named-nzd2nzf">
+<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" id="man.named-nzd2nzf">
<refentryinfo>
<date>May 5, 2016</date>
</refentryinfo>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
named-rrchecker \- syntax checker for individual DNS resource records
- .SH "SYNOPSIS"
- .HP \w'\fBnamed\-rrchecker\fR\ 'u
- \fBnamed\-rrchecker\fR
- [\fB\-h\fR]
- [\fB\-o\ \fR\fB\fIorigin\fR\fR]
- [\fB\-p\fR]
- [\fB\-u\fR]
- [\fB\-C\fR]
- [\fB\-T\fR]
- [\fB\-P\fR]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnamed\-rrchecker\fR\ 'u
+\fBnamed\-rrchecker\fR [\fB\-h\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-p\fR] [\fB\-u\fR] [\fB\-C\fR] [\fB\-T\fR] [\fB\-P\fR]
+.SH "DESCRIPTION"
+.PP
\fBnamed\-rrchecker\fR
read a individual DNS resource record from standard input and checks if it is syntactically correct\&.
- .PP
+.PP
The
\fB\-h\fR
prints out the help menu\&.
- .PP
+.PP
The
\fB\-o \fR\fB\fIorigin\fR\fR
option specifies a origin to be used when interpreting the record\&.
- .PP
+.PP
The
\fB\-p\fR
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\&.
- .PP
+.PP
The
\fB\-u\fR
prints out the resulting record in unknown record form\&.
- .PP
+.PP
The
\fB\-C\fR,
\fB\-T\fR
and
\fB\-P\fR
print out the known class, standard type and private type mnemonics respectively\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
RFC 1034,
RFC 1035,
\fBnamed\fR(8)
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
nsec3hash \- generate NSEC3 hash
- .SH "SYNOPSIS"
- .HP \w'\fBnsec3hash\fR\ 'u
- \fBnsec3hash\fR
- {\fIsalt\fR}
- {\fIalgorithm\fR}
- {\fIiterations\fR}
- {\fIdomain\fR}
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBnsec3hash\fR\ 'u
+\fBnsec3hash\fR {\fIsalt\fR} {\fIalgorithm\fR} {\fIiterations\fR} {\fIdomain\fR}
+.SH "DESCRIPTION"
+.PP
\fBnsec3hash\fR
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\&.
- .SH "ARGUMENTS"
- .PP
+.SH "ARGUMENTS"
+.PP
salt
.RS 4
- The salt provided to the hash algorithm\&.
- .RE
- .PP
+The salt provided to the hash algorithm\&.
+.RE
+.PP
algorithm
.RS 4
- 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\&.
- .RE
- .PP
+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\&.
+.RE
+.PP
iterations
.RS 4
- The number of additional times the hash should be performed\&.
- .RE
- .PP
+The number of additional times the hash should be performed\&.
+.RE
+.PP
domain
.RS 4
- The domain name to be hashed\&.
- .RE
- .SH "SEE ALSO"
- .PP
+The domain name to be hashed\&.
+.RE
+.SH "SEE ALSO"
+.PP
BIND 9 Administrator Reference Manual,
RFC 5155\&.
.SH "AUTHOR"
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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.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.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.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></body>
</html>
</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 class="informaltable" 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 class="informaltable" 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>
This document explains the installation
and upkeep of the <acronym class="acronym">BIND</acronym> (Berkeley Internet
Name Domain) software package. 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="Requests for Comments (RFCs)">the section called “Requests 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 "primary" and "secondary"
be a secondary server for a <span class="emphasis"><em>domain</em></span>, it is
actually asking for secondary service for some collection of <span class="emphasis"><em>zones</em></span>.
</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 Server</h4></div></div></div>
-
- <p>
+<p>
The authoritative server where the main copy of the zone
data is maintained is called the
<span class="emphasis"><em>primary</em></span> (or
<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 zone 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>Secondary Servers</h4></div></div></div>
-
- <p>
+<p>
The other authoritative servers, called the
<span class="emphasis"><em>secondary</em></span>
(or <span class="command"><strong>slave</strong></span>) servers, load the zone
secondary. In other words, a secondary server may itself act as a
primary to a subordinate secondary server.
</p>
- <p>
+<p>
Periodically, the secondary 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 Start of Authority (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), the secondary zone expires and no longer
responds 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.
records, but servers that are not present at
the zone's top level cannot be listed in the parent's delegation.
</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 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 is 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>
Forwarders are typically used when an administrator does not
wish for all the servers at a given site to interact
directly with the rest of the Internet. For example, a
which queries Internet DNS servers on the internal servers'
behalf.
</p>
-
- <p>
+<p>
Another scenario (largely now superseded by Response Policy
Zones) is to send queries first to a custom server for RBL
processing before forwarding them to the wider Internet.
</p>
-
- <p>
+<p>
There may be one or more forwarders in a given setup. The
order in which the forwarders are listed in
<code class="filename">named.conf</code> does not determine the
queried, even those with slower response times. This
permits changes in behavior based on server responsiveness.
</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 primary for some zones, a secondary for other zones, and 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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
<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 retired from
active duty have performed admirably as <acronym class="acronym">DNS</acronym> servers.
</p>
- <p>
+<p>
However, the DNSSEC features of <acronym class="acronym">BIND</acronym> 9
may be quite
CPU-intensive, 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
i386-class machines,
for serving static zones without caching, to enterprise-class
machines 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>
Server memory must be sufficient to hold both the
cache and the zones loaded from disk. The <span class="command"><strong>max-cache-size</strong></span>
option can 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
configurations that may be used. The first is one 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 many
Unix-like operating systems and on
Microsoft Windows Server 2012 R2, 2016 and Windows 10.
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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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 primary server for "<code class="filename">example.com</code>"
and a secondary server 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, assuming three HTTP 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 class="informaltable" 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> rotates
them and responds to the query with the records in a different
order. In the example above, clients randomly receive
records in the order 1, 2, 3; 2, 3, 1; and 3, 1, 2. Most clients
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> takes 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 is 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 zone 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>
This tool is 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 displays 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 is
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>,
allows 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 causes the name server
to reload, if a name server on the local machine is
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 has 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
conveniently creates an <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 class="informaltable" 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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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 primary
servers to notify their secondary servers of changes to a zone's data. In
response to a <span class="command"><strong>NOTIFY</strong></span> from a primary server, the
secondary checks to see that its version of the zone is the
current version and, if not, initiates 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 secondary zone can also be a primary to other secondaries, <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 primary 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
are permitted for the key <code class="varname">local-ddns</code>,
which is 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, either by setting the
<span class="command"><strong>tkey-gssapi-keytab</strong></span> option, or
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 also occasionally writes ("dumps")
the complete contents of the updated zone to its zone file.
This is not done immediately after
are 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 replays
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
journaled 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>
To make changes to a dynamic zone
manually, follow these steps:
first, 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>
updates 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
secondary servers to transfer only changed data, instead of having to
transfer an 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 primary server, <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 secondary server, <acronym class="acronym">BIND</acronym> 9
attempts 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 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 might want to set up its DNS this way.
</p>
- <p>
+<p>
One common reason to use split DNS is
to hide "internal" DNS information from "external" clients on the
Internet. There is some debate as to whether this is actually
choose to use 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 into 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 sets up two sets
of name servers. One set is on the inside network (in the
reserved
"proxy"
hosts in the DMZ that can talk to both sides of its network.
</p>
- <p>
+<p>
The internal servers are 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, are
configured to serve the "public" version of the <code class="filename">site1.example.com</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.example.com</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
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 need to know how to deliver mail
to internal hosts. The resolvers
the bastion hosts need to be configured to point to the internal
name servers for DNS resolution.
</p>
- <p>
+<p>
Queries for internal hostnames are answered by the internal
servers, and queries for external hostnames are forwarded back
out to the DNS servers on the bastion hosts.
</p>
- <p>
+<p>
For all of this to work properly, internal clients
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 are now 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.example.com</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 users.
- </li>
+ </li>
+<li class="listitem">Look up any hostnames on the Internet.</li>
+<li class="listitem">Exchange mail with both internal and external users.</li>
</ul></div>
- <p>
+<p>
Hosts on the Internet are 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.example.com</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.example.com</code> and
<code class="literal">site2.example.com</code> zones.
-
- </li>
+ </li>
</ul></div>
-
- <p>
+<p>
Here is an example configuration for the setup just
described above. Note that this is only configuration information;
for information on how to configure the 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 primary to a secondary server.
</p>
- <p>
+<p>
This section 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 is able to verify the signature. If the signature
is valid, the response is 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
secondary zone; in this case, all SOA QUERY messages, NOTIFY
or secondary 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 expects
the response to be signed with the same key. If a response is not
signed, or if the signature is not valid, the response is
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>
Here is 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 returns 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 with 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 is only
verified if the key is known and trusted by the server. The
server does 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
keyset files to be in the working directory or the
directory specified by the <code class="option">-d</code> option.
</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
be statically configured with either 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 generates 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 are 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 device 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 sub-zones should be present. The zone signer
generates <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>
By default, all zone keys which have an available private key are
used to generate signatures. The following command signs the zone, assuming it is in a
file called <code class="filename">zone.child.example</code>:
</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>
also produces keyset and dsset files.
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 for DNSSEC</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> option 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 is 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 are used
to validate 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>
<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 is established, a typical DNSSEC configuration
looks something like the following. It has one or
more public keys for the root, which allows answers from
is immune to compromised security in the DNSSEC components
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 rejects any answers from signed, secure zones
which fail to validate, and returns 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, the validator 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>A zone ca be changed from insecure to secure 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>A zone ca be changed from insecure to secure in two
ways: using a dynamic DNS update, or via the
<span class="command"><strong>auto-dnssec</strong></span> zone option.</p>
- <p>For either method,
+<p>For either method,
<span class="command"><strong>named</strong></span> must be configured so that it can see the
<code class="filename">K*</code> files which contain the public and private
parts of the keys that are used to sign the zone. These files
<span class="command"><strong>dnssec-keygen</strong></span>, and they should be placed
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 causes all records in the zone to be signed
with the ZSK, and the DNSKEY RRset to be signed with the KSK.
An NSEC chain is 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 completes almost immediately,
+<p>While the update request completes almost immediately,
the zone is not 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
is added last, to signal that there is a complete NSEC
chain.</p>
- <p>To sign using NSEC3 instead of NSEC,
+<p>To sign using NSEC3 instead of NSEC,
add an NSEC3PARAM record to the initial update request.
The OPTOUT bit in the NSEC3 chain can be set 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 completes almost
+<p>Again, this update request completes almost
immediately; however, the record does not show up until
<span class="command"><strong>named</strong></span> has had a chance to build/remove the
relevant chain. A private type record is created to record
the state of the operation (see below for more details), and is
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 does 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 also automatically adjusts 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> periodically searches the key directory
for keys matching the zone; if the keys' metadata indicates
that any change should be made to 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 is 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.
</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,
the TTL is 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>
To sign the zone using NSEC3 instead of NSEC,
submit an NSEC3PARAM record via dynamic update prior to the
scheduled publication and activation of the keys.
the zone is signed and the NSEC3 chain is completed, the NSEC3PARAM
record appears 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
fails.</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 with a non-zero initial octet
have a non-zero value for the final octet.</p>
- <p>If the first octet of a private type record is
+<p>If the first octet of a private type record is
non-zero, the record indicates either that the zone needs to be
signed with the key matching the record, or that all signatures
that match the record should be removed. Here are the meanings
of the different values of the first octet:</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
are 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), the
record indicates that changes to the NSEC3 chains are in progress. The
rest of the record contains an NSEC3PARAM record, while 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, DNSSEC keyrolls
+<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, DNSSEC keyrolls
can be done in two ways: using a dynamic DNS update, or via 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,
+<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,
the <code class="filename">K*</code> files for the new keys must be added so that
<span class="command"><strong>named</strong></span> can find them. The new
DNSKEY RRs can then be added via dynamic update.
<span class="command"><strong>named</strong></span> then causes the zone to be signed
with the new keys; when the signing is complete, the private type
records are updated so that the last octet is non-zero.</p>
- <p>If this is for a KSK, the parent and any
+<p>If this is for a KSK, the parent and any
trust anchor repositories of the new KSK must be informed.</p>
- <p>The maximum TTL in the zone must expire before
+<p>The maximum TTL in the zone must expire before
removing the old DNSKEY. If it is a KSK that is being updated,
the DS RRset in the parent must also be
updated its TTL allowed to expire. This ensures that all clients
are able to verify at least one signature when the old DNSKEY is removed.</p>
- <p>The old DNSKEY can be removed via UPDATE, taking care to
+<p>The old DNSKEY can be removed via UPDATE, taking care to
specify the correct key.
<span class="command"><strong>named</strong></span> cleans 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>),
and 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>
signature validity periods expire. By default, this rollover
completes in 30 days, after which it is 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>The new NSEC3PARAM record can be added 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>The new NSEC3PARAM record can be added via dynamic update. When the
new NSEC3 chain has been generated, the NSEC3PARAM flag field
is set to zero. At that point, the old NSEC3PARAM
record can be removed. The old chain is 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, an NSEC3PARAM record must be added. 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, an NSEC3PARAM record must be added. When
the conversion is complete, the NSEC chain is removed
and the NSEC3PARAM record has a zero flag field. The NSEC3
chain is 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 is 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 are removed automatically.
This takes 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; otherwise, 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>
periodically re-signs RRsets which have not been re-signed as
a result of some update action. The signature lifetimes are
adjusted 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, the entire chain must 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 takes note
of the stand-by KSKs in the zone's DNSKEY RRset, and stores them
for future reference. The resolver rechecks the zone
anchor for the zone. Anytime 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 exists with a publication
date in the past, but an activation date which is unset or in
the future, <span class="command"><strong>dnssec-signzone -S</strong></span> includes the DNSKEY
record in the zone but does 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, use the command
+<p>To revoke a key, use the command
<span class="command"><strong>dnssec-revoke</strong></span>. This adds the
REVOKED bit to the key flags and regenerates 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 is never again
accepted as a valid trust anchor by the resolver. However,
validation can proceed using the new active key, which was
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, the two key IDs will collide, causing several
problems. To prevent this,
<span class="command"><strong>dnssec-keygen</strong></span> does not generate a new key if
another key which may collide is present. This checking
only occurs if the new keys are written to the same directory
that holds all other keys in use for that zone.</p>
- <p>Older versions of BIND 9 did not have this protection.
+<p>Older versions of BIND 9 did not have this protection.
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 class="section">
+</div>
+<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>
Public Key Cryptography Standard #11 (PKCS#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 class="section">
+</div>
+</div>
+<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>
Dynamically Loadable Zones (DLZ) are 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
they are still needed for the older drivers in
<code class="filename">contrib/dlz/drivers</code>.
</p>
-
- <p>
+<p>
The DLZ module provides data to <span class="command"><strong>named</strong></span> in text format,
which is then 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; secondary servers 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 is 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 backend 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 the 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 can retrieve information about the
querying client and alter 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 class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dyndb-info"></a>Dynamic Database (DynDB)</h2></div></div></div>
-
- <p>
+<p>
Dynamic Database, or 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://pagure.io/bind-dyndb-ldap" target="_top">https://pagure.io/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
responds 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 differs 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 the 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 determines
whether the updated RR is an address (i.e., type A or AAAA); if
so, it automatically updates the corresponding PTR record in a
reverse zone. Note that updates are not stored permanently; all updates are
lost when the server is restarted.
</p>
- </div>
</div>
-
- <div class="section">
+</div>
+<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. The
latest revision of the DNS catalog zones draft can be found here:
https://datatracker.ietf.org/doc/draft-toorop-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 secondary 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 secondary
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 secondary servers.
When a secondary 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 both
the primary and secondary servers that are 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 primary as normal.
This can 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 can be done by editing the catalog zone's zone 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 is propagated from the primary to all
BIND immediately initiates a transfer of zone contents from the
primary. Once complete, the secondary starts serving the member zone.
</p>
- <p>
+<p>
Removing a member zone from a secondary server requires only
deleting the member zone's entry in the catalog zone; the change to the
catalog zone is propagated to the secondary 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 secondary 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 primaries
for member zones listed in a catalog zone, and can be overridden by
options within a catalog zone. If no such options are included, then
member zones 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 secondary zone without a <code class="option">file</code>
is 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' zone files to be stored in the specified directory,
if <code class="option">in-memory</code> is not set to <code class="literal">yes</code>.
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, the changes are not 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 automatically
turns on <code class="option">allow-new-zones</code> for that view. This
means that <span class="command"><strong>rndc addzone</strong></span> and <span class="command"><strong>rndc delzone</strong></span>
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 must 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>".
The 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 primary server for the member zones, which
can be either an A or AAAA record. If multiple primaries 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 primary 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>
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 for an option are 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, it would <span class="emphasis"><em>not</em></span> inherit the
type AAAA record from the global option.
</p>
- </div>
</div>
-
- <div class="section">
+</div>
+<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 also uses 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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
<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>
At first, IPv6 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
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 <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 serves 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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</dl></dd>
</dl>
</div>
-
- <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 class="informaltable" 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.2.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.2.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 <span class="command"><strong>acl</strong></span>
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 is given to the one that came
that problem by blocking 1.2.3.13 via the negation, but
all other 1.2.3.* hosts pass 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
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.2.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.2.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) 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>
The semicolon (";") character
cannot start a comment, unlike 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 class="informaltable" 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 one of the primary
uses 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 class="informaltable" 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 manage 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> sets up a default
control channel listening on the loopback address 127.0.0.1
To create an <code class="filename">rndc.key</code> file, run
<strong class="userinput"><code>rndc-confgen -a</code></strong>.
</p>
-
- <p>
+<p>
The key name and the size of the secret cannot be easily changed; if it
is desirable to change those things, make a
<code class="filename">rndc.conf</code> with a custom key. The <code class="filename">rndc.key</code> file
<code class="filename">rndc.conf</code> file and make it group-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 that uniquely identifies 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>,
<em class="replaceable"><code>secret_string</code></em> is the secret
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 desired. If there is no <span class="command"><strong>logging</strong></span> statement,
the logging configuration is:
</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 is:
</p>
-
<pre class="programlisting">logging {
category default { default_logfile; default_debug; };
category unmatched { null; };
};
</pre>
-
- <p>
+<p>
The logging configuration
is only established when
the entire configuration file has been parsed. When the server starts up, all logging messages
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>;
there is no limit to the number of channels that can be created.
</p>
-
- <p>
+<p>
Every channel definition must include a destination clause that
says whether messages selected for the channel go to a file, go to a
particular syslog facility, go to the standard error stream, or are
category name,
and/or the 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 are saved each time the file is opened.
</p>
-
- <p>
+<p>
If the <span class="command"><strong>versions</strong></span> log file
option is used, then
<span class="command"><strong>named</strong></span> retains 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>
the
file.
</p>
-
- <p>
+<p>
Here is an example using 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 when writing
straight to a file rather than using <span class="command"><strong>syslog</strong></span>.
levels
are accepted.
</p>
- <p>
+<p>
When using <span class="command"><strong>syslog</strong></span>, the <span class="command"><strong>syslog.conf</strong></span> priorities
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
use when the server is running as a foreground process, as
when debugging a configuration, for example.
</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; 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>
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> is set to
<strong class="userinput"><code>yes</code></strong>, then the date and time are logged.
<span class="command"><strong>print-time</strong></span> may be specified for a
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 is not 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
non-zero. 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 can be redirected to a file.
</p>
-
- <p>
+<p>
Once a channel is defined, it cannot be redefined.
The built-in channels cannot be altered directly, but
the default logging can be modified by pointing categories at defined channels.
</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 desired logs
can be sent anywhere while unwanted logs are ignored. If
a list of channels is not specified for a category, log
instead. If no default category is specified, the following
"default default" is used:
</p>
-
<pre class="programlisting">category default { default_syslog; default_debug; };
</pre>
-
- <p>
+<p>
If <span class="command"><strong>named</strong></span> is started with the
<code class="option">-L</code> option, the default category is:
</p>
-
<pre class="programlisting">category default { default_logfile; default_debug; };
</pre>
-
- <p>
+<p>
As an example, let's say a user wants to log security events to
a file, but also wants to keep the default logging behavior. They would
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>
The 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 class="informaltable" border="1">
<colgroup>
<col width="1.150in" class="1">
<col width="3.350in" class="2">
</td>
</tr>
</tbody>
-</table>
+</table></div>
</div>
- </div>
- <div class="section">
+<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 is 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 are particularly helpful in identifying 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 is logged. The log message looks 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 next 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 class="informaltable" 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 are
logged for errors other 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 is logged for errors other than SERVFAIL and
for negative responses 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; 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 dedicates 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> statement 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 primaries to be easily used by
multiple stub and secondary 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 is
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>
This option 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 simply refer to the
already-created cache.
</p>
-
- <p>
+<p>
One common configuration to share a cache is to
allow all views to share a single cache.
This can be done by specifying
<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
retain their own caches.
<span class="command"><strong>attach-cache</strong></span> option as a view of 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>
This sets the working directory of the server.
Any non-absolute pathnames in the configuration file are
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 <acronym class="acronym">BIND</acronym> 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> causes 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>:
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>
This configures the path to which the <span class="command"><strong>dnstap</strong></span>
frame stream is 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>
This 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 is sent. If set to
<code class="literal">none</code>, no identity string is sent.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>dnstap-version</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This 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 <acronym class="acronym">BIND</acronym> release. If set to
<code class="literal">none</code>, no version string is 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>
This is the
directory where the public and private DNSSEC key files
should be found when performing a dynamic update of secure zones, 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 <span class="command"><strong>named</strong></span> 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>
This 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,
managed keys for the server are 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 earlier releases, file names for views
always used the SHA256 hash of the view name. To ensure
compatibility after upgrading, if a file using the old
name format is found to exist, it is 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>
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>
This is the KRB5 keytab file to use for GSS-TSIG updates. If
this option is set and tkey-gssapi-credential is not
set, updates are 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>
This is 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
<span class="command"><strong>tkey-gssapi-keytab</strong></span>.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>tkey-domain</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This domain is 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
using GSS-TSIG, this variable must be defined, unless
a specific keytab is specified using <span class="command"><strong>tkey-gssapi-keytab</strong></span>.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>tkey-dhkey</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This is 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>
This is 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>
This is 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>
This is the pathname of a file on which <span class="command"><strong>named</strong></span>
attempts to acquire a file lock when starting for
the first time; if unsuccessful, the server
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.
</p>
- </dd>
+</dd>
<dt><span class="term"><span class="command"><strong>pid-file</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This is 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>
This is the pathname of the file where 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>
This is 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>
This is 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>
This is 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>
This is 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>
This is the key name to use for the TSIG session key.
If not specified, the default is <code class="varname">local-ddns</code>.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>session-keyalg</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This is 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>
This is the UDP/TCP port number the server uses to
receive and send DNS protocol traffic.
The default is 53. This option is mainly intended for server
a server using a port other than 53 is not 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>
This is 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>
This specifies a 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) is 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>
This turns 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 <code class="varname">ANY</code>.
</p>
- <p>
+<p>
Note that 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>
This disables 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 is used to determine the algorithms.
</p>
- <p>
+<p>
If all supported algorithms are disabled, the zones covered
by the <span class="command"><strong>disable-algorithms</strong></span> setting are 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 are ignored and treated as if they were not
configured.
</p>
- </dd>
+</dd>
<dt><span class="term"><span class="command"><strong>disable-ds-digests</strong></span></span></dt>
<dd>
- <p>
+<p>
This disables the specified DS 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 is used to determine the digest types.
</p>
- <p>
+<p>
If all supported digest types are disabled, the zones covered
by <span class="command"><strong>disable-ds-digests</strong></span> are 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 <span class="command"><strong>dnssec-lookaside</strong></span>
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>
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>
This specifies 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> only accepts 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, per RFC 6052. Bits 64..71 inclusive must
be zero, with the most significant bit of the prefix in
position 0.
</p>
- <p>
+<p>
In addition, a reverse IP6.ARPA zone is created for
the prefix to provide a mapping from the IP6.ARPA names
to the corresponding IN-ADDR.ARPA names using synthesized
can be set at the view/options level but not
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 does not apply to a domain name that
owns one or more AAAA records; these records are
simply 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
only happens 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
happens 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> signs 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>
rejects 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>
This specifies the default lifetime, in seconds,
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>
This specifies 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>
This 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> causes 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 is 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 to 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 is 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 is 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 is 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 collects
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, this automatically rescans 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;
therefore, the operating system must 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>
Configurations for zones added at runtime are
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
authoritative. The default is <strong class="userinput"><code>no</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>
This writes 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
<strong class="userinput"><code>-m record</code></strong> 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
normal
zone maintenance traffic. The default is <strong class="userinput"><code>no</code></strong>.
</p>
- <p>
+<p>
If specified in the <span class="command"><strong>view</strong></span> and
<span class="command"><strong>zone</strong></span> statements, the <span class="command"><strong>dialup</strong></span> option
overrides the global <span class="command"><strong>dialup</strong></span> option.
</p>
- <p>
+<p>
If the zone is a primary zone, the server sends out a
NOTIFY
request to all the secondaries (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 secondary or stub zone, the server suppresses
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 class="informaltable" 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 upon 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.
It is 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>
If <strong class="userinput"><code>yes</code></strong>, 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. 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 use 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 only adds 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 omits records from the authority section
unless they are required, but it may still add
designed for mixed-mode servers that 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>, the server replies with only one
of the RRsets for the query name, and its covering
RRSIGs if any, when
turned on for these queries, so no unnecessary records
are 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 primary
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 primary 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 secondary zones
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 name servers
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 primary configurations; in that case,
the ultimate primary should be set to still send NOTIFY messages to
all the name servers 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 attempts
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>
If <strong class="userinput"><code>yes</code></strong>, 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 nonexistent
server cookie.
The default is <strong class="userinput"><code>no</code></strong>.
</p>
- <p>
+<p>
Users wishing to test that DNS COOKIE clients correctly handle BADCOOKIE, or who are
getting a lot of forged DNS requests with DNS COOKIES
present, should set this to <strong class="userinput"><code>yes</code></strong>.
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 are sent when applicable in
replies to client queries. If set to
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 communicated with 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>
This sets the maximum size of UDP responses that are
sent to queries without a valid server COOKIE. A value
below 128 is silently raised to 128. The default
- value is 1232, but the <span class="command"><strong>max-udp-size</strong></span>
- option may further limit the response size.
- </p>
- </dd>
+ value is 4096, but the <span class="command"><strong>max-udp-size</strong></span>
+ option may further limit the response size as the default
+ for <span class="command"><strong>max-udp-size</strong></span> is 1232.
+ </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>
This sets the algorithm to be used when generating the
server cookie; the options are "aes", "sha1", or "sha256".
The default is "aes" if supported by the cryptographic
library; 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
are only 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>
causes 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>
This is 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>
This 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 are
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>.
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> are 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 matches 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 causes the response to not verify,
because the DNSSEC protocol is designed to 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, is 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>
This is 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 primary zone from its zone file or receives a
new version of a secondary file via zone transfer, it
transmitted to downstream secondaries 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
all primary or secondary 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 there are multiple primary servers 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> does
when the serial number on the primary 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 a 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> does 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>
This option enables DNSSEC validation in <span class="command"><strong>named</strong></span>.
Note that <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> loads 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> loads <span class="emphasis"><em>only</em></span>
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>
This accepts 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 zone 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 indicates 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>
This checks primary 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>
This checks 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 primary 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>
This performs post-load zone integrity checks on primary
zones. It 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 to publish Sender
Policy Framework is deprecated, as the migration
from using TXT records to SPF records was abandoned.
TXT record does not exist; they 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,
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>
If <strong class="userinput"><code>yes</code></strong>, 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>
If <strong class="userinput"><code>yes</code></strong>, when caching a negative response to an 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 is 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) are 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>
If <strong class="userinput"><code>yes</code></strong>, try to refresh the zone using TCP if UDP queries fail.
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>
This allows 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
are removed from the zone as well.
</p>
- <p>
+<p>
If the zone uses NSEC3, it is also necessary to
delete the NSEC3PARAM RRset from the zone apex; this
causes 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> is
the default and causes the server to query the forwarders
the answer itself. If <code class="varname">only</code> is
specified, the
server only queries the forwarders.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>forwarders</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This specifies a list of IP addresses to which queries are
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. Particular domains can be set 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>
This 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
machine is dual-stacked, the <span class="command"><strong>dual-stack-servers</strong></span> parameter has 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>
This ACL specifies which hosts are allowed to
notify this secondary server of zone changes in addition
to the zone primaries.
for a secondary zone. If not specified, the default is to
process notify messages
only from a zone's primary.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>allow-query</strong></span></span></dt>
<dd>
- <p>
+<p>
This 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
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>
This 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 is 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>
This specifies which hosts are allowed to get answers
from the cache. If <span class="command"><strong>allow-query-cache</strong></span>
is not set, BIND checks to see if the following parameters
set, in which case <span class="command"><strong>none;</strong></span> is used).
If neither of those parameters is set, 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>
This specifies which local addresses can send 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>
This specifies which hosts are allowed to make recursive
queries through this server. BIND checks to see if the
following parameters are set, in order:
If none of those parameters are set, 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>
This 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>
This specifies which hosts are allowed to
submit Dynamic DNS updates for primary 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>
This specifies which hosts are allowed to
submit Dynamic DNS updates to secondary zones to be forwarded to
the
with the
primary server, not the secondaries.
</p>
- <p>
+<p>
Note that enabling the update forwarding feature on a secondary
server
may expose primary servers to attacks if they rely on insecure
access control; 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>
This 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>
This specifies a list of addresses which the
server does accept queries from or use to resolve a
query. Queries
from these addresses are not 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>
This 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>
This specifies a list of addresses to which the server
sends 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>
This 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
is 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 treats
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>
does 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>
This is the amount of time in seconds that the
resolver spends 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> results 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 answers 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 listens on all interfaces allowed by the address
match list. If a port is not specified, port 53 is 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>
enables 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 listens 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
listens for incoming queries sent using IPv6. If not specified,
the server listens 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>
are 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>
enables the name server on port 53 for any IPv6 addresses
(with a single wildcard socket),
and on port 1234 of IPv6 addresses that are not in the prefix
2001:db8::/32 (with separate sockets for each matched address).
</p>
-
- <p>
+<p>
To instruct the server not to 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 does not know the answer to a question, it
queries 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>)
is 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 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> checks whether the operating
<span class="command"><strong>named</strong></span> uses the corresponding system
default range; otherwise, it uses 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 are sufficiently large for
security. A desirable size depends on several 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 do 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>
This option 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 overrides
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 are 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 are 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 are 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 are 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>
This specifies the rate at which NOTIFY requests are 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 is 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>
This is the rate at which NOTIFY requests are sent
when the name server is first starting up, or when
zones have been newly added to the name server.
The default is 20 per second.
The lowest possible rate is one per second; when set
to zero, it is 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>
Secondary servers periodically query primary
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 is 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>
BIND 9 does not limit the number of outstanding
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 are
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; any
values outside that range are 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>
This is the maximum number of inbound zone transfers
that can run 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 secondary 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>
This is the maximum number of outbound zone transfers
that can run concurrently. Zone transfer requests in
excess
of the limit are 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>
This is the maximum number of inbound zone transfers
that can concurrently transfer 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 is 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>
This option is 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>
This indicates 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>
To avoid using 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>
This indicates 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>
This indicates whether the alternate transfer sources should be used. 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>.
- </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, is used to send NOTIFY
messages. This address must appear in the secondary
<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>
This option acts 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> are 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 do not support
some or
an
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>
This sets 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>
This sets 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>
This sets 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>
This sets 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 by 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>
This 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 option 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>
This sets the maximum number of records permitted in a zone.
The default is zero, which means the maximum is 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, this specified the maximum number of host statistics
entries to be kept.
It is 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>
This sets the maximum number (a "hard quota") of simultaneous
recursive lookups the server performs 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
are not accepted, and for each incoming request
a previous pending request is 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 is 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>
This is the maximum number of simultaneous client TCP
connections that the server accepts.
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 accepts
self-tune this value and changes are 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 exceeds this value, <span class="command"><strong>named</strong></span>
estimate is then 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,
there is no limit on the number of clients per query
and no queries are dropped.
</p>
- <p>
+<p>
If <span class="command"><strong>max-clients-per-query</strong></span> is set to zero,
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>
This sets the maximum number of simultaneous iterative
queries to any one domain that the server
permits 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 are all 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,
there is no limit on the number of fetches per query
and no queries are 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>
This sets the maximum number of simultaneous iterative
queries that the server allows 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 are 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,
there is no limit on the number of fetches per query
and no queries are 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>
This 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>
This sets 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> fewer 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>
This sets the maximum amount of memory to use for the
server's cache, in bytes or percentage of total physical memory.
When the amount of data in the cache
once at startup, so <span class="command"><strong>named</strong></span> does 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>
This sets 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 are 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 removed expired resource records
from the cache every <span class="command"><strong>cleaning-interval</strong></span> minutes.
rely on periodic cleaning anymore.
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 performs 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 occurs.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>interface-interval</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
The server scans the network interface list
every <span class="command"><strong>interface-interval</strong></span>
minutes. The default
discovered interfaces (provided they are allowed by the
<span class="command"><strong>listen-on</strong></span> configuration), and
stops 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 are 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>
This option is not 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 topologically 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 normally returns 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 is 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 get responses preferring
addresses on any of the locally connected networks. Next most
the 192.168.5/24 network 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 illustrates reasonable behavior for the
local host and hosts on directly connected networks. Responses sent to queries from
the local host favor any of the directly connected
directly connected network prefer addresses on that same
network. Responses to other queries are not 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>
-
- <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>
While alternating the order of records in a DNS response between
subsequent queries is a known load distribution technique, certain
caveats apply (mostly stemming from caching) which usually make it
a suboptimal choice for load balancing purposes when used on its
own.
</p>
- </div>
-
- <p>
+</div>
+<p>
The <span class="command"><strong>rrset-order</strong></span> statement permits configuration
of the ordering of the records in a multiple-record response. See
also: <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>
Each rule in an <span class="command"><strong>rrset-order</strong></span> statement 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>
The default qualifiers for each rule are:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
</ul></div>
<p>
</p>
-
- <p>
+<p>
<em class="replaceable"><code><domain_name></code></em> only matches the name
itself, not any of its subdomains. To make a rule match all
subdomains of a given name, a wildcard name
<em class="replaceable"><code><domain_name></code></em> and one for
<em class="replaceable"><code>*.<domain_name></code></em>.
</p>
-
- <p>
+<p>
The legal values for <em class="replaceable"><code><ordering></code></em>
are:
</p>
-
- <div class="variablelist"><dl class="variablelist">
+<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>fixed</strong></span></span></dt>
<dd>
- <p>
+<p>
Records are returned in the order they are defined in the zone
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>
The <span class="command"><strong>fixed</strong></span> option is only available if
BIND is configured with
<span class="command"><strong>--enable-fixed-rrset</strong></span> at compile time.
</p>
- </div>
- </dd>
+</div>
+</dd>
<dt><span class="term"><span class="command"><strong>random</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
Records are returned in a random order.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>cyclic</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
Records are returned in a cyclic round-robin order, rotating
by one record per query.
- </p>
- </dd>
+ </p></dd>
</dl></div>
-
- <p>
+<p>
By default, records are returned in random order.
</p>
-
- <p>
+<p>
Note that if multiple <span class="command"><strong>rrset-order</strong></span> statements are
present in the configuration file (at both the
<span class="command"><strong>options</strong></span> and <span class="command"><strong>view</strong></span> levels), they
one (<span class="command"><strong>view</strong></span>) replaces the less-specific one
(<span class="command"><strong>options</strong></span>).
</p>
-
- <p>
+<p>
If multiple rules within a single <span class="command"><strong>rrset-order</strong></span>
statement match a given RRset, the first matching rule is applied.
</p>
-
- <p>
+<p>
Example:
</p>
-
<pre class="programlisting">rrset-order {
type A name "foo.isc.org" order random;
type AAAA name "foo.isc.org" order cyclic;
name "*.baz.isc.org" order cyclic;
};
</pre>
-
- <p>
+<p>
With the above configuration, the following RRset ordering is used:
</p>
-
- <div class="informaltable">
- <table class="informaltable" border="1">
+<div class="informaltable"><table class="informaltable" border="1">
<colgroup>
<col>
<col>
<td><p><span class="command"><strong>cyclic</strong></span></p></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="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>
This 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>
This 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 is 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 is
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>
This sets the maximum time for which the server
caches 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>
This sets 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>
This is not implemented in <acronym class="acronym">BIND</acronym> 9.
</p>
- </div>
- </dd>
+</div>
+</dd>
<dt><span class="term"><span class="command"><strong>sig-validity-interval</strong></span></span></dt>
<dd>
- <p>
+<p>
This specifies the number of days into the future that
DNSSEC signatures that are 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
value is 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>
This specifies 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>
This specifies a threshold number of signatures that
terminates 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>
This specifies a private RDATA type to be used when generating
signing-state records. The default is
<code class="literal">65534</code>.
</p>
- <p>
+<p>
This parameter may be removed
in a future version, once there is a standard type.
</p>
- <p>
+<p>
Signing-state records are used 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 primary, giving secondary 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
secondary 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>
This 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.
are silently adjusted to the nearest value within
it. The default value is 1232.
</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 advertises 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>
tries again with plain DNS; if that is successful,
it is taken as evidence that the server does not
periodically sends 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> advertises 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 exceed
<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>
This sets the maximum EDNS UDP message size that
<span class="command"><strong>named</strong></span> sends, in bytes.
Valid values are 512 to 4096; values outside this
range are silently adjusted to the nearest
value within it. The default value is 1232.
</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 allow 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 encourages additional
TCP traffic to the name server.
</p>
- </dd>
+</dd>
<dt><span class="term"><span class="command"><strong>masterfile-format</strong></span></span></dt>
<dd>
- <p>This specifies
+<p>This 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 format other 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>
This 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>
This 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 recursions 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>
This sets the maximum number of iterative queries that
may be sent while servicing a recursive query.
If more queries are sent, the recursive query
is terminated and returns SERVFAIL. The default is 100.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>notify-delay</strong></span></span></dt>
<dd>
- <p>
+<p>
This sets the delay, in seconds, between sending sets of NOTIFY
messages for a zone. The default is 5 seconds.
</p>
- <p>
+<p>
The overall rate at which 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>
This sets the maximum RSA exponent size, in bits, that is
accepted when validating. Valid values are 35
to 4096 bits. The default, zero, 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>
<code class="option">prefetch</code> specifies the
"trigger" TTL value at which prefetch of the current
query takes 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 is accepted for a record to be
adjusts 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 name server to try,
this indicates by how many milliseconds to prefer IPv6 name servers.
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>
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>
This is 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> and 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>) also
disables 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>
This is 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> and class <span class="command"><strong>CHAOS</strong></span>.
identify which of a group of anycast servers is actually
answering the 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>
This is 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> causes <span class="command"><strong>named</strong></span> to
use the hostname as found by the <span class="command"><strong>gethostname()</strong></span> function.
The default <span class="command"><strong>server-id</strong></span> is <span class="command"><strong>none</strong></span>.
- </p>
- </dd>
-</dl></div>
-
- </div>
-
- <div class="section">
+ </p></dd>
+</dl></div>
+</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, for 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 attempts to determine if a built-in zone
already exists or is active (covered by a forward-only
forwarding declaration) and does not create an empty
zone if either is true.
</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 can be set 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 using the address ranges covered here,
reverse zones covering the addresses should already be in place.
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
enables 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>
This specifies the server name that appears in the returned
SOA record for empty zones. If none is specified,
the zone's name is used.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>empty-contact</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This specifies the contact name that appears in the returned
SOA record for empty zones. If none is specified,
"." is used.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>empty-zones-enable</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This enables or disables 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>
This disables 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
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>
To obtain the maximum performance improvement
from additional section caching, setting
<span class="command"><strong>additional-from-cache</strong></span>
does not shortcut 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 <span class="command"><strong>acache</strong></span> 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>,
only a single RR), so the
ordering is not significant.
</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 removes 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 occurs.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="command"><strong>max-acache-size</strong></span></span></dt>
-<dd>
- <p>
+<dd><p>
This is 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
<span class="command"><strong>acache</strong></span> 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 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 is 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> is 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 is 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 the user's own network or
</a>
for more details about these attacks.
</p>
-
- <p>
+<p>
For example, with a domain named "example.net" and
an internal network using an IPv4 prefix 192.0.2.0/24,
an administrator 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 let a web browser in the 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 would be
ignored.
</p>
-
- <p>
+<p>
On the other hand, if the browser looked up a legitimate
internal web server "www.example.net" and the
following response were 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 would 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 with having an "external" name
mapped to an "internal" IP address or domain name
no other choice and the attack is a
real threat to applications.
</p>
-
- <p>
+<p>
Care should be particularly taken if using 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 rejection lists.
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 <span class="command"><strong>response-policy</strong></span> 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
those defined in <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 are 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>
+<p>
NSDNAME triggers match names of authoritative servers
for the query name, a parent of the query name, a CNAME for
the query name, or a parent of a CNAME.
triggers off or on for a single policy zone or for all
zones.
</p>
-
- <p>
+<p>
If authoritative nameservers for the query name are not
yet known, <span class="command"><strong>named</strong></span> recursively
looks up the authoritative servers for the query name
rules are always applied, even if authoritative
servers for the query name need to be looked up first.
</p>
- </dd>
+</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> recursively looks up
the IP address before applying an RPZ-NSIP rule,
rules are always 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 auto-acceptance 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 auto-rejection 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 a
CNAME whose target is the wildcard top-level
domain (<code class="literal">*.</code>).
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 an ordinary CNAME after the asterisk (*)
This special form is useful for query logging in the
walled garden's authoritative 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 are often not 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>
each override 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 for
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 the requested 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 the policy zone. It is then limited
to a maximum value.
The <span class="command"><strong>max-policy-ttl</strong></span> clause changes the
maximum number of seconds from its default of 5.
</p>
-
- <p>
+<p>
For example, an administrator 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 responses
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,
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><div><h4 class="title">
<a name="nxdomain_redirect"></a>NXDOMAIN Redirection</h4></div></div></div>
- <p>
+<p>
<span class="command"><strong>named</strong></span> 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 either method, when <span class="command"><strong>named</strong></span> gets an 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) must be stored.
</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 a remote server is giving out bad data,
marking it as bogus prevents 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 primary, responds 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 secondary, requests incremental zone
also be set in the zone block; if set there, it
overrides the global or view setting for that zone.
</p>
-
- <p>
+<p>
IXFR requests to servers that do not support IXFR
automatically
fall back to AXFR. Therefore, there is no need to manually list
and secondary 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 secondary,
requests 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 attempts 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 is sent to the server(s)
by the resolver. The actual EDNS version sent is still
adjusted. This option is not 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>
sends. Valid values are 512 to 4096 bytes; values
option is useful when 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 single message, which is
by the <span class="command"><strong>options</strong></span> statement is
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, respectively, 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, respectively, 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 adds an 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 adds 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 on
the name server.
</p>
-
- <p>
+<p>
This statement is intended 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 fails 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>
Attempts to open a statistics channel are
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> does 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
is not 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, and algorithm, and the Base64
in the key data, so the configuration may be split 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 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, 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> statement, differing
by the presence of the second field, which contains 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 is
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 is no longer 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 is 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 are 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>
automatically initializes 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 is seen by a subset of clients. A client
a client request is 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 are
only 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">forward</code>, <code class="varname">redirect</code>,
or <code class="varname">delegation-only</code>.
</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>
Later versions of BIND added <span class="command"><strong>type primary</strong></span>
and <span class="command"><strong>type secondary</strong></span> as synonyms for
as those terms are in more common use now. BIND 9.11's
configuration syntax predates this change.
</div>
-
- <div class="informaltable">
- <table class="informaltable" border="1">
+<div class="informaltable"><table class="informaltable" 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 was
used to share information about various systems databases, such
<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>
This 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>
This option is only meaningful if <span class="command"><strong>notify</strong></span>
is
active for this zone. The set of machines that
<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 zone files and/or DNS responses
For primary zones the default is <span class="command"><strong>fail</strong></span>;
for secondary 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>
This specifies the type of database to be used to store 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>
This flag only applies to forward, hint, and stub
zones. If set to <strong class="userinput"><code>yes</code></strong>,
then the zone is 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>
This sets 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>
This option is 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>
allows 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>
This is 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>
This 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>
This was an undocumented option in <acronym class="acronym">BIND</acronym> 8.
It is 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>
This allows 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 primary (<span class="command"><strong>master</strong></span>)
and secondary (<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 to specify
a public zone key for verification of signatures in DNSSEC-signed
zones when they were 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>
This option is only meaningful for static-stub zones.
This is a list of IP addresses to which queries
should be sent in recursive resolution for the
configures 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 used internally to resolve
names under the static-stub zone.
For instance, if the server receives a query for
initiates recursive resolution and sends
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>
This option is only meaningful for static-stub zones.
This is a list of domain names of name servers that
act as authoritative servers of the static-stub
"ns.example.net" cannot; it is rejected by
the configuration parser.
</p>
- <p>
+<p>
A non-empty list for this option internally
configures the apex NS RR with the specified names.
For example, if "example.com" is configured as a
in a <span class="command"><strong>server-names</strong></span> option,
the following RRs are internally configured:
</p>
-
<pre class="programlisting">example.com. NS ns1.example.net.
example.com. NS ns2.example.net.
</pre>
-
- <p>
+<p>
These records are used internally 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 sends
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>
-<dt><span class="term"><span class="command"><strong>notify-source-v6</strong></span></span></dt>
-<dd>
- <p>
+ </p></dd>
+<dt><span class="term"><span class="command"><strong>notify-source-v6</strong></span></span></dt>
+<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 descriptions 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>
choices of <strong class="userinput"><code>master</code></strong> and
<strong class="userinput"><code>slave</code></strong> 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 an
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
+<p><acronym class="acronym">BIND</acronym> 9 supports two
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> options.
</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 which 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 primary zones (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 are 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> 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
represents 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">krb5-subdomain</code>, <code class="varname">tcp-self</code>,
<code class="varname">6to4-self</code>, and <code class="varname">external</code>.
</p>
- <div class="informaltable">
- <table class="informaltable" border="1">
+<div class="informaltable"><table class="informaltable" 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
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
, with the exception of <span class="command"><strong>forward</strong></span>
the behavior of the containing view, rather than change
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. Be
careful 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 type 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.4.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 class="informaltable" border="1">
<colgroup>
<col width="1.000in" class="1">
<col width="3.500in" class="2">
</td>
</tr>
</tbody>
-</table>
- </div>
- <p>
+</table></div>
+<p>
For a complete list of <span class="emphasis"><em>types</em></span> of valid RRs,
including those that have been obsoleted,
please refer to https://en.wikipedia.org/wiki/List_of_DNS_record_types.
</p>
-
- <p>
+<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 class="informaltable" 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 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 are 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. To avoid ambiguity
values
are often omitted from examples in the interest of clarity.
</p>
- <p>
+<p>
The resource data or RDATA section of the RR is given using
knowledge of the typical representation for the data.
</p>
- <p>
+<p>
For example, the RRs carried in a message might be shown as:
</p>
- <div class="informaltable">
-<table class="informaltable" border="1">
+<div class="informaltable"><table class="informaltable" 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>
Here is another possible example:
</p>
- <div class="informaltable">
-<table class="informaltable" border="1">
+<div class="informaltable"><table class="informaltable" 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 is ignored.
Instead,
pointed to by the CNAME.
For example:
</p>
- <div class="informaltable">
- <table class="informaltable" border="1">
+<div class="informaltable"><table class="informaltable" 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 is attempted to <code class="literal">mail.example.com</code> and
<code class="literal">mail2.example.com</code> (in
any order); if neither of those succeeds, delivery to <code class="literal">mail.backup.org</code>
is 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- (TTL) 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 an 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 class="informaltable" 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 class="informaltable" 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> line in this example
is only to provide context; it does not
necessarily
appear in the actual usage. It is 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 DNS "master file" format was initially defined in RFC 1035 and
has subsequently been extended. While the 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 a
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 is appended to any
unqualified records. When a zone is first read, 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>
This reads and processes the file <code class="filename">filename</code> as
if it were included in 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>
This sets 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> Primary 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>
Both generate a set of A and MX records. Note the MX's right-hand
side is a quoted string. The quotes are 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 class="informaltable" 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 text 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 can be loaded
function and 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
zone transfer or when applying prior updates, if one of these formats is specified by the
<span class="command"><strong>masterfile-format</strong></span> option.
</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. Make any
then convert it to the binary form via 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>BIND 9 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
access those statistics.
that 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 class="informaltable" 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 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 in 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 the 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 class="informaltable" 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 class="informaltable" 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 class="informaltable" 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
type, 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 class="informaltable" 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.
- </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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
<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
can be set up and nicknamed 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>
ACLs give users finer control over who can access
the name server, without cluttering up configuration 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. Limiting access to the server by
outside parties can help prevent spoofing and denial of service
(DoS) attacks against the 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 blocks
// RFC 1918 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> parameter 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 is 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 ACL
elements are matched against that address prefix. Otherwise,
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
indicates 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 tells
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 is
rejected, which terminates processing of the
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 limits
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>
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>), the
options like <span class="command"><strong>directory</strong></span> and
<span class="command"><strong>pid-file</strong></span> must be adjusted to account for this.
</p>
- <p>
+<p>
Unlike with earlier versions of BIND,
<span class="command"><strong>named</strong></span> does <span class="emphasis"><em>not</em></span> typically need to be compiled
statically, nor do shared libraries need to be installed 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
where <acronym class="acronym">BIND</acronym>
should 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
forwards it to the primary with its own source IP address - causing the
primary 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 <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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
<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 installation and
configuration issues is to take preventive measures by setting
up logging files beforehand. The log files provide a
source of hints and information that can be used to identify
what went wrong and 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 are not
date-related. However, many people set them to a number that
represents a date, usually of the form YYYYMMDDRR.
lower than the serial number on the primary, the secondary
server attempts to update its copy of the zone.
</p>
-
- <p>
+<p>
Setting the serial number to a lower number on the primary
server than the one on the secondary server means that the secondary 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 secondaries have updated to
the new zone serial number, then reset it to the desired number
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 BIND-users mailing list, at https://lists.isc.org/mailman/listinfo/bind-users,
is an excellent resource for peer user support. In addition, <acronym class="acronym">ISC</acronym> maintains a
Knowledgebase of helpful articles at https://kb.isc.org.
</p>
-
- <p>
+<p>
Internet Systems Consortium
(<acronym class="acronym">ISC</acronym>) offers annual
support agreements for <acronym class="acronym">BIND</acronym>9, ISC <acronym class="acronym">DHCP</acronym>, and Kea DHCP.
service level agreements (SLAs), premium software features, and increased priority on bug fixes
and feature requests.
</p>
-
- <p>
+<p>
Please contact
<a class="link" href="mailto:info@isc.org" target="_top">info@isc.org</a> or visit
<a class="link" href="https://www.isc.org/contact/" target="_top">https://www.isc.org/contact/</a>
for more information.
</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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (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.25</a></span></dt>
+<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.11.26</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.26">Notes for BIND 9.11.26</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.25">Notes for BIND 9.11.25</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.24">Notes for BIND 9.11.24</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.23">Notes for BIND 9.11.23</a></span></dt>
</dl></dd>
</dl>
</div>
- <div class="section">
+<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.25</h2></div></div></div>
-
- <div class="section">
+<a name="id-1.10.2"></a>Release Notes for BIND Version 9.11.26</h2></div></div></div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_intro"></a>Introduction</h3></div></div></div>
- <p>
+<p>
BIND 9.11 (Extended Support Version) is a stable branch of BIND.
This document summarizes significant changes since the last
production release on that branch.
</p>
- <p>
+<p>
Please see the file <code class="filename">CHANGES</code> for a more
detailed list of changes and bug fixes.
</p>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_download"></a>Download</h3></div></div></div>
- <p>
+<p>
The latest versions of BIND 9 software can always be found at
<a class="link" href="https://www.isc.org/download/" target="_top">https://www.isc.org/download/</a>.
There you will find additional information about each release,
operating systems.
</p>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_license"></a>License Change</h3></div></div></div>
- <p>
+<p>
With the release of BIND 9.11.0, ISC changed to the open
source license for BIND from the ISC license to the Mozilla
Public License (MPL 2.0).
</p>
- <p>
+<p>
The MPL-2.0 license requires that if you make changes to
licensed software (e.g. BIND) and distribute them outside
your organization, that you publish those changes under that
same license. It does not require that you publish or disclose
anything other than the changes you made to our software.
</p>
- <p>
+<p>
This requirement will not affect anyone who is using BIND, with
or without modifications, without redistributing it, nor anyone
redistributing it without changes. Therefore, this change will be
without consequence for most individuals and organizations who are
using BIND.
</p>
- <p>
+<p>
Those unsure whether or not the license change affects their
use of BIND, or who wish to discuss how to comply with the
license may contact ISC at <a class="link" href="https://www.isc.org/mission/contact/" target="_top">
https://www.isc.org/mission/contact/</a>.
</p>
</div>
-
- <div class="section">
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="relnotes-9.11.26"></a>Notes for BIND 9.11.26</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.26-changes"></a>Feature Changes</h4></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ The default value of <span class="command"><strong>max-recursion-queries</strong></span> was
+ increased from 75 to 100. Since the queries sent towards root and TLD
+ servers are now included in the count (as a result of the fix for
+ CVE-2020-8616), <span class="command"><strong>max-recursion-queries</strong></span> has a higher
+ chance of being exceeded by non-attack queries, which is the main
+ reason for increasing its default value. [GL #2305]
+ </p></li>
+<li class="listitem"><p>
+ The default value of <span class="command"><strong>nocookie-udp-size</strong></span> was restored
+ back to 4096 bytes. Since <span class="command"><strong>max-udp-size</strong></span> is the upper
+ bound for <span class="command"><strong>nocookie-udp-size</strong></span>, this change relieves
+ the operator from having to change
+ <span class="command"><strong>nocookie-udp-size</strong></span> together with
+ <span class="command"><strong>max-udp-size</strong></span> in order to increase the default EDNS
+ buffer size limit. <span class="command"><strong>nocookie-udp-size</strong></span> can still be
+ set to a value lower than <span class="command"><strong>max-udp-size</strong></span>, if desired.
+ [GL #2250]
+ </p></li>
+</ul></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.26-bugs"></a>Bug Fixes</h4></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ Handling of missing DNS COOKIE responses over UDP was tightened by
+ falling back to TCP. [GL #2275]
+ </p></li>
+<li class="listitem"><p>
+ The CNAME synthesized from a DNAME was incorrectly followed when the
+ QTYPE was CNAME or ANY. [GL #2280]
+ </p></li>
+<li class="listitem"><p>
+ Building with native PKCS#11 support for AEP Keyper has been broken
+ since BIND 9.11.22. This has been fixed. [GL #2315]
+ </p></li>
+</ul></div>
+</div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.25"></a>Notes for BIND 9.11.25</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.25-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> acting as a resolver could incorrectly treat
signed zones with no DS record at the parent as bogus. Such zones
should be treated as insecure. This has been fixed. [GL #2236]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
After a Negative Trust Anchor (NTA) is added, BIND performs periodic
checks to see if it is still necessary. If BIND encountered a failure
while creating a query to perform such a check, it attempted to
dereference a NULL pointer, resulting in a crash. [GL #2244]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A problem obtaining glue records could prevent a stub zone from
functioning properly, if the authoritative server for the zone were
configured for minimal responses. [GL #1736]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.24"></a>Notes for BIND 9.11.24</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.24-changes"></a>Feature Changes</h4></div></div></div>
- <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>
DNS Flag Day 2020: The default EDNS buffer size has been changed from
4096 to 1232 bytes. According to measurements done by multiple
parties, this should not cause any operational problems as most of
maximum Ethernet payload size, so a useful default for maximum
DNS/UDP payload size on reliable networks would be 1400 bytes.
[GL #2183]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.24-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> reported an invalid memory size when running
in an environment that did not properly report the number of available
memory pages and/or the size of each memory page. [GL #2166]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
With multiple forwarders configured, <span class="command"><strong>named</strong></span> could
fail the <code class="code">REQUIRE(msg->state == (-1))</code> assertion in
<code class="filename">lib/dns/message.c</code>, causing it to crash. This has
been fixed. [GL #2124]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.23"></a>Notes for BIND 9.11.23</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.23-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Parsing of LOC records was made more strict by rejecting a sole period
(<strong class="userinput"><code>.</code></strong>) and/or <strong class="userinput"><code>m</code></strong> as a value.
These changes prevent zone files using such values from being loaded.
Handling of negative altitudes which are not integers was also
corrected. [GL #2074]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Several problems found by <a class="link" href="https://github.com/google/oss-fuzz" target="_top">OSS-Fuzz</a> were
fixed. (None of these are security issues.) [GL !3953] [GL !3975]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.22"></a>Notes for BIND 9.11.22</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.22-security"></a>Security Fixes</h4></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>
It was possible to trigger an assertion failure when verifying the
response to a TSIG-signed request. This was disclosed in
CVE-2020-8622.
</p>
- <p>
+<p>
ISC would like to thank Dave Feldman, Jeff Warren, and Joel Cunningham
of Oracle for bringing this vulnerability to our attention. [GL #2028]
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
When BIND 9 was compiled with native PKCS#11 support, it was possible
to trigger an assertion failure in code determining the number of bits
in the PKCS#11 RSA public key with a specially crafted packet. This
was disclosed in CVE-2020-8623.
</p>
- <p>
+<p>
ISC would like to thank Lyu Chiy for bringing this vulnerability to
our attention. [GL #2037]
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
<span class="command"><strong>update-policy</strong></span> rules of type
<span class="command"><strong>subdomain</strong></span> were incorrectly treated as
<span class="command"><strong>zonesub</strong></span> rules, which allowed keys used in
<span class="command"><strong>subdomain</strong></span> rules are again processed as described in
the ARM. This was disclosed in CVE-2020-8624.
</p>
- <p>
+<p>
ISC would like to thank Joop Boonen of credativ GmbH for bringing this
vulnerability to our attention. [GL #2055]
</p>
- </li>
+</li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.22-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Wildcard RPZ passthru rules could incorrectly be overridden by other
rules that were loaded from RPZ zones which appeared later in the
<span class="command"><strong>response-policy</strong></span> statement. This has been fixed.
[GL #1619]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
LMDB locking code was revised to make <span class="command"><strong>rndc reconfig</strong></span>
work properly on FreeBSD and with LMDB >= 0.9.26. [GL #1976]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.21"></a>Notes for BIND 9.11.21</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.21-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> could crash when cleaning dead nodes in
<code class="filename">lib/dns/rbtdb.c</code> that were being reused.
[GL #1968]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Properly handle missing <span class="command"><strong>kyua</strong></span> command so that
<span class="command"><strong>make check</strong></span> does not fail unexpectedly when CMocka
is installed, but Kyua is not. [GL #1950]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The validator could fail to accept a properly signed RRset if an
unsupported algorithm appeared earlier in the DNSKEY RRset than a
supported algorithm. It could also stop if it detected a malformed
public key. [GL #1689]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.20"></a>Notes for BIND 9.11.20</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.20-security"></a>Security Fixes</h4></div></div></div>
- <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>
It was possible to trigger an INSIST failure when a zone with an
interior wildcard label was queried in a certain pattern. This was
disclosed in CVE-2020-8619. [GL #1111] [GL #1718]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.20-new"></a>New Features</h4></div></div></div>
- <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="command"><strong>dig</strong></span> and other tools can now print the Extended DNS
Error (EDE) option when it appears in a request or a response.
[GL #1835]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.20-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
When fully updating the NSEC3 chain for a large zone via IXFR, a
temporary loss of performance could be experienced on the secondary
server when answering queries for nonexistent data that required
the server to find and to return NSEC3 data). The unnecessary
processing step that was causing this delay has now been removed.
[GL #1834]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A data race in <code class="filename">lib/dns/resolver.c:log_formerr()</code>
that could lead to an assertion failure was fixed. [GL #1808]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Previously, <span class="command"><strong>provide-ixfr no;</strong></span> failed to return
up-to-date responses when the serial number was greater than or equal
to the current serial number. [GL #1714]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf -p</strong></span> could include spurious text in
<span class="command"><strong>server-addresses</strong></span> statements due to an uninitialized
DSCP value. This has been fixed. [GL #1812]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The ARM has been updated to indicate that the TSIG session key is
generated when named starts, regardless of whether it is needed.
[GL #1842]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.19"></a>Notes for BIND 9.11.19</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.19-security"></a>Security Fixes</h4></div></div></div>
- <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>
To prevent exhaustion of server resources by a maliciously configured
domain, the number of recursive queries that can be triggered by a
request before aborting recursion has been further limited. Root and
<span class="command"><strong>max-recursion-queries</strong></span> limit. Fetches for missing
name server address records are limited to 4 for any domain. This
issue was disclosed in CVE-2020-8616. [GL #1388]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Replaying a TSIG BADTIME response as a request could
trigger an assertion failure. This was disclosed in
CVE-2020-8617. [GL #1703]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.19-changes"></a>Feature Changes</h4></div></div></div>
- <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>
Message IDs in inbound AXFR transfers are now checked for consistency.
Log messages are emitted for streams with inconsistent message IDs.
[GL #1674]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.19-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
When running on a system with support for Linux capabilities,
<span class="command"><strong>named</strong></span> drops root privileges very soon after system
startup. This was causing a spurious log message, "unable to set
effective uid to 0: Operation not permitted", which has now been
silenced. [GL #1042] [GL #1090]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When <span class="command"><strong>named-checkconf -z</strong></span> was run, it would sometimes
incorrectly set its exit code. It reflected the status of the last
view found; if zone-loading errors were found in earlier configured
views but not in the last one, the exit code indicated success.
Thanks to Graham Clinch. [GL #1807]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When built without LMDB support, <span class="command"><strong>named</strong></span> failed to
restart after a zone with a double quote (") in its name was added
with <span class="command"><strong>rndc addzone</strong></span>. Thanks to Alberto Fernández.
[GL #1695]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<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="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>
+<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">
+ </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>
+<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 are related to RPZ processing, 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>
-
+ </p></li></ul></div>
</div>
- <div class="section">
+</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">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.17-changes"></a>Feature Changes</h4></div></div></div>
- <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 <span class="command"><strong>configure</strong></span> option
<span class="command"><strong>--with-libxml2</strong></span> now uses
<span class="command"><strong>pkg-config</strong></span> to detect libxml2 library
availability. You will either have to install
<span class="command"><strong>pkg-config</strong></span> or specify the exact path where
libxml2 has been installed on your system. [GL #1635]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.17-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed re-signing issues with inline zones which resulted in
records being re-signed late or not at all.
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.16"></a>Notes for BIND 9.11.16</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.16-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> crashed when it was queried for a
nonexistent name in the CHAOS class. [GL #1540]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.15"></a>Notes for BIND 9.11.15</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.15-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a GeoIP2 lookup bug which was triggered when certain
libmaxminddb versions were used. [GL #1552]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Fixed several possible race conditions discovered by
ThreadSanitizer.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.14"></a>Notes for BIND 9.11.14</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.14-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a bug that caused <span class="command"><strong>named</strong></span> to leak memory
on reconfiguration when any GeoIP2 database was in use. [GL #1445]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Fixed several possible race conditions discovered by
ThreadSanitizer.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.13"></a>Notes for BIND 9.11.13</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.13-security"></a>Security Fixes</h4></div></div></div>
- <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>
Set a limit on the number of concurrently served pipelined TCP
queries. This flaw is disclosed in CVE-2019-6477. [GL #1264]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.13-features"></a>New Features</h4></div></div></div>
- <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>
Added a new statistics variable <span class="command"><strong>tcp-highwater</strong></span>
that reports the maximum number of simultaneous TCP clients BIND
has handled while running. [GL #1206]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.12"></a>Notes for BIND 9.11.12</h3></div></div></div>
-
- <p>
+<p>
None.
</p>
-
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.11"></a>Notes for BIND 9.11.11</h3></div></div></div>
-
- <p>
+<p>
None.
</p>
-
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.10"></a>Notes for BIND 9.11.10</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.10-features"></a>New Features</h4></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>
A SipHash 2-4 based DNS Cookie (RFC 7873) algorithm has been added.
[GL #605]
</p>
- <p>
+<p>
If you are running multiple DNS Servers (different versions of BIND 9
or DNS server from multiple vendors) responding from the same IP
address (anycast or load-balancing scenarios), you'll have to make
sure that all the servers are configured with the same DNS Cookie
algorithm and same Server Secret for the best performance.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
DS records included in DNS referral messages can now be validated
and cached immediately, reducing the number of queries needed for
a DNSSEC validation. [GL #964]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.10-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Interaction between DNS64 and RPZ No Data rule (CNAME *.) could
cause unexpected results; this has been fixed. [GL #1106]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf</strong></span> now checks DNS64 prefixes
to ensure bits 64-71 are zero. [GL #1159]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf</strong></span> could crash during
configuration if configured to use "geoip continent" ACLs with
legacy GeoIP. [GL #1163]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf</strong></span> now correctly reports a missing
<span class="command"><strong>dnstap-output</strong></span> option when
<span class="command"><strong>dnstap</strong></span> is set. [GL #1136]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Handle ETIMEDOUT error on connect() with a non-blocking
socket. [GL #1133]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.9"></a>Notes for BIND 9.11.9</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.9-features"></a>New Features</h4></div></div></div>
- <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 new GeoIP2 API from MaxMind is now supported when BIND
is compiled using <span class="command"><strong>configure --with-geoip2</strong></span>.
The legacy GeoIP API can be used by compiling with
the databases for the legacy API are no longer maintained by
MaxMind.)
</p>
- <p>
+<p>
The default path to the GeoIP2 databases will be set based
on the location of the <span class="command"><strong>libmaxminddb</strong></span> library;
for example, if it is in <code class="filename">/usr/local/lib</code>,
This value can be overridden in <code class="filename">named.conf</code>
using the <span class="command"><strong>geoip-directory</strong></span> option.
</p>
- <p>
+<p>
Some <span class="command"><strong>geoip</strong></span> ACL settings that were available with
legacy GeoIP, including searches for <span class="command"><strong>netspeed</strong></span>,
<span class="command"><strong>org</strong></span>, and three-letter ISO country codes, will
<span class="command"><strong>as</strong></span>. All of the databases support both IPv4
and IPv6 lookups. [GL #182]
</p>
- </li></ul></div>
- </div>
-
- <div class="section">
+</li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.9-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Glue address records were not being returned in responses
to root priming queries; this has been corrected. [GL #1092]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.8"></a>Notes for BIND 9.11.8</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.8-security"></a>Security Fixes</h4></div></div></div>
- <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>
A race condition could trigger an assertion failure when
a large number of incoming packets were being rejected.
This flaw is disclosed in CVE-2019-6471. [GL #942]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.7"></a>Notes for BIND 9.11.7</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.7-security"></a>Security Fixes</h4></div></div></div>
- <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 TCP client quota set using the <span class="command"><strong>tcp-clients</strong></span>
option could be exceeded in some cases. This could lead to
exhaustion of file descriptors. This flaw is disclosed in
CVE-2018-5743. [GL #615]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.7-changes"></a>Feature Changes</h4></div></div></div>
- <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>
When <span class="command"><strong>trusted-keys</strong></span> and
<span class="command"><strong>managed-keys</strong></span> are both configured for the
same name, or when <span class="command"><strong>trusted-keys</strong></span> is used to
<code class="literal">auto</code>, automatic RFC 5011 key
rollovers will fail.
</p>
- <p>
+<p>
This combination of settings was never intended to work,
but there was no check for it in the parser. This has been
corrected; a warning is now logged. (In BIND 9.15 and
higher this error will be fatal.) [GL #868]
</p>
- </li></ul></div>
- </div>
-
+</li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.6"></a>Notes for BIND 9.11.6</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.6-security"></a>Security Fixes</h4></div></div></div>
- <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>
Code change #4964, intended to prevent double signatures
when deleting an inactive zone DNSKEY in some situations,
introduced a new problem during zone processing in which
NSEC/NSEC3 chain, but incompletely -- this can result in
a broken chain, affecting validation of proof of nonexistence
for records in the zone. [GL #771]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could crash if it managed a DNSSEC
security root with <span class="command"><strong>managed-keys</strong></span> and the
authoritative zone rolled the key to an algorithm not supported
by BIND 9. This flaw is disclosed in CVE-2018-5745. [GL #780]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> leaked memory when processing a
request with multiple Key Tag EDNS options present. ISC
would like to thank Toshifumi Sakaguchi for bringing this
to our attention. This flaw is disclosed in CVE-2018-5744.
[GL #772]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Zone transfer controls for writable DLZ zones were not
effective as the <span class="command"><strong>allowzonexfr</strong></span> method was
not being called for such zones. This flaw is disclosed in
CVE-2019-6465. [GL #790]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.6-changes"></a>Feature Changes</h4></div></div></div>
- <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>
When compiled with IDN support, the <span class="command"><strong>dig</strong></span> and the
<span class="command"><strong>nslookup</strong></span> commands now disable IDN processing when
the standard output is not a tty (e.g. not used by human). The command
line options +idnin and +idnout need to be used to enable IDN
processing when <span class="command"><strong>dig</strong></span> or <span class="command"><strong>nslookup</strong></span>
is used from the shell scripts.
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.5"></a>Notes for BIND 9.11.5</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-security"></a>Security Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> could crash during recursive processing
of DNAME records when <span class="command"><strong>deny-answer-aliases</strong></span> was
in use. This flaw is disclosed in CVE-2018-5740. [GL #387]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-features"></a>New Features</h4></div></div></div>
- <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>
Two new update policy rule types have been added
<span class="command"><strong>krb5-selfsub</strong></span> and <span class="command"><strong>ms-selfsub</strong></span>
which allow machines with Kerberos principals to update
the name space at or below the machine names identified
in the respective principals.
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-changes"></a>Feature Changes</h4></div></div></div>
- <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 <span class="command"><strong>rndc nta</strong></span> command could not differentiate
between views of the same name but different class; this
has been corrected with the addition of a <span class="command"><strong>-class</strong></span>
option. [GL #105]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
When a negative trust anchor was added to multiple views
using <span class="command"><strong>rndc nta</strong></span>, the text returned via
<span class="command"><strong>rndc</strong></span> was incorrectly truncated after the
first line, making it appear that only one NTA had been
added. This has been fixed. [GL #105]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.4"></a>Notes for BIND 9.11.4</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-security"></a>Security Fixes</h4></div></div></div>
- <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>
When recursion is enabled but the <span class="command"><strong>allow-recursion</strong></span>
and <span class="command"><strong>allow-query-cache</strong></span> ACLs are not specified, they
should be limited to local networks, but they were inadvertently set
to match the default <span class="command"><strong>allow-query</strong></span>, thus allowing
remote queries. This flaw is disclosed in CVE-2018-5738. [GL #309]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-features"></a>New Features</h4></div></div></div>
- <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="command"><strong>named</strong></span> now supports the "root key sentinel"
mechanism. This enables validating resolvers to indicate
which trust anchors are configured for the root, so that
To disable this feature, add
<span class="command"><strong>root-key-sentinel no;</strong></span> to
<code class="filename">named.conf</code>.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
Added the ability not to return a DNS COOKIE option when one
is present in the request. To prevent a cookie being returned,
add <span class="command"><strong>answer-cookie no;</strong></span> to
<code class="filename">named.conf</code>. [GL #173]
</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
mechanism, and should not be disabled unless absolutely
necessary.
</p>
- </li>
+</li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-removed"></a>Removed Features</h4></div></div></div>
- <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="command"><strong>named</strong></span> will now log a warning if the old
BIND now can be compiled against libidn2 library to add
IDNA2008 support. Previously BIND only supported IDNA2003
using (now obsolete) idnkit-1 library.
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>dig +noidnin</strong></span> can be used to disable IDN
processing on the input domain name, when BIND is compiled
with IDN support.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Multiple <span class="command"><strong>cookie-secret</strong></span> clause are now
supported. The first <span class="command"><strong>cookie-secret</strong></span> in
<code class="filename">named.conf</code> is used to generate new
server cookies. Any others are used to accept old server
cookies or those generated by other servers using the
matching <span class="command"><strong>cookie-secret</strong></span>.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> now rejects excessively large
incremental (IXFR) zone transfers in order to prevent
possible corruption of journal files which could cause
<span class="command"><strong>named</strong></span> to abort when loading zones. [GL #339]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc reload</strong></span> could cause <span class="command"><strong>named</strong></span>
to leak memory if it was invoked before the zone loading actions
from a previous <span class="command"><strong>rndc reload</strong></span> command were
completed. [RT #47076]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.3"></a>Notes for BIND 9.11.3</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-security"></a>Security Fixes</h4></div></div></div>
- <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>
Addresses could be referenced after being freed during resolver
processing, causing an assertion failure. The chances of this
happening were remote, but the introduction of a delay in
resolution increased them. This bug is disclosed in
CVE-2017-3145. [RT #46839]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
update-policy rules that otherwise ignore the name field now
require that it be set to "." to ensure that any type list
present is properly interpreted. If the name field was omitted
from the rule declaration and a type list was present it wouldn't
be interpreted as expected.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-removed"></a>Removed Features</h4></div></div></div>
- <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 ISC DNSSEC Lookaside Validation (DLV) service has
been shut down; all DLV records in the dlv.isc.org zone
have been removed. References to the service have been
Setting <span class="command"><strong>dnssec-lookaside</strong></span> to
<span class="command"><strong>auto</strong></span> or to use dlv.isc.org as a trust
anchor results in a warning being issued.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> will now log a warning if the old
root DNSSEC key is explicitly configured and has not been updated.
[RT #43670]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="proto_changes"></a>Protocol Changes</h4></div></div></div>
- <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>
BIND can now use the Ed25519 and Ed448 Edwards Curve DNSSEC
signing algorithms described in RFC 8080. Note, however, that
these algorithms must be supported in OpenSSL;
<a class="link" href="https://github.com/openssl/openssl" target="_top">
https://github.com/openssl/openssl</a>.
[RT #44696]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When parsing DNS messages, EDNS KEY TAG options are checked
for correctness. When printing messages (for example, in
<span class="command"><strong>dig</strong></span>), EDNS KEY TAG options are printed
in readable format.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>named</strong></span> will no longer start or accept
reconfiguration if <span class="command"><strong>managed-keys</strong></span> or
<span class="command"><strong>dnssec-validation auto</strong></span> are in use and
<span class="command"><strong>managed-keys-directory</strong></span>, and defaulting
to the working directory if not specified),
is not writable by the effective user ID. [RT #46077]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Previously, <span class="command"><strong>update-policy local;</strong></span> accepted
updates from any source so long as they were signed by the
locally-generated session key. This has been further restricted;
updates are now only accepted from locally configured addresses.
[RT #45492]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Attempting to validate improperly unsigned CNAME responses
from secure zones could cause a validator loop. This caused
a delay in returning SERVFAIL and also increased the chances
of encountering the crash bug described in CVE-2017-3145.
[RT #46839]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When <span class="command"><strong>named</strong></span> was reconfigured, failure of some
zones to load correctly could leave the system in an inconsistent
state; while generally harmless, this could lead to a crash later
when using <span class="command"><strong>rndc addzone</strong></span>. Reconfiguration changes
are now fully rolled back in the event of failure. [RT #45841]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Some header files included <isc/util.h> incorrectly as
it pollutes with namespace with non ISC_ macros and this should
only be done by explicitly including <isc/util.h>. This
has been corrected. Some code may depend on <isc/util.h>
being implicitly included via other header files. Such
code should explicitly include <isc/util.h>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Zones created with <span class="command"><strong>rndc addzone</strong></span> could
temporarily fail to inherit the <span class="command"><strong>allow-transfer</strong></span>
ACL set in the <span class="command"><strong>options</strong></span> section of
<code class="filename">named.conf</code>. [RT #46603]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> failed to properly determine whether
there were active KSK and ZSK keys for an algorithm when
<span class="command"><strong>update-check-ksk</strong></span> was true (which is the
default setting). This could leave records unsigned
when rolling keys. [RT #46743] [RT #46754] [RT #46774]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.2"></a>Notes for BIND 9.11.2</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.2-security"></a>Security Fixes</h4></div></div></div>
- <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>
An error in TSIG handling could permit unauthorized zone
transfers or zone updates. These flaws are disclosed in
CVE-2017-3142 and CVE-2017-3143. [RT #45383]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The BIND installer on Windows used an unquoted service path,
which can enable privilege escalation. This flaw is disclosed
in CVE-2017-3141. [RT #45229]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
With certain RPZ configurations, a response with TTL 0
could cause <span class="command"><strong>named</strong></span> to go into an infinite
query loop. This flaw is disclosed in CVE-2017-3140.
[RT #45181]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.2-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>dig +ednsopt</strong></span> now accepts the names
for EDNS options in addition to numeric values. For example,
an EDNS Client-Subnet option could be sent using
<span class="command"><strong>dig +ednsopt=ecs:...</strong></span>. Thanks to
John Worley of Secure64 for the contribution. [RT #44461]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Threads in <span class="command"><strong>named</strong></span> are now set to human-readable
names to assist debugging on operating systems that support that.
Threads will have names such as "isc-timer", "isc-sockmgr",
"isc-worker0001", and so on. This will affect the reporting of
subsidiary thread names in <span class="command"><strong>ps</strong></span> and
<span class="command"><strong>top</strong></span>, but not the main thread. [RT #43234]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
DiG now warns about .local queries which are reserved for
Multicast DNS. [RT #44783]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.2-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a bug that was introduced in an earlier development
release which caused multi-packet AXFR and IXFR messages to fail
validation if not all packets contained TSIG records; this
caused interoperability problems with some other DNS
implementations. [RT #45509]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Reloading or reconfiguring <span class="command"><strong>named</strong></span> could
fail on some platforms when LMDB was in use. [RT #45203]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Due to some incorrectly deleted code, when BIND was
built with LMDB, zones that were deleted via
<span class="command"><strong>rndc delzone</strong></span> were removed from the
running server but were not removed from the new zone
database, so that deletion did not persist after a
server restart. This has been corrected. [RT #45185]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Semicolons are no longer escaped when printing CAA and
URI records. This may break applications that depend on the
presence of the backslash before the semicolon. [RT #45216]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
AD could be set on truncated answer with no records present
in the answer and authority sections. [RT #45140]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.1"></a>Notes for BIND 9.11.1</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-security"></a>Security Fixes</h4></div></div></div>
- <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="command"><strong>rndc ""</strong></span> could trigger an assertion failure
in <span class="command"><strong>named</strong></span>. This flaw is disclosed in
(CVE-2017-3138). [RT #44924]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Some chaining (i.e., type CNAME or DNAME) responses to upstream
queries could trigger assertion failures. This flaw is disclosed
in CVE-2017-3137. [RT #44734]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dns64</strong></span> with <span class="command"><strong>break-dnssec yes;</strong></span>
can result in an assertion failure. This flaw is disclosed in
CVE-2017-3136. [RT #44653]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If a server is configured with a response policy zone (RPZ)
that rewrites an answer with local data, and is also configured
for DNS64 address mapping, a NULL pointer can be read
triggering a server crash. This flaw is disclosed in
CVE-2017-3135. [RT #44434]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A coding error in the <code class="option">nxdomain-redirect</code>
feature could lead to an assertion failure if the redirection
namespace was served from a local authoritative data source
such as a local zone or a DLZ instead of via recursive
lookup. This flaw is disclosed in CVE-2016-9778. [RT #43837]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could mishandle authority sections
with missing RRSIGs, triggering an assertion failure. This
flaw is disclosed in CVE-2016-9444. [RT #43632]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> mishandled some responses where
covering RRSIG records were returned without the requested
data, resulting in an assertion failure. This flaw is
disclosed in CVE-2016-9147. [RT #43548]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> incorrectly tried to cache TKEY
records which could trigger an assertion failure when there was
a class mismatch. This flaw is disclosed in CVE-2016-9131.
[RT #43522]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
It was possible to trigger assertions when processing
responses containing answers of type DNAME. This flaw is
disclosed in CVE-2016-8864. [RT #43465]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Added the ability to specify the maximum number of records
permitted in a zone (<code class="option">max-records #;</code>).
This provides a mechanism to block overly large zone
transfers, which is a potential risk with slave zones from
other parties, as described in CVE-2016-6170.
[RT #42143]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>dnstap</strong></span> now stores both the local and remote
addresses for all messages, instead of only the remote address.
The default output format for <span class="command"><strong>dnstap-read</strong></span> has
address first and the responding address second, separated by
"-%gt;" or "%lt;-" to indicate in which direction the message
was sent. [RT #43595]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Expanded and improved the YAML output from
<span class="command"><strong>dnstap-read -y</strong></span>: it now includes packet
size and a detailed breakdown of message contents.
[RT #43622] [RT #43642]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If an ACL is specified with an address prefix in which the
prefix length is longer than the address portion (for example,
192.0.2.1/8), <span class="command"><strong>named</strong></span> will now log a warning.
In future releases this will be a fatal configuration error.
[RT #43367]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
A synthesized CNAME record appearing in a response before the
associated DNAME could be cached, when it should not have been.
This was a regression introduced while addressing CVE-2016-8864.
[RT #44318]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could deadlock if multiple changes
to NSEC/NSEC3 parameters for the same zone were being processed
at the same time. [RT #42770]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could trigger an assertion when
sending NOTIFY messages. [RT #44019]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Referencing a nonexistent zone in a <span class="command"><strong>response-policy</strong></span>
statement could cause an assertion failure during configuration.
[RT #43787]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc addzone</strong></span> could cause a crash
when attempting to add a zone with a type other than
<span class="command"><strong>master</strong></span> or <span class="command"><strong>slave</strong></span>.
Such zones are now rejected. [RT #43665]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could hang when encountering log
file names with large apparent gaps in version number (for
example, when files exist called "logfile.0", "logfile.1",
and "logfile.1482954169"). This is now handled correctly.
[RT #38688]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If a zone was updated while <span class="command"><strong>named</strong></span> was
processing a query for nonexistent data, it could return
out-of-sync NSEC3 records causing potential DNSSEC validation
failure. [RT #43247]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-maint"></a>Maintenance</h4></div></div></div>
- <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 built-in root hints have been updated to include an
IPv6 address (2001:500:12::d0d) for G.ROOT-SERVERS.NET.
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-misc"></a>Miscellaneous Notes</h4></div></div></div>
- <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>
Authoritative server support for the EDNS Client Subnet option
(ECS), introduced in BIND 9.11.0, was based on an early version
of the specification, and is now known to have incompatibilities
testing purposes but is not recommended for for production use.
This was not made sufficiently clear in the documentation at
the time of release.
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.0"></a>Notes for BIND 9.11.0</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-security"></a>Security Fixes</h4></div></div></div>
- <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>
It was possible to trigger a assertion when rendering a
message using a specially crafted request. This flaw is
disclosed in CVE-2016-2776. [RT #43139]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
getrrsetbyname with a non absolute name could trigger an
infinite recursion bug in lwresd and named with lwres
configured if when combined with a search list entry the
resulting name is too long. This flaw is disclosed in
CVE-2016-2775. [RT #42694]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-features"></a>New Features</h4></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>
A new method of provisioning secondary servers called
"Catalog Zones" has been added. This is an implementation of
<a class="link" href="https://datatracker.ietf.org/doc/draft-muks-dnsop-dns-catalog-zones/" target="_top">
draft-muks-dnsop-dns-catalog-zones/
</a>.
</p>
- <p>
+<p>
A catalog zone is a regular DNS zone which contains a list
of "member zones", along with the configuration options for
each of those zones. When a server is configured to use a
propagated to slaves using the standard AXFR/IXFR update
mechanism.
</p>
- <p>
+<p>
This feature should be considered experimental. It currently
supports only basic features; more advanced features such as
ACLs and TSIG keys are not yet supported. Example catalog
zone configurations can be found in the Chapter 9 of the
BIND Administrator Reference Manual.
</p>
- <p>
+<p>
Support for master entries with TSIG keys has been added to catalog
zones, as well as support for allow-query and allow-transfer.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
Added an <span class="command"><strong>isc.rndc</strong></span> Python module, which allows
<span class="command"><strong>rndc</strong></span> commands to be sent from Python programs.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
Added support for DynDB, a new interface for loading zone data
from an external database, developed by Red Hat for the FreeIPA
project. (Thanks in particular to Adam Tkac and Petr
Spacek of Red Hat for the contribution.)
</p>
- <p>
+<p>
Unlike the existing DLZ and SDB interfaces, which provide a
limited subset of database functionality within BIND -
translating DNS queries into real-time database lookups with
DNSSEC-signed data - DynDB is able to fully implement
and extend the database API used natively by BIND.
</p>
- <p>
+<p>
A DynDB module could pre-load data from an external data
source, then serve it with the same performance and
functionality as conventional BIND zones, and with the
ability to take advantage of database features not
available in BIND, such as multi-master replication.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
Fetch quotas are now compiled in by default: they
no longer require BIND to be configured with
<span class="command"><strong>--enable-fetchlimit</strong></span>, as was the case
when the feature was introduced in BIND 9.10.3.
</p>
- <p>
+<p>
These quotas limit the queries that are sent by recursive
resolvers to authoritative servers experiencing denial-of-service
attacks. They can both reduce the harm done to authoritative
experienced by recursive servers when they are being used as a
vehicle for such an attack.
</p>
- <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
-<li class="listitem">
- <p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem"><p>
<code class="option">fetches-per-server</code> limits the number of
simultaneous queries that can be sent to any single
authoritative server. The configured value is a starting
partially or completely non-responsive. The algorithm used to
adjust the quota can be configured via the
<code class="option">fetch-quota-params</code> option.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<code class="option">fetches-per-zone</code> limits the number of
simultaneous queries that can be sent for names within a
single domain. (Note: Unlike "fetches-per-server", this
value is not self-tuning.)
- </p>
- </li>
+ </p></li>
</ul></div>
- <p>
+<p>
Statistics counters have also been added to track the number
of queries affected by these quotas.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
Added support for <span class="command"><strong>dnstap</strong></span>, a fast,
flexible method for capturing and logging DNS traffic,
developed by Robert Edmonds at Farsight Security, Inc.,
whose assistance is gratefully acknowledged.
</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>
A new utility <span class="command"><strong>dnstap-read</strong></span> has been added
to allow <span class="command"><strong>dnstap</strong></span> data to be presented in
a human-readable format.
</p>
- <p>
+<p>
<span class="command"><strong>rndc dnstap -roll</strong></span> causes <span class="command"><strong>dnstap</strong></span>
output files to be rolled like log files -- the most recent output
file is renamed with a <code class="filename">.0</code> suffix, the next
argument specifies how many backup log files to retain; if not
specified or set to 0, there is no limit.
</p>
- <p>
+<p>
<span class="command"><strong>rndc dnstap -reopen</strong></span> simply closes and reopens
the <span class="command"><strong>dnstap</strong></span> output channel without renaming
the output file.
</p>
- <p>
+<p>
For more information on <span class="command"><strong>dnstap</strong></span>, see
<a class="link" href="https://dnstap.info" target="_top">https://dnstap.info</a>.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
New statistics counters have been added to track traffic
sizes, as specified in RSSAC002. Query and response
message sizes are broken up into ranges of histogram buckets:
or
<a class="link" href="http://localhost:8888/json/v1/traffic" target="_top">http://localhost:8888/json/v1/traffic</a>.
</p>
- <p>
+<p>
Statistics for RSSAC02v3 traffic-volume, traffic-sizes and
rcode-volume reporting are now collected.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
A new DNSSEC key management utility,
<span class="command"><strong>dnssec-keymgr</strong></span>, has been added. This tool
is meant to run unattended (e.g., under <span class="command"><strong>cron</strong></span>).
the configured policy changes, keys are corrected automatically.
See the <span class="command"><strong>dnssec-keymgr</strong></span> man page for full details.
</p>
- <p>
+<p>
Note: <span class="command"><strong>dnssec-keymgr</strong></span> depends on Python and on
the Python lex/yacc module, PLY. The other Python-based tools,
<span class="command"><strong>dnssec-coverage</strong></span> and
<span class="command"><strong>dnssec-checkds</strong></span>, have been
refactored and updated as part of this work.
</p>
- <p>
+<p>
<span class="command"><strong>dnssec-keymgr</strong></span> now takes a -r
<em class="replaceable"><code>randomfile</code></em> option.
</p>
- <p>
+<p>
(Many thanks to Sebastián
Castro for his assistance in developing this tool at the IETF
95 Hackathon in Buenos Aires, April 2016.)
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
The serial number of a dynamically updatable zone can
now be set using
<span class="command"><strong>rndc signing -serial <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>zonename</code></em></strong></span>.
zones that have been reset. Setting the serial number to a value
larger than that on the slaves will trigger an AXFR-style
transfer.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When answering recursive queries, SERVFAIL responses can now be
cached by the server for a limited time; subsequent queries for
the same query name and type will return another SERVFAIL until
on recursive servers. The SERVFAIL cache timeout is controlled
by <code class="option">servfail-ttl</code>, which defaults to 1 second
and has an upper limit of 30.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The new <span class="command"><strong>rndc nta</strong></span> command can now be used to
set a "negative trust anchor" (NTA), disabling DNSSEC validation for
a specific domain; this can be used when responses from a domain
<code class="filename">named.conf</code>. When added, NTAs are stored in a
file (<code class="filename"><em class="replaceable"><code>viewname</code></em>.nta</code>)
in order to persist across restarts of the <span class="command"><strong>named</strong></span> server.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The EDNS Client Subnet (ECS) option is now supported for
authoritative servers; if a query contains an ECS option then
ACLs containing <code class="option">geoip</code> or <code class="option">ecs</code>
elements can match against the address encoded in the option.
This can be used to select a view for a query, so that different
answers can be provided depending on the client network.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The EDNS EXPIRE option has been implemented on the client
side, allowing a slave server to set the expiration timer
correctly when transferring zone data from another slave
server.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <code class="option">masterfile-style</code> zone option controls
the formatting of text zone files: When set to
<code class="literal">full</code>, the zone file will dumped in
single-line-per-record format.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +ednsopt</strong></span> can now be used to set
arbitrary EDNS options in DNS requests.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +ednsflags</strong></span> can now be used to set
yet-to-be-defined EDNS flags in DNS requests.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +[no]ednsnegotiation</strong></span> can now be used enable /
disable EDNS version negotiation.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +header-only</strong></span> can now be used to send
queries without a question section.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +ttlunits</strong></span> causes <span class="command"><strong>dig</strong></span>
to print TTL values with time-unit suffixes: w, d, h, m, s for
weeks, days, hours, minutes, and seconds.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +zflag</strong></span> can be used to set the last
unassigned DNS header flag bit. This bit is normally zero.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +dscp=<em class="replaceable"><code>value</code></em></strong></span>
can now be used to set the DSCP code point in outgoing query
packets.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +mapped</strong></span> can now be used to determine
if mapped IPv4 addresses can be used.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>nslookup</strong></span> will now look up IPv6 as well
as IPv4 addresses by default. [RT #40420]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<code class="option">serial-update-method</code> can now be set to
<code class="literal">date</code>. On update, the serial number will
be set to the current date in YYYYMMDDNN format.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dnssec-signzone -N date</strong></span> also sets the serial
number to YYYYMMDDNN.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named -L <em class="replaceable"><code>filename</code></em></strong></span>
causes <span class="command"><strong>named</strong></span> to send log messages to the
specified file by default instead of to the system log.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The rate limiter configured by the
<code class="option">serial-query-rate</code> option no longer covers
NOTIFY messages; those are now separately controlled by
<code class="option">startup-notify-rate</code> (the latter of which
controls the rate of NOTIFY messages sent when the server
is first started up or reconfigured).
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The default number of tasks and client objects available
for serving lightweight resolver queries have been increased,
and are now configurable via the new <code class="option">lwres-tasks</code>
and <code class="option">lwres-clients</code> options in
<code class="filename">named.conf</code>. [RT #35857]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Log output to files can now be buffered by specifying
<span class="command"><strong>buffered yes;</strong></span> when creating a channel.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>delv +tcp</strong></span> will exclusively use TCP when
sending queries.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> will now check to see whether
other name server processes are running before starting up.
This is implemented in two ways: 1) by refusing to start
<code class="filename">/var/run/named/named.lock</code>.
Specifying <code class="literal">none</code> will disable the lock
file check.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc delzone</strong></span> can now be applied to zones
which were configured in <code class="filename">named.conf</code>;
it is no longer restricted to zones which were added by
this does not edit <code class="filename">named.conf</code>; the zone
must be removed from the configuration or it will return
when <span class="command"><strong>named</strong></span> is restarted or reloaded.)
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc modzone</strong></span> can be used to reconfigure
a zone, using similar syntax to <span class="command"><strong>rndc addzone</strong></span>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc showzone</strong></span> displays the current
configuration for a specified zone.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
When BIND is built with the <span class="command"><strong>lmdb</strong></span> library
(Lightning Memory-Mapped Database), <span class="command"><strong>named</strong></span>
will store the configuration information for zones
the contents of a database is much faster than rewriting
a text file.
</p>
- <p>
+<p>
On startup, if <span class="command"><strong>named</strong></span> finds an existing
NZF file, it will automatically convert it to the new NZD
database format.
</p>
- <p>
+<p>
To view the contents of an NZD, or to convert an
NZD back to an NZF file (for example, to revert back
to an earlier version of BIND which did not support the
NZD format), use the new command <span class="command"><strong>named-nzd2nzf</strong></span>
[RT #39837]
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
Added server-side support for pipelined TCP queries. Clients
may continue sending queries via TCP while previous queries are
processed in parallel. Responses are sent when they are
ready, not necessarily in the order in which the queries were
received.
</p>
- <p>
+<p>
To revert to the former behavior for a particular
client address or range of addresses, specify the address prefix
in the "keep-response-order" option. To revert to the former
behavior for all clients, use "keep-response-order { any; };".
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
The new <span class="command"><strong>mdig</strong></span> command is a version of
<span class="command"><strong>dig</strong></span> that sends multiple pipelined
queries and then waits for responses, instead of sending one
query and waiting the response before sending the next. [RT #38261]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
To enable better monitoring and troubleshooting of RFC 5011
trust anchor management, the new <span class="command"><strong>rndc managed-keys</strong></span>
can be used to check status of trust anchors or to force keys
to be refreshed. Also, the managed-keys data file now has
easier-to-read comments. [RT #38458]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
An <span class="command"><strong>--enable-querytrace</strong></span> configure switch is
now available to enable very verbose query trace logging. This
option can only be set at compile time. This option has a
negative performance impact and should be used only for
debugging. [RT #37520]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <span class="command"><strong>tcp-only</strong></span> option can be specified
in <span class="command"><strong>server</strong></span> statements to force
<span class="command"><strong>named</strong></span> to connect to the specified
server via TCP. [RT #37800]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The <span class="command"><strong>nxdomain-redirect</strong></span> option specifies
a DNS namespace to use for NXDOMAIN redirection. When a
recursive lookup returns NXDOMAIN, a second lookup is
queries to other servers. (The older method, using
a single <span class="command"><strong>type redirect</strong></span> zone, has
better average performance but is less flexible.) [RT #37989]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The following types have been implemented: CSYNC, NINFO, RKEY,
SINK, TA, TALINK.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <span class="command"><strong>message-compression</strong></span> option can be
used to specify whether or not to use name compression when
answering queries. Setting this to <strong class="userinput"><code>no</code></strong>
results in larger responses, but reduces CPU consumption and
may improve throughput. The default is <strong class="userinput"><code>yes</code></strong>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A <span class="command"><strong>read-only</strong></span> option is now available in the
<span class="command"><strong>controls</strong></span> statement to grant non-destructive
control channel access. In such cases, a restricted set of
reconfigure or stop the server. By default, the control channel
access is <span class="emphasis"><em>not</em></span> restricted to these
read-only operations. [RT #40498]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When loading a signed zone, <span class="command"><strong>named</strong></span> will
now check whether an RRSIG's inception time is in the future,
and if so, it will regenerate the RRSIG immediately. This helps
when a system's clock needs to be reset backwards.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The new <span class="command"><strong>minimal-any</strong></span> option reduces the size
of answers to UDP queries for type ANY by implementing one of
the strategies in "draft-ietf-dnsop-refuse-any": returning
a single arbitrarily-selected RRset that matches the query
name rather than returning all of the matching RRsets.
Thanks to Tony Finch for the contribution. [RT #41615]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> now provides feedback to the
owners of zones which have trust anchors configured
(<span class="command"><strong>trusted-keys</strong></span>,
configured trust anchors for the zone. This is controlled
by <span class="command"><strong>trust-anchor-telemetry</strong></span> and defaults
to yes.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-changes"></a>Feature Changes</h4></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 logging format used for <span class="command"><strong>querylog</strong></span> has been
altered. It now includes an additional field indicating the
address in memory of the client object processing the query.
</p>
- <p>
+<p>
The ISC DNSSEC Lookaside Validation (DLV) service is scheduled
to be disabled in 2017. A warning is now logged when
<span class="command"><strong>named</strong></span> is configured to use this service,
either explicitly or via <code class="option">dnssec-lookaside auto;</code>.
[RT #42207]
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
The timers returned by the statistics channel (indicating current
time, server boot time, and most recent reconfiguration time) are
now reported with millisecond accuracy. [RT #40082]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Updated the compiled-in addresses for H.ROOT-SERVERS.NET
and L.ROOT-SERVERS.NET.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
ACLs containing <span class="command"><strong>geoip asnum</strong></span> elements were
not correctly matched unless the full organization name was
specified in the ACL (as in
<span class="command"><strong>geoip asnum "AS1234 Example, Inc.";</strong></span>).
They can now match against the AS number alone (as in
<span class="command"><strong>geoip asnum "AS1234";</strong></span>).
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When using native PKCS#11 cryptography (i.e.,
<span class="command"><strong>configure --enable-native-pkcs11</strong></span>) HSM PINs
of up to 256 characters can now be used.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
NXDOMAIN responses to queries of type DS are now cached separately
from those for other types. This helps when using "grafted" zones
of type forward, for which the parent zone does not contain a
change is only helpful when DNSSEC validation is not enabled.
"Grafted" zones without a delegation in the parent are not a
recommended configuration.)
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Update forwarding performance has been improved by allowing
a single TCP connection to be shared between multiple updates.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
By default, <span class="command"><strong>nsupdate</strong></span> will now check
the correctness of hostnames when adding records of type
A, AAAA, MX, SOA, NS, SRV or PTR. This behavior can be
disabled with <span class="command"><strong>check-names no</strong></span>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Added support for OPENPGPKEY type.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The names of the files used to store managed keys and added
zones for each view are no longer based on the SHA256 hash
of the view name, except when this is necessary because the
or <code class="filename">external.nzf</code>). However, to ensure
consistent behavior when upgrading, if a file using the old
name format is found to exist, it will continue to be used.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
"rndc" can now return text output of arbitrary size to
the caller. (Prior to this, certain commands such as
"rndc tsig-list" and "rndc zonestatus" could return
truncated output.)
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Errors reported when running <span class="command"><strong>rndc addzone</strong></span>
(e.g., when a zone file cannot be loaded) have been clarified
to make it easier to diagnose problems.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When encountering an authoritative name server whose name is
an alias pointing to another name, the resolver treats
this as an error and skips to the next server. Previously
this happened silently; now the error will be logged to
the newly-created "cname" log category.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If <span class="command"><strong>named</strong></span> is not configured to validate
answers, then allow fallback to plain DNS on timeout even when
we know the server supports EDNS. This will allow the server to
potentially resolve signed queries when TCP is being
blocked.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Large inline-signing changes should be less disruptive.
Signature generation is now done incrementally; the number
of signatures to be generated in each quantum is controlled
by "sig-signing-signatures <em class="replaceable"><code>number</code></em>;".
[RT #37927]
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
The experimental SIT option (code point 65001) of BIND
9.10.0 through BIND 9.10.2 has been replaced with the COOKIE
option (code point 10). It is no longer experimental, and
is sent by default, by both <span class="command"><strong>named</strong></span> and
<span class="command"><strong>dig</strong></span>.
</p>
- <p>
+<p>
The SIT-related named.conf options have been marked as
obsolete, and are otherwise ignored.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
When <span class="command"><strong>dig</strong></span> receives a truncated (TC=1)
response or a BADCOOKIE response code from a server, it
will automatically retry the query using the server COOKIE
that was returned by the server in its initial response.
[RT #39047]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Retrieving the local port range from net.ipv4.ip_local_port_range
on Linux is now supported.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <code class="option">nsip-wait-recurse</code> directive has been
added to RPZ, specifying whether to look up unknown name server
IP addresses and wait for a response before applying RPZ-NSIP rules.
be applied on subsequent queries. This improves performance when
the cache is cold, at the cost of temporary imprecision in applying
policy directives. [RT #35009]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Within the <code class="option">response-policy</code> option, it is now
possible to configure RPZ rewrite logging on a per-zone basis
using the <code class="option">log</code> clause.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The default preferred glue is now the address type of the
transport the query was received over.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
On machines with 2 or more processors (CPU), the default value
for the number of UDP listeners has been changed to the number
of detected processors minus one.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Zone transfers now use smaller message sizes to improve
message compression. This results in reduced network usage.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
Added support for the AVC resource record type (Application
Visibility and Control).
</p>
- <p>
+<p>
Changed <span class="command"><strong>rndc reconfig</strong></span> behavior so that newly
added zones are loaded asynchronously and the loading does not
block the server.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
<span class="command"><strong>minimal-responses</strong></span> now takes two new
arguments: <code class="option">no-auth</code> suppresses
populating the authority section but not the additional
section; <code class="option">no-auth-recursive</code>
does the same but only when answering recursive queries.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
At server startup time, the queues for processing
notify and zone refresh queries are now processed in
LIFO rather than FIFO order, to speed up
loading of newly added zones. [RT #42825]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When answering queries of type MX or SRV, TLSA records for
the target name are now included in the additional section
to speed up DANE processing. [RT #42894]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> can now use the TCP Fast Open
mechanism on the server side, if supported by the
local operating system. [RT #42866]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a crash when calling <span class="command"><strong>rndc stats</strong></span> on some
Windows builds: some Visual Studio compilers generate code that
crashes when the "%z" printf() format specifier is used. [RT #42380]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Windows installs were failing due to triggering UAC without
the installation binary being signed.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A change in the internal binary representation of the RBT database
node structure enabled a race condition to occur (especially when
BIND was built with certain compilers or optimizer settings),
leading to inconsistent database state which caused random
assertion failures. [RT #42380]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="end_of_life"></a>End of Life</h3></div></div></div>
- <p>
+<p>
BIND 9.11 (Extended Support Version) will be supported until at
least December, 2021.
</p>
- <p>
+<p>
See <a class="link" href="https://kb.isc.org/docs/aa-00896" target="_top">https://kb.isc.org/docs/aa-00896</a>
for details of ISC's software support policy.
</p>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_thanks"></a>Thank You</h3></div></div></div>
- <p>
+<p>
Thank you to everyone who assisted us in making this release possible.
</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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
<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 Domain Name
System "officially" began 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 (which became Compaq Computer Corporation and eventually merged with Hewlett-Packard). 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 Internet Systems Consortium and its predecessor,
the Internet Software Consortium, with support 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 corporations who purchase professional support services from ISC
(https://www.isc.org/contact/) and/or donate to our mission, and by the tireless 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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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,
"IPv6 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>Requests 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 at:
</p>
- <p>
+<p>
<a class="link" href="https://datatracker.ietf.org/doc/" target="_top">
https://datatracker.ietf.org/doc/
</a>
</p>
-
- <div class="bibliography">
+<div class="bibliography">
<div class="titlepage"><div><div><h4 class="title"><a name="id-1.12.3.2.4"></a></h4></div></div></div>
- <div class="bibliodiv">
+<div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.4.2"></a>Standards</h3>
-
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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>
+ (GSS-TSIG)</i>. </span><span class="pubdate">October 2003. </span></p>
</div>
- </div>
- <div class="bibliodiv">
+</div>
+<div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.4.4"></a><acronym class="acronym">DNS</acronym> Security Proposed Standards</h3>
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.5"></a>Other Important RFCs About <acronym class="acronym">DNS</acronym>
Implementation</h3>
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.6"></a>Resource Record Types</h3>
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.7"></a><acronym class="acronym">DNS</acronym> and the Internet</h3>
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.8"></a><acronym class="acronym">DNS</acronym> Operations</h3>
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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 class="biblioentry">
-<a name="id-1.12.3.2.4.8.7"></a><p>[<abbr class="abbrev">RFC8906</abbr>]
-
- <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Andrews</span> and <span class="firstname">R.</span> <span class="surname">Bellis</span>. </span>
- <span class="title"><i>
+<div class="biblioentry">
+<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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 class="biblioentry">
+<a name="id-1.12.3.2.4.8.7"></a><p>[<abbr class="abbrev">RFC8906</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Andrews</span> and <span class="firstname">R.</span> <span class="surname">Bellis</span>. </span><span class="title"><i>
A Common Operational Problem in DNS Servers: Failure to Communicate
- </i>. </span>
- <span class="pubdate">September 2020. </span>
- </p>
+ </i>. </span><span class="pubdate">September 2020. </span></p>
</div>
- </div>
- <div class="bibliodiv">
+</div>
+<div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.4.9"></a>Internationalized Domain Names</h3>
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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>
+ Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
</div>
- </div>
- <div class="bibliodiv">
+</div>
+<div class="bibliodiv">
<h3 class="title">
<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.11"></a>Obsolete and Unimplemented Experimental RFC</h3>
-
- <div class="biblioentry">
-<a name="id-1.12.3.2.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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 also installs library object
and header files. Root privilege is normally required.
</p>
- <p>
+<p>
To see how to build a custom 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. 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 be: trust
anchors would be a system-wide configuration which would be managed
by an administrator, while the stub resolver is 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>
This 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>
specifies 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>
specifies 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 is used by default.
</p>
- </dd>
+</dd>
<dt><span class="term">-s domain:alt_server_address</span></dt>
-<dd>
- <p>
+<dd><p>
specifies 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>
is 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>
is 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>
This is 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>
is 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 does not 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>
specifies 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>
is 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>
is 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>
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
fails 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>
is 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>
is 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>
is a prerequisite for the update; only one prerequisite can be
specified. The prerequisite format is the same as that
accepted by the nsupdate utility.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term">-r recursive_server</span></dt>
-<dd>
- <p>
+<dd><p>
is an IP address of a recursive server that this utility
uses. 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>
is the domain name of the zone that it contains.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term">(add|delete)</span></dt>
-<dd>
- <p>
+<dd><p>
specifies 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>
specifies the data to be updated. A typical example of the
data looks 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 ensure 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>
runs in "debug" mode. With this option, nsprobe dumps
every RR it receives.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term">-v</span></dt>
-<dd>
- <p>
+<dd><p>
increases 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>
specifies 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>
is a file name containing a list of domain (zone) names to be
probed. when omitted the standard input is 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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
<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.25</p></div>
+<div><p class="releaseinfo">BIND Version 9.11.26</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.25</a></span></dt>
+<dt><span class="section"><a href="Bv9ARM.ch09.html#id-1.10.2">Release Notes for BIND Version 9.11.26</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.26">Notes for BIND 9.11.26</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.25">Notes for BIND 9.11.25</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.24">Notes for BIND 9.11.24</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes-9.11.23">Notes for BIND 9.11.23</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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.2.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.2.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.3.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.3.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.3.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.4.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.4.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.4.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.4.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.4.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.4.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.5.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.5.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.5.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.5.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>
This option sets 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
to send a EDNS messages with a advertised size of 0
bytes). <code class="literal">+bufsize</code> restores the
default buffer size.
- </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.5.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.5.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.5.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.5.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.5.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.6.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.6.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.6.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.7.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.7.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.7.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.8.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.8.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.8.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.8.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.8.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.8.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.9.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.9.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.9.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.9.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.9.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.10.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.10.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.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. 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.10.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.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 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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.11.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.11.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.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 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.11.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.11.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.11.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.12.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.12.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.12.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.12.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.12.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.13.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.13.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.13.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.14.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.14.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.14.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.14.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.14.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.15.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.15.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.15.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.15.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.16.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.16.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.16.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.17.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.17.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.17.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.18.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.18.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.18.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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">-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">
+<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.19.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.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 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>
+<dd><p>
Specify the port on the server to query. The default is 53.
- </p>
- </dd>
+ </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.19.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.19.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.19.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.20.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.20.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.20.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.21.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.21.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.21.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.21.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.22.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.22.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.22.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">+burst</code></span></dt>
-<dd>
- This option delays queries until the start of the next second.
- </dd>
+<dd><p>
+ This option delays queries until the start of the next second.
+ </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.22.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.22.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.23.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.23.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.23.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.23.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.24.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.24.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.24.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.24.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.25.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.25.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.26.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.26.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.26.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.26.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.27.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.27.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.28.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.29.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.29.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.29.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.29.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.29.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.29.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.30.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.30.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.30.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.31.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.31.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.31.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.31.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.31.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.31.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.31.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.32.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.32.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.32.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.32.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.32.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.32.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.32.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.33.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.33.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.33.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.34.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.34.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.34.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.35.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.35.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.35.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.36.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.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">-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.36.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.37.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.37.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.37.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.37.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.38.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.38.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.38.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.38.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
</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.39.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.39.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.39.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.39.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.39.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.25 (Extended Support Version)</p>
+<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.26 (Extended Support Version)</p>
</body>
</html>
<para>
Building with native PKCS#11 support for AEP Keyper has been broken
since BIND 9.11.22. This has been fixed. [GL #2315]
- #2315]
</para>
</listitem>
</itemizedlist>
<title></title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article">
-
- <div class="section">
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article"><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.25</h2></div></div></div>
-
- <div class="section">
+<a name="id-1.2"></a>Release Notes for BIND Version 9.11.26</h2></div></div></div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_intro"></a>Introduction</h3></div></div></div>
- <p>
+<p>
BIND 9.11 (Extended Support Version) is a stable branch of BIND.
This document summarizes significant changes since the last
production release on that branch.
</p>
- <p>
+<p>
Please see the file <code class="filename">CHANGES</code> for a more
detailed list of changes and bug fixes.
</p>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_download"></a>Download</h3></div></div></div>
- <p>
+<p>
The latest versions of BIND 9 software can always be found at
<a class="link" href="https://www.isc.org/download/" target="_top">https://www.isc.org/download/</a>.
There you will find additional information about each release,
operating systems.
</p>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_license"></a>License Change</h3></div></div></div>
- <p>
+<p>
With the release of BIND 9.11.0, ISC changed to the open
source license for BIND from the ISC license to the Mozilla
Public License (MPL 2.0).
</p>
- <p>
+<p>
The MPL-2.0 license requires that if you make changes to
licensed software (e.g. BIND) and distribute them outside
your organization, that you publish those changes under that
same license. It does not require that you publish or disclose
anything other than the changes you made to our software.
</p>
- <p>
+<p>
This requirement will not affect anyone who is using BIND, with
or without modifications, without redistributing it, nor anyone
redistributing it without changes. Therefore, this change will be
without consequence for most individuals and organizations who are
using BIND.
</p>
- <p>
+<p>
Those unsure whether or not the license change affects their
use of BIND, or who wish to discuss how to comply with the
license may contact ISC at <a class="link" href="https://www.isc.org/mission/contact/" target="_top">
https://www.isc.org/mission/contact/</a>.
</p>
</div>
-
- <div class="section">
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="relnotes-9.11.26"></a>Notes for BIND 9.11.26</h3></div></div></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.26-changes"></a>Feature Changes</h4></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ The default value of <span class="command"><strong>max-recursion-queries</strong></span> was
+ increased from 75 to 100. Since the queries sent towards root and TLD
+ servers are now included in the count (as a result of the fix for
+ CVE-2020-8616), <span class="command"><strong>max-recursion-queries</strong></span> has a higher
+ chance of being exceeded by non-attack queries, which is the main
+ reason for increasing its default value. [GL #2305]
+ </p></li>
+<li class="listitem"><p>
+ The default value of <span class="command"><strong>nocookie-udp-size</strong></span> was restored
+ back to 4096 bytes. Since <span class="command"><strong>max-udp-size</strong></span> is the upper
+ bound for <span class="command"><strong>nocookie-udp-size</strong></span>, this change relieves
+ the operator from having to change
+ <span class="command"><strong>nocookie-udp-size</strong></span> together with
+ <span class="command"><strong>max-udp-size</strong></span> in order to increase the default EDNS
+ buffer size limit. <span class="command"><strong>nocookie-udp-size</strong></span> can still be
+ set to a value lower than <span class="command"><strong>max-udp-size</strong></span>, if desired.
+ [GL #2250]
+ </p></li>
+</ul></div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="relnotes-9.11.26-bugs"></a>Bug Fixes</h4></div></div></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+ Handling of missing DNS COOKIE responses over UDP was tightened by
+ falling back to TCP. [GL #2275]
+ </p></li>
+<li class="listitem"><p>
+ The CNAME synthesized from a DNAME was incorrectly followed when the
+ QTYPE was CNAME or ANY. [GL #2280]
+ </p></li>
+<li class="listitem"><p>
+ Building with native PKCS#11 support for AEP Keyper has been broken
+ since BIND 9.11.22. This has been fixed. [GL #2315]
+ </p></li>
+</ul></div>
+</div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.25"></a>Notes for BIND 9.11.25</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.25-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> acting as a resolver could incorrectly treat
signed zones with no DS record at the parent as bogus. Such zones
should be treated as insecure. This has been fixed. [GL #2236]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
After a Negative Trust Anchor (NTA) is added, BIND performs periodic
checks to see if it is still necessary. If BIND encountered a failure
while creating a query to perform such a check, it attempted to
dereference a NULL pointer, resulting in a crash. [GL #2244]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A problem obtaining glue records could prevent a stub zone from
functioning properly, if the authoritative server for the zone were
configured for minimal responses. [GL #1736]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.24"></a>Notes for BIND 9.11.24</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.24-changes"></a>Feature Changes</h4></div></div></div>
- <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>
DNS Flag Day 2020: The default EDNS buffer size has been changed from
4096 to 1232 bytes. According to measurements done by multiple
parties, this should not cause any operational problems as most of
maximum Ethernet payload size, so a useful default for maximum
DNS/UDP payload size on reliable networks would be 1400 bytes.
[GL #2183]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.24-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> reported an invalid memory size when running
in an environment that did not properly report the number of available
memory pages and/or the size of each memory page. [GL #2166]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
With multiple forwarders configured, <span class="command"><strong>named</strong></span> could
fail the <code class="code">REQUIRE(msg->state == (-1))</code> assertion in
<code class="filename">lib/dns/message.c</code>, causing it to crash. This has
been fixed. [GL #2124]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.23"></a>Notes for BIND 9.11.23</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.23-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Parsing of LOC records was made more strict by rejecting a sole period
(<strong class="userinput"><code>.</code></strong>) and/or <strong class="userinput"><code>m</code></strong> as a value.
These changes prevent zone files using such values from being loaded.
Handling of negative altitudes which are not integers was also
corrected. [GL #2074]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Several problems found by <a class="link" href="https://github.com/google/oss-fuzz" target="_top">OSS-Fuzz</a> were
fixed. (None of these are security issues.) [GL !3953] [GL !3975]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.22"></a>Notes for BIND 9.11.22</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.22-security"></a>Security Fixes</h4></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>
It was possible to trigger an assertion failure when verifying the
response to a TSIG-signed request. This was disclosed in
CVE-2020-8622.
</p>
- <p>
+<p>
ISC would like to thank Dave Feldman, Jeff Warren, and Joel Cunningham
of Oracle for bringing this vulnerability to our attention. [GL #2028]
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
When BIND 9 was compiled with native PKCS#11 support, it was possible
to trigger an assertion failure in code determining the number of bits
in the PKCS#11 RSA public key with a specially crafted packet. This
was disclosed in CVE-2020-8623.
</p>
- <p>
+<p>
ISC would like to thank Lyu Chiy for bringing this vulnerability to
our attention. [GL #2037]
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
<span class="command"><strong>update-policy</strong></span> rules of type
<span class="command"><strong>subdomain</strong></span> were incorrectly treated as
<span class="command"><strong>zonesub</strong></span> rules, which allowed keys used in
<span class="command"><strong>subdomain</strong></span> rules are again processed as described in
the ARM. This was disclosed in CVE-2020-8624.
</p>
- <p>
+<p>
ISC would like to thank Joop Boonen of credativ GmbH for bringing this
vulnerability to our attention. [GL #2055]
</p>
- </li>
+</li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.22-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Wildcard RPZ passthru rules could incorrectly be overridden by other
rules that were loaded from RPZ zones which appeared later in the
<span class="command"><strong>response-policy</strong></span> statement. This has been fixed.
[GL #1619]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
LMDB locking code was revised to make <span class="command"><strong>rndc reconfig</strong></span>
work properly on FreeBSD and with LMDB >= 0.9.26. [GL #1976]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.21"></a>Notes for BIND 9.11.21</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.21-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> could crash when cleaning dead nodes in
<code class="filename">lib/dns/rbtdb.c</code> that were being reused.
[GL #1968]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Properly handle missing <span class="command"><strong>kyua</strong></span> command so that
<span class="command"><strong>make check</strong></span> does not fail unexpectedly when CMocka
is installed, but Kyua is not. [GL #1950]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The validator could fail to accept a properly signed RRset if an
unsupported algorithm appeared earlier in the DNSKEY RRset than a
supported algorithm. It could also stop if it detected a malformed
public key. [GL #1689]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.20"></a>Notes for BIND 9.11.20</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.20-security"></a>Security Fixes</h4></div></div></div>
- <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>
It was possible to trigger an INSIST failure when a zone with an
interior wildcard label was queried in a certain pattern. This was
disclosed in CVE-2020-8619. [GL #1111] [GL #1718]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.20-new"></a>New Features</h4></div></div></div>
- <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="command"><strong>dig</strong></span> and other tools can now print the Extended DNS
Error (EDE) option when it appears in a request or a response.
[GL #1835]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.20-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
When fully updating the NSEC3 chain for a large zone via IXFR, a
temporary loss of performance could be experienced on the secondary
server when answering queries for nonexistent data that required
the server to find and to return NSEC3 data). The unnecessary
processing step that was causing this delay has now been removed.
[GL #1834]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A data race in <code class="filename">lib/dns/resolver.c:log_formerr()</code>
that could lead to an assertion failure was fixed. [GL #1808]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Previously, <span class="command"><strong>provide-ixfr no;</strong></span> failed to return
up-to-date responses when the serial number was greater than or equal
to the current serial number. [GL #1714]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf -p</strong></span> could include spurious text in
<span class="command"><strong>server-addresses</strong></span> statements due to an uninitialized
DSCP value. This has been fixed. [GL #1812]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The ARM has been updated to indicate that the TSIG session key is
generated when named starts, regardless of whether it is needed.
[GL #1842]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.19"></a>Notes for BIND 9.11.19</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.19-security"></a>Security Fixes</h4></div></div></div>
- <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>
To prevent exhaustion of server resources by a maliciously configured
domain, the number of recursive queries that can be triggered by a
request before aborting recursion has been further limited. Root and
<span class="command"><strong>max-recursion-queries</strong></span> limit. Fetches for missing
name server address records are limited to 4 for any domain. This
issue was disclosed in CVE-2020-8616. [GL #1388]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Replaying a TSIG BADTIME response as a request could
trigger an assertion failure. This was disclosed in
CVE-2020-8617. [GL #1703]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.19-changes"></a>Feature Changes</h4></div></div></div>
- <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>
Message IDs in inbound AXFR transfers are now checked for consistency.
Log messages are emitted for streams with inconsistent message IDs.
[GL #1674]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.19-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
When running on a system with support for Linux capabilities,
<span class="command"><strong>named</strong></span> drops root privileges very soon after system
startup. This was causing a spurious log message, "unable to set
effective uid to 0: Operation not permitted", which has now been
silenced. [GL #1042] [GL #1090]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When <span class="command"><strong>named-checkconf -z</strong></span> was run, it would sometimes
incorrectly set its exit code. It reflected the status of the last
view found; if zone-loading errors were found in earlier configured
views but not in the last one, the exit code indicated success.
Thanks to Graham Clinch. [GL #1807]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When built without LMDB support, <span class="command"><strong>named</strong></span> failed to
restart after a zone with a double quote (") in its name was added
with <span class="command"><strong>rndc addzone</strong></span>. Thanks to Alberto Fernández.
[GL #1695]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<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="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>
+<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">
+ </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>
+<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 are related to RPZ processing, 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>
-
+ </p></li></ul></div>
</div>
- <div class="section">
+</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">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.17-changes"></a>Feature Changes</h4></div></div></div>
- <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 <span class="command"><strong>configure</strong></span> option
<span class="command"><strong>--with-libxml2</strong></span> now uses
<span class="command"><strong>pkg-config</strong></span> to detect libxml2 library
availability. You will either have to install
<span class="command"><strong>pkg-config</strong></span> or specify the exact path where
libxml2 has been installed on your system. [GL #1635]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.17-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed re-signing issues with inline zones which resulted in
records being re-signed late or not at all.
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.16"></a>Notes for BIND 9.11.16</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.16-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> crashed when it was queried for a
nonexistent name in the CHAOS class. [GL #1540]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.15"></a>Notes for BIND 9.11.15</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.15-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a GeoIP2 lookup bug which was triggered when certain
libmaxminddb versions were used. [GL #1552]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Fixed several possible race conditions discovered by
ThreadSanitizer.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.14"></a>Notes for BIND 9.11.14</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.14-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a bug that caused <span class="command"><strong>named</strong></span> to leak memory
on reconfiguration when any GeoIP2 database was in use. [GL #1445]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Fixed several possible race conditions discovered by
ThreadSanitizer.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.13"></a>Notes for BIND 9.11.13</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.13-security"></a>Security Fixes</h4></div></div></div>
- <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>
Set a limit on the number of concurrently served pipelined TCP
queries. This flaw is disclosed in CVE-2019-6477. [GL #1264]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.13-features"></a>New Features</h4></div></div></div>
- <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>
Added a new statistics variable <span class="command"><strong>tcp-highwater</strong></span>
that reports the maximum number of simultaneous TCP clients BIND
has handled while running. [GL #1206]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.12"></a>Notes for BIND 9.11.12</h3></div></div></div>
-
- <p>
+<p>
None.
</p>
-
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.11"></a>Notes for BIND 9.11.11</h3></div></div></div>
-
- <p>
+<p>
None.
</p>
-
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.10"></a>Notes for BIND 9.11.10</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.10-features"></a>New Features</h4></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>
A SipHash 2-4 based DNS Cookie (RFC 7873) algorithm has been added.
[GL #605]
</p>
- <p>
+<p>
If you are running multiple DNS Servers (different versions of BIND 9
or DNS server from multiple vendors) responding from the same IP
address (anycast or load-balancing scenarios), you'll have to make
sure that all the servers are configured with the same DNS Cookie
algorithm and same Server Secret for the best performance.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
DS records included in DNS referral messages can now be validated
and cached immediately, reducing the number of queries needed for
a DNSSEC validation. [GL #964]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.10-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Interaction between DNS64 and RPZ No Data rule (CNAME *.) could
cause unexpected results; this has been fixed. [GL #1106]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf</strong></span> now checks DNS64 prefixes
to ensure bits 64-71 are zero. [GL #1159]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf</strong></span> could crash during
configuration if configured to use "geoip continent" ACLs with
legacy GeoIP. [GL #1163]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named-checkconf</strong></span> now correctly reports a missing
<span class="command"><strong>dnstap-output</strong></span> option when
<span class="command"><strong>dnstap</strong></span> is set. [GL #1136]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Handle ETIMEDOUT error on connect() with a non-blocking
socket. [GL #1133]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.9"></a>Notes for BIND 9.11.9</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.9-features"></a>New Features</h4></div></div></div>
- <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 new GeoIP2 API from MaxMind is now supported when BIND
is compiled using <span class="command"><strong>configure --with-geoip2</strong></span>.
The legacy GeoIP API can be used by compiling with
the databases for the legacy API are no longer maintained by
MaxMind.)
</p>
- <p>
+<p>
The default path to the GeoIP2 databases will be set based
on the location of the <span class="command"><strong>libmaxminddb</strong></span> library;
for example, if it is in <code class="filename">/usr/local/lib</code>,
This value can be overridden in <code class="filename">named.conf</code>
using the <span class="command"><strong>geoip-directory</strong></span> option.
</p>
- <p>
+<p>
Some <span class="command"><strong>geoip</strong></span> ACL settings that were available with
legacy GeoIP, including searches for <span class="command"><strong>netspeed</strong></span>,
<span class="command"><strong>org</strong></span>, and three-letter ISO country codes, will
<span class="command"><strong>as</strong></span>. All of the databases support both IPv4
and IPv6 lookups. [GL #182]
</p>
- </li></ul></div>
- </div>
-
- <div class="section">
+</li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.9-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Glue address records were not being returned in responses
to root priming queries; this has been corrected. [GL #1092]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.8"></a>Notes for BIND 9.11.8</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.8-security"></a>Security Fixes</h4></div></div></div>
- <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>
A race condition could trigger an assertion failure when
a large number of incoming packets were being rejected.
This flaw is disclosed in CVE-2019-6471. [GL #942]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.7"></a>Notes for BIND 9.11.7</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.7-security"></a>Security Fixes</h4></div></div></div>
- <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 TCP client quota set using the <span class="command"><strong>tcp-clients</strong></span>
option could be exceeded in some cases. This could lead to
exhaustion of file descriptors. This flaw is disclosed in
CVE-2018-5743. [GL #615]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.7-changes"></a>Feature Changes</h4></div></div></div>
- <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>
When <span class="command"><strong>trusted-keys</strong></span> and
<span class="command"><strong>managed-keys</strong></span> are both configured for the
same name, or when <span class="command"><strong>trusted-keys</strong></span> is used to
<code class="literal">auto</code>, automatic RFC 5011 key
rollovers will fail.
</p>
- <p>
+<p>
This combination of settings was never intended to work,
but there was no check for it in the parser. This has been
corrected; a warning is now logged. (In BIND 9.15 and
higher this error will be fatal.) [GL #868]
</p>
- </li></ul></div>
- </div>
-
+</li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.6"></a>Notes for BIND 9.11.6</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.6-security"></a>Security Fixes</h4></div></div></div>
- <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>
Code change #4964, intended to prevent double signatures
when deleting an inactive zone DNSKEY in some situations,
introduced a new problem during zone processing in which
NSEC/NSEC3 chain, but incompletely -- this can result in
a broken chain, affecting validation of proof of nonexistence
for records in the zone. [GL #771]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could crash if it managed a DNSSEC
security root with <span class="command"><strong>managed-keys</strong></span> and the
authoritative zone rolled the key to an algorithm not supported
by BIND 9. This flaw is disclosed in CVE-2018-5745. [GL #780]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> leaked memory when processing a
request with multiple Key Tag EDNS options present. ISC
would like to thank Toshifumi Sakaguchi for bringing this
to our attention. This flaw is disclosed in CVE-2018-5744.
[GL #772]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Zone transfer controls for writable DLZ zones were not
effective as the <span class="command"><strong>allowzonexfr</strong></span> method was
not being called for such zones. This flaw is disclosed in
CVE-2019-6465. [GL #790]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.6-changes"></a>Feature Changes</h4></div></div></div>
- <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>
When compiled with IDN support, the <span class="command"><strong>dig</strong></span> and the
<span class="command"><strong>nslookup</strong></span> commands now disable IDN processing when
the standard output is not a tty (e.g. not used by human). The command
line options +idnin and +idnout need to be used to enable IDN
processing when <span class="command"><strong>dig</strong></span> or <span class="command"><strong>nslookup</strong></span>
is used from the shell scripts.
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.5"></a>Notes for BIND 9.11.5</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-security"></a>Security Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> could crash during recursive processing
of DNAME records when <span class="command"><strong>deny-answer-aliases</strong></span> was
in use. This flaw is disclosed in CVE-2018-5740. [GL #387]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-features"></a>New Features</h4></div></div></div>
- <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>
Two new update policy rule types have been added
<span class="command"><strong>krb5-selfsub</strong></span> and <span class="command"><strong>ms-selfsub</strong></span>
which allow machines with Kerberos principals to update
the name space at or below the machine names identified
in the respective principals.
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-changes"></a>Feature Changes</h4></div></div></div>
- <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 <span class="command"><strong>rndc nta</strong></span> command could not differentiate
between views of the same name but different class; this
has been corrected with the addition of a <span class="command"><strong>-class</strong></span>
option. [GL #105]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.5-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
When a negative trust anchor was added to multiple views
using <span class="command"><strong>rndc nta</strong></span>, the text returned via
<span class="command"><strong>rndc</strong></span> was incorrectly truncated after the
first line, making it appear that only one NTA had been
added. This has been fixed. [GL #105]
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
+</div>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.4"></a>Notes for BIND 9.11.4</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-security"></a>Security Fixes</h4></div></div></div>
- <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>
When recursion is enabled but the <span class="command"><strong>allow-recursion</strong></span>
and <span class="command"><strong>allow-query-cache</strong></span> ACLs are not specified, they
should be limited to local networks, but they were inadvertently set
to match the default <span class="command"><strong>allow-query</strong></span>, thus allowing
remote queries. This flaw is disclosed in CVE-2018-5738. [GL #309]
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-features"></a>New Features</h4></div></div></div>
- <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="command"><strong>named</strong></span> now supports the "root key sentinel"
mechanism. This enables validating resolvers to indicate
which trust anchors are configured for the root, so that
To disable this feature, add
<span class="command"><strong>root-key-sentinel no;</strong></span> to
<code class="filename">named.conf</code>.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
Added the ability not to return a DNS COOKIE option when one
is present in the request. To prevent a cookie being returned,
add <span class="command"><strong>answer-cookie no;</strong></span> to
<code class="filename">named.conf</code>. [GL #173]
</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
mechanism, and should not be disabled unless absolutely
necessary.
</p>
- </li>
+</li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-removed"></a>Removed Features</h4></div></div></div>
- <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="command"><strong>named</strong></span> will now log a warning if the old
BIND now can be compiled against libidn2 library to add
IDNA2008 support. Previously BIND only supported IDNA2003
using (now obsolete) idnkit-1 library.
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>dig +noidnin</strong></span> can be used to disable IDN
processing on the input domain name, when BIND is compiled
with IDN support.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Multiple <span class="command"><strong>cookie-secret</strong></span> clause are now
supported. The first <span class="command"><strong>cookie-secret</strong></span> in
<code class="filename">named.conf</code> is used to generate new
server cookies. Any others are used to accept old server
cookies or those generated by other servers using the
matching <span class="command"><strong>cookie-secret</strong></span>.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.4-bugs"></a>Bug Fixes</h4></div></div></div>
- <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="command"><strong>named</strong></span> now rejects excessively large
incremental (IXFR) zone transfers in order to prevent
possible corruption of journal files which could cause
<span class="command"><strong>named</strong></span> to abort when loading zones. [GL #339]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc reload</strong></span> could cause <span class="command"><strong>named</strong></span>
to leak memory if it was invoked before the zone loading actions
from a previous <span class="command"><strong>rndc reload</strong></span> command were
completed. [RT #47076]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.3"></a>Notes for BIND 9.11.3</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-security"></a>Security Fixes</h4></div></div></div>
- <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>
Addresses could be referenced after being freed during resolver
processing, causing an assertion failure. The chances of this
happening were remote, but the introduction of a delay in
resolution increased them. This bug is disclosed in
CVE-2017-3145. [RT #46839]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
update-policy rules that otherwise ignore the name field now
require that it be set to "." to ensure that any type list
present is properly interpreted. If the name field was omitted
from the rule declaration and a type list was present it wouldn't
be interpreted as expected.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-removed"></a>Removed Features</h4></div></div></div>
- <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 ISC DNSSEC Lookaside Validation (DLV) service has
been shut down; all DLV records in the dlv.isc.org zone
have been removed. References to the service have been
Setting <span class="command"><strong>dnssec-lookaside</strong></span> to
<span class="command"><strong>auto</strong></span> or to use dlv.isc.org as a trust
anchor results in a warning being issued.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> will now log a warning if the old
root DNSSEC key is explicitly configured and has not been updated.
[RT #43670]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="proto_changes"></a>Protocol Changes</h4></div></div></div>
- <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>
BIND can now use the Ed25519 and Ed448 Edwards Curve DNSSEC
signing algorithms described in RFC 8080. Note, however, that
these algorithms must be supported in OpenSSL;
<a class="link" href="https://github.com/openssl/openssl" target="_top">
https://github.com/openssl/openssl</a>.
[RT #44696]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When parsing DNS messages, EDNS KEY TAG options are checked
for correctness. When printing messages (for example, in
<span class="command"><strong>dig</strong></span>), EDNS KEY TAG options are printed
in readable format.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>named</strong></span> will no longer start or accept
reconfiguration if <span class="command"><strong>managed-keys</strong></span> or
<span class="command"><strong>dnssec-validation auto</strong></span> are in use and
<span class="command"><strong>managed-keys-directory</strong></span>, and defaulting
to the working directory if not specified),
is not writable by the effective user ID. [RT #46077]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Previously, <span class="command"><strong>update-policy local;</strong></span> accepted
updates from any source so long as they were signed by the
locally-generated session key. This has been further restricted;
updates are now only accepted from locally configured addresses.
[RT #45492]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.3-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Attempting to validate improperly unsigned CNAME responses
from secure zones could cause a validator loop. This caused
a delay in returning SERVFAIL and also increased the chances
of encountering the crash bug described in CVE-2017-3145.
[RT #46839]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When <span class="command"><strong>named</strong></span> was reconfigured, failure of some
zones to load correctly could leave the system in an inconsistent
state; while generally harmless, this could lead to a crash later
when using <span class="command"><strong>rndc addzone</strong></span>. Reconfiguration changes
are now fully rolled back in the event of failure. [RT #45841]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Some header files included <isc/util.h> incorrectly as
it pollutes with namespace with non ISC_ macros and this should
only be done by explicitly including <isc/util.h>. This
has been corrected. Some code may depend on <isc/util.h>
being implicitly included via other header files. Such
code should explicitly include <isc/util.h>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Zones created with <span class="command"><strong>rndc addzone</strong></span> could
temporarily fail to inherit the <span class="command"><strong>allow-transfer</strong></span>
ACL set in the <span class="command"><strong>options</strong></span> section of
<code class="filename">named.conf</code>. [RT #46603]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> failed to properly determine whether
there were active KSK and ZSK keys for an algorithm when
<span class="command"><strong>update-check-ksk</strong></span> was true (which is the
default setting). This could leave records unsigned
when rolling keys. [RT #46743] [RT #46754] [RT #46774]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.2"></a>Notes for BIND 9.11.2</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.2-security"></a>Security Fixes</h4></div></div></div>
- <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>
An error in TSIG handling could permit unauthorized zone
transfers or zone updates. These flaws are disclosed in
CVE-2017-3142 and CVE-2017-3143. [RT #45383]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The BIND installer on Windows used an unquoted service path,
which can enable privilege escalation. This flaw is disclosed
in CVE-2017-3141. [RT #45229]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
With certain RPZ configurations, a response with TTL 0
could cause <span class="command"><strong>named</strong></span> to go into an infinite
query loop. This flaw is disclosed in CVE-2017-3140.
[RT #45181]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.2-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>dig +ednsopt</strong></span> now accepts the names
for EDNS options in addition to numeric values. For example,
an EDNS Client-Subnet option could be sent using
<span class="command"><strong>dig +ednsopt=ecs:...</strong></span>. Thanks to
John Worley of Secure64 for the contribution. [RT #44461]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Threads in <span class="command"><strong>named</strong></span> are now set to human-readable
names to assist debugging on operating systems that support that.
Threads will have names such as "isc-timer", "isc-sockmgr",
"isc-worker0001", and so on. This will affect the reporting of
subsidiary thread names in <span class="command"><strong>ps</strong></span> and
<span class="command"><strong>top</strong></span>, but not the main thread. [RT #43234]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
DiG now warns about .local queries which are reserved for
Multicast DNS. [RT #44783]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.2-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a bug that was introduced in an earlier development
release which caused multi-packet AXFR and IXFR messages to fail
validation if not all packets contained TSIG records; this
caused interoperability problems with some other DNS
implementations. [RT #45509]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Reloading or reconfiguring <span class="command"><strong>named</strong></span> could
fail on some platforms when LMDB was in use. [RT #45203]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Due to some incorrectly deleted code, when BIND was
built with LMDB, zones that were deleted via
<span class="command"><strong>rndc delzone</strong></span> were removed from the
running server but were not removed from the new zone
database, so that deletion did not persist after a
server restart. This has been corrected. [RT #45185]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Semicolons are no longer escaped when printing CAA and
URI records. This may break applications that depend on the
presence of the backslash before the semicolon. [RT #45216]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
AD could be set on truncated answer with no records present
in the answer and authority sections. [RT #45140]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.1"></a>Notes for BIND 9.11.1</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-security"></a>Security Fixes</h4></div></div></div>
- <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="command"><strong>rndc ""</strong></span> could trigger an assertion failure
in <span class="command"><strong>named</strong></span>. This flaw is disclosed in
(CVE-2017-3138). [RT #44924]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Some chaining (i.e., type CNAME or DNAME) responses to upstream
queries could trigger assertion failures. This flaw is disclosed
in CVE-2017-3137. [RT #44734]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dns64</strong></span> with <span class="command"><strong>break-dnssec yes;</strong></span>
can result in an assertion failure. This flaw is disclosed in
CVE-2017-3136. [RT #44653]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If a server is configured with a response policy zone (RPZ)
that rewrites an answer with local data, and is also configured
for DNS64 address mapping, a NULL pointer can be read
triggering a server crash. This flaw is disclosed in
CVE-2017-3135. [RT #44434]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A coding error in the <code class="option">nxdomain-redirect</code>
feature could lead to an assertion failure if the redirection
namespace was served from a local authoritative data source
such as a local zone or a DLZ instead of via recursive
lookup. This flaw is disclosed in CVE-2016-9778. [RT #43837]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could mishandle authority sections
with missing RRSIGs, triggering an assertion failure. This
flaw is disclosed in CVE-2016-9444. [RT #43632]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> mishandled some responses where
covering RRSIG records were returned without the requested
data, resulting in an assertion failure. This flaw is
disclosed in CVE-2016-9147. [RT #43548]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> incorrectly tried to cache TKEY
records which could trigger an assertion failure when there was
a class mismatch. This flaw is disclosed in CVE-2016-9131.
[RT #43522]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
It was possible to trigger assertions when processing
responses containing answers of type DNAME. This flaw is
disclosed in CVE-2016-8864. [RT #43465]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Added the ability to specify the maximum number of records
permitted in a zone (<code class="option">max-records #;</code>).
This provides a mechanism to block overly large zone
transfers, which is a potential risk with slave zones from
other parties, as described in CVE-2016-6170.
[RT #42143]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-changes"></a>Feature Changes</h4></div></div></div>
- <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="command"><strong>dnstap</strong></span> now stores both the local and remote
addresses for all messages, instead of only the remote address.
The default output format for <span class="command"><strong>dnstap-read</strong></span> has
address first and the responding address second, separated by
"-%gt;" or "%lt;-" to indicate in which direction the message
was sent. [RT #43595]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Expanded and improved the YAML output from
<span class="command"><strong>dnstap-read -y</strong></span>: it now includes packet
size and a detailed breakdown of message contents.
[RT #43622] [RT #43642]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If an ACL is specified with an address prefix in which the
prefix length is longer than the address portion (for example,
192.0.2.1/8), <span class="command"><strong>named</strong></span> will now log a warning.
In future releases this will be a fatal configuration error.
[RT #43367]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
A synthesized CNAME record appearing in a response before the
associated DNAME could be cached, when it should not have been.
This was a regression introduced while addressing CVE-2016-8864.
[RT #44318]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could deadlock if multiple changes
to NSEC/NSEC3 parameters for the same zone were being processed
at the same time. [RT #42770]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could trigger an assertion when
sending NOTIFY messages. [RT #44019]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Referencing a nonexistent zone in a <span class="command"><strong>response-policy</strong></span>
statement could cause an assertion failure during configuration.
[RT #43787]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc addzone</strong></span> could cause a crash
when attempting to add a zone with a type other than
<span class="command"><strong>master</strong></span> or <span class="command"><strong>slave</strong></span>.
Such zones are now rejected. [RT #43665]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> could hang when encountering log
file names with large apparent gaps in version number (for
example, when files exist called "logfile.0", "logfile.1",
and "logfile.1482954169"). This is now handled correctly.
[RT #38688]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If a zone was updated while <span class="command"><strong>named</strong></span> was
processing a query for nonexistent data, it could return
out-of-sync NSEC3 records causing potential DNSSEC validation
failure. [RT #43247]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-maint"></a>Maintenance</h4></div></div></div>
- <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 built-in root hints have been updated to include an
IPv6 address (2001:500:12::d0d) for G.ROOT-SERVERS.NET.
- </p>
- </li></ul></div>
- </div>
-
- <div class="section">
+ </p></li></ul></div>
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.1-misc"></a>Miscellaneous Notes</h4></div></div></div>
- <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>
Authoritative server support for the EDNS Client Subnet option
(ECS), introduced in BIND 9.11.0, was based on an early version
of the specification, and is now known to have incompatibilities
testing purposes but is not recommended for for production use.
This was not made sufficiently clear in the documentation at
the time of release.
- </p>
- </li></ul></div>
- </div>
-
+ </p></li></ul></div>
</div>
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes-9.11.0"></a>Notes for BIND 9.11.0</h3></div></div></div>
-
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-security"></a>Security Fixes</h4></div></div></div>
- <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>
It was possible to trigger a assertion when rendering a
message using a specially crafted request. This flaw is
disclosed in CVE-2016-2776. [RT #43139]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
getrrsetbyname with a non absolute name could trigger an
infinite recursion bug in lwresd and named with lwres
configured if when combined with a search list entry the
resulting name is too long. This flaw is disclosed in
CVE-2016-2775. [RT #42694]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-features"></a>New Features</h4></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>
A new method of provisioning secondary servers called
"Catalog Zones" has been added. This is an implementation of
<a class="link" href="https://datatracker.ietf.org/doc/draft-muks-dnsop-dns-catalog-zones/" target="_top">
draft-muks-dnsop-dns-catalog-zones/
</a>.
</p>
- <p>
+<p>
A catalog zone is a regular DNS zone which contains a list
of "member zones", along with the configuration options for
each of those zones. When a server is configured to use a
propagated to slaves using the standard AXFR/IXFR update
mechanism.
</p>
- <p>
+<p>
This feature should be considered experimental. It currently
supports only basic features; more advanced features such as
ACLs and TSIG keys are not yet supported. Example catalog
zone configurations can be found in the Chapter 9 of the
BIND Administrator Reference Manual.
</p>
- <p>
+<p>
Support for master entries with TSIG keys has been added to catalog
zones, as well as support for allow-query and allow-transfer.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
Added an <span class="command"><strong>isc.rndc</strong></span> Python module, which allows
<span class="command"><strong>rndc</strong></span> commands to be sent from Python programs.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
Added support for DynDB, a new interface for loading zone data
from an external database, developed by Red Hat for the FreeIPA
project. (Thanks in particular to Adam Tkac and Petr
Spacek of Red Hat for the contribution.)
</p>
- <p>
+<p>
Unlike the existing DLZ and SDB interfaces, which provide a
limited subset of database functionality within BIND -
translating DNS queries into real-time database lookups with
DNSSEC-signed data - DynDB is able to fully implement
and extend the database API used natively by BIND.
</p>
- <p>
+<p>
A DynDB module could pre-load data from an external data
source, then serve it with the same performance and
functionality as conventional BIND zones, and with the
ability to take advantage of database features not
available in BIND, such as multi-master replication.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
Fetch quotas are now compiled in by default: they
no longer require BIND to be configured with
<span class="command"><strong>--enable-fetchlimit</strong></span>, as was the case
when the feature was introduced in BIND 9.10.3.
</p>
- <p>
+<p>
These quotas limit the queries that are sent by recursive
resolvers to authoritative servers experiencing denial-of-service
attacks. They can both reduce the harm done to authoritative
experienced by recursive servers when they are being used as a
vehicle for such an attack.
</p>
- <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
-<li class="listitem">
- <p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem"><p>
<code class="option">fetches-per-server</code> limits the number of
simultaneous queries that can be sent to any single
authoritative server. The configured value is a starting
partially or completely non-responsive. The algorithm used to
adjust the quota can be configured via the
<code class="option">fetch-quota-params</code> option.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<code class="option">fetches-per-zone</code> limits the number of
simultaneous queries that can be sent for names within a
single domain. (Note: Unlike "fetches-per-server", this
value is not self-tuning.)
- </p>
- </li>
+ </p></li>
</ul></div>
- <p>
+<p>
Statistics counters have also been added to track the number
of queries affected by these quotas.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
Added support for <span class="command"><strong>dnstap</strong></span>, a fast,
flexible method for capturing and logging DNS traffic,
developed by Robert Edmonds at Farsight Security, Inc.,
whose assistance is gratefully acknowledged.
</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>
A new utility <span class="command"><strong>dnstap-read</strong></span> has been added
to allow <span class="command"><strong>dnstap</strong></span> data to be presented in
a human-readable format.
</p>
- <p>
+<p>
<span class="command"><strong>rndc dnstap -roll</strong></span> causes <span class="command"><strong>dnstap</strong></span>
output files to be rolled like log files -- the most recent output
file is renamed with a <code class="filename">.0</code> suffix, the next
argument specifies how many backup log files to retain; if not
specified or set to 0, there is no limit.
</p>
- <p>
+<p>
<span class="command"><strong>rndc dnstap -reopen</strong></span> simply closes and reopens
the <span class="command"><strong>dnstap</strong></span> output channel without renaming
the output file.
</p>
- <p>
+<p>
For more information on <span class="command"><strong>dnstap</strong></span>, see
<a class="link" href="https://dnstap.info" target="_top">https://dnstap.info</a>.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
New statistics counters have been added to track traffic
sizes, as specified in RSSAC002. Query and response
message sizes are broken up into ranges of histogram buckets:
or
<a class="link" href="http://localhost:8888/json/v1/traffic" target="_top">http://localhost:8888/json/v1/traffic</a>.
</p>
- <p>
+<p>
Statistics for RSSAC02v3 traffic-volume, traffic-sizes and
rcode-volume reporting are now collected.
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
A new DNSSEC key management utility,
<span class="command"><strong>dnssec-keymgr</strong></span>, has been added. This tool
is meant to run unattended (e.g., under <span class="command"><strong>cron</strong></span>).
the configured policy changes, keys are corrected automatically.
See the <span class="command"><strong>dnssec-keymgr</strong></span> man page for full details.
</p>
- <p>
+<p>
Note: <span class="command"><strong>dnssec-keymgr</strong></span> depends on Python and on
the Python lex/yacc module, PLY. The other Python-based tools,
<span class="command"><strong>dnssec-coverage</strong></span> and
<span class="command"><strong>dnssec-checkds</strong></span>, have been
refactored and updated as part of this work.
</p>
- <p>
+<p>
<span class="command"><strong>dnssec-keymgr</strong></span> now takes a -r
<em class="replaceable"><code>randomfile</code></em> option.
</p>
- <p>
+<p>
(Many thanks to Sebastián
Castro for his assistance in developing this tool at the IETF
95 Hackathon in Buenos Aires, April 2016.)
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
The serial number of a dynamically updatable zone can
now be set using
<span class="command"><strong>rndc signing -serial <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>zonename</code></em></strong></span>.
zones that have been reset. Setting the serial number to a value
larger than that on the slaves will trigger an AXFR-style
transfer.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When answering recursive queries, SERVFAIL responses can now be
cached by the server for a limited time; subsequent queries for
the same query name and type will return another SERVFAIL until
on recursive servers. The SERVFAIL cache timeout is controlled
by <code class="option">servfail-ttl</code>, which defaults to 1 second
and has an upper limit of 30.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The new <span class="command"><strong>rndc nta</strong></span> command can now be used to
set a "negative trust anchor" (NTA), disabling DNSSEC validation for
a specific domain; this can be used when responses from a domain
<code class="filename">named.conf</code>. When added, NTAs are stored in a
file (<code class="filename"><em class="replaceable"><code>viewname</code></em>.nta</code>)
in order to persist across restarts of the <span class="command"><strong>named</strong></span> server.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The EDNS Client Subnet (ECS) option is now supported for
authoritative servers; if a query contains an ECS option then
ACLs containing <code class="option">geoip</code> or <code class="option">ecs</code>
elements can match against the address encoded in the option.
This can be used to select a view for a query, so that different
answers can be provided depending on the client network.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The EDNS EXPIRE option has been implemented on the client
side, allowing a slave server to set the expiration timer
correctly when transferring zone data from another slave
server.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <code class="option">masterfile-style</code> zone option controls
the formatting of text zone files: When set to
<code class="literal">full</code>, the zone file will dumped in
single-line-per-record format.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +ednsopt</strong></span> can now be used to set
arbitrary EDNS options in DNS requests.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +ednsflags</strong></span> can now be used to set
yet-to-be-defined EDNS flags in DNS requests.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +[no]ednsnegotiation</strong></span> can now be used enable /
disable EDNS version negotiation.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +header-only</strong></span> can now be used to send
queries without a question section.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +ttlunits</strong></span> causes <span class="command"><strong>dig</strong></span>
to print TTL values with time-unit suffixes: w, d, h, m, s for
weeks, days, hours, minutes, and seconds.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +zflag</strong></span> can be used to set the last
unassigned DNS header flag bit. This bit is normally zero.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +dscp=<em class="replaceable"><code>value</code></em></strong></span>
can now be used to set the DSCP code point in outgoing query
packets.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dig +mapped</strong></span> can now be used to determine
if mapped IPv4 addresses can be used.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>nslookup</strong></span> will now look up IPv6 as well
as IPv4 addresses by default. [RT #40420]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<code class="option">serial-update-method</code> can now be set to
<code class="literal">date</code>. On update, the serial number will
be set to the current date in YYYYMMDDNN format.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>dnssec-signzone -N date</strong></span> also sets the serial
number to YYYYMMDDNN.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named -L <em class="replaceable"><code>filename</code></em></strong></span>
causes <span class="command"><strong>named</strong></span> to send log messages to the
specified file by default instead of to the system log.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The rate limiter configured by the
<code class="option">serial-query-rate</code> option no longer covers
NOTIFY messages; those are now separately controlled by
<code class="option">startup-notify-rate</code> (the latter of which
controls the rate of NOTIFY messages sent when the server
is first started up or reconfigured).
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The default number of tasks and client objects available
for serving lightweight resolver queries have been increased,
and are now configurable via the new <code class="option">lwres-tasks</code>
and <code class="option">lwres-clients</code> options in
<code class="filename">named.conf</code>. [RT #35857]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Log output to files can now be buffered by specifying
<span class="command"><strong>buffered yes;</strong></span> when creating a channel.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>delv +tcp</strong></span> will exclusively use TCP when
sending queries.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> will now check to see whether
other name server processes are running before starting up.
This is implemented in two ways: 1) by refusing to start
<code class="filename">/var/run/named/named.lock</code>.
Specifying <code class="literal">none</code> will disable the lock
file check.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc delzone</strong></span> can now be applied to zones
which were configured in <code class="filename">named.conf</code>;
it is no longer restricted to zones which were added by
this does not edit <code class="filename">named.conf</code>; the zone
must be removed from the configuration or it will return
when <span class="command"><strong>named</strong></span> is restarted or reloaded.)
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc modzone</strong></span> can be used to reconfigure
a zone, using similar syntax to <span class="command"><strong>rndc addzone</strong></span>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>rndc showzone</strong></span> displays the current
configuration for a specified zone.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
When BIND is built with the <span class="command"><strong>lmdb</strong></span> library
(Lightning Memory-Mapped Database), <span class="command"><strong>named</strong></span>
will store the configuration information for zones
the contents of a database is much faster than rewriting
a text file.
</p>
- <p>
+<p>
On startup, if <span class="command"><strong>named</strong></span> finds an existing
NZF file, it will automatically convert it to the new NZD
database format.
</p>
- <p>
+<p>
To view the contents of an NZD, or to convert an
NZD back to an NZF file (for example, to revert back
to an earlier version of BIND which did not support the
NZD format), use the new command <span class="command"><strong>named-nzd2nzf</strong></span>
[RT #39837]
</p>
- </li>
+</li>
<li class="listitem">
- <p>
+<p>
Added server-side support for pipelined TCP queries. Clients
may continue sending queries via TCP while previous queries are
processed in parallel. Responses are sent when they are
ready, not necessarily in the order in which the queries were
received.
</p>
- <p>
+<p>
To revert to the former behavior for a particular
client address or range of addresses, specify the address prefix
in the "keep-response-order" option. To revert to the former
behavior for all clients, use "keep-response-order { any; };".
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
The new <span class="command"><strong>mdig</strong></span> command is a version of
<span class="command"><strong>dig</strong></span> that sends multiple pipelined
queries and then waits for responses, instead of sending one
query and waiting the response before sending the next. [RT #38261]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
To enable better monitoring and troubleshooting of RFC 5011
trust anchor management, the new <span class="command"><strong>rndc managed-keys</strong></span>
can be used to check status of trust anchors or to force keys
to be refreshed. Also, the managed-keys data file now has
easier-to-read comments. [RT #38458]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
An <span class="command"><strong>--enable-querytrace</strong></span> configure switch is
now available to enable very verbose query trace logging. This
option can only be set at compile time. This option has a
negative performance impact and should be used only for
debugging. [RT #37520]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <span class="command"><strong>tcp-only</strong></span> option can be specified
in <span class="command"><strong>server</strong></span> statements to force
<span class="command"><strong>named</strong></span> to connect to the specified
server via TCP. [RT #37800]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The <span class="command"><strong>nxdomain-redirect</strong></span> option specifies
a DNS namespace to use for NXDOMAIN redirection. When a
recursive lookup returns NXDOMAIN, a second lookup is
queries to other servers. (The older method, using
a single <span class="command"><strong>type redirect</strong></span> zone, has
better average performance but is less flexible.) [RT #37989]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The following types have been implemented: CSYNC, NINFO, RKEY,
SINK, TA, TALINK.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <span class="command"><strong>message-compression</strong></span> option can be
used to specify whether or not to use name compression when
answering queries. Setting this to <strong class="userinput"><code>no</code></strong>
results in larger responses, but reduces CPU consumption and
may improve throughput. The default is <strong class="userinput"><code>yes</code></strong>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A <span class="command"><strong>read-only</strong></span> option is now available in the
<span class="command"><strong>controls</strong></span> statement to grant non-destructive
control channel access. In such cases, a restricted set of
reconfigure or stop the server. By default, the control channel
access is <span class="emphasis"><em>not</em></span> restricted to these
read-only operations. [RT #40498]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When loading a signed zone, <span class="command"><strong>named</strong></span> will
now check whether an RRSIG's inception time is in the future,
and if so, it will regenerate the RRSIG immediately. This helps
when a system's clock needs to be reset backwards.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The new <span class="command"><strong>minimal-any</strong></span> option reduces the size
of answers to UDP queries for type ANY by implementing one of
the strategies in "draft-ietf-dnsop-refuse-any": returning
a single arbitrarily-selected RRset that matches the query
name rather than returning all of the matching RRsets.
Thanks to Tony Finch for the contribution. [RT #41615]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> now provides feedback to the
owners of zones which have trust anchors configured
(<span class="command"><strong>trusted-keys</strong></span>,
configured trust anchors for the zone. This is controlled
by <span class="command"><strong>trust-anchor-telemetry</strong></span> and defaults
to yes.
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-changes"></a>Feature Changes</h4></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 logging format used for <span class="command"><strong>querylog</strong></span> has been
altered. It now includes an additional field indicating the
address in memory of the client object processing the query.
</p>
- <p>
+<p>
The ISC DNSSEC Lookaside Validation (DLV) service is scheduled
to be disabled in 2017. A warning is now logged when
<span class="command"><strong>named</strong></span> is configured to use this service,
either explicitly or via <code class="option">dnssec-lookaside auto;</code>.
[RT #42207]
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
The timers returned by the statistics channel (indicating current
time, server boot time, and most recent reconfiguration time) are
now reported with millisecond accuracy. [RT #40082]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Updated the compiled-in addresses for H.ROOT-SERVERS.NET
and L.ROOT-SERVERS.NET.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
ACLs containing <span class="command"><strong>geoip asnum</strong></span> elements were
not correctly matched unless the full organization name was
specified in the ACL (as in
<span class="command"><strong>geoip asnum "AS1234 Example, Inc.";</strong></span>).
They can now match against the AS number alone (as in
<span class="command"><strong>geoip asnum "AS1234";</strong></span>).
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When using native PKCS#11 cryptography (i.e.,
<span class="command"><strong>configure --enable-native-pkcs11</strong></span>) HSM PINs
of up to 256 characters can now be used.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
NXDOMAIN responses to queries of type DS are now cached separately
from those for other types. This helps when using "grafted" zones
of type forward, for which the parent zone does not contain a
change is only helpful when DNSSEC validation is not enabled.
"Grafted" zones without a delegation in the parent are not a
recommended configuration.)
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Update forwarding performance has been improved by allowing
a single TCP connection to be shared between multiple updates.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
By default, <span class="command"><strong>nsupdate</strong></span> will now check
the correctness of hostnames when adding records of type
A, AAAA, MX, SOA, NS, SRV or PTR. This behavior can be
disabled with <span class="command"><strong>check-names no</strong></span>.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Added support for OPENPGPKEY type.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The names of the files used to store managed keys and added
zones for each view are no longer based on the SHA256 hash
of the view name, except when this is necessary because the
or <code class="filename">external.nzf</code>). However, to ensure
consistent behavior when upgrading, if a file using the old
name format is found to exist, it will continue to be used.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
"rndc" can now return text output of arbitrary size to
the caller. (Prior to this, certain commands such as
"rndc tsig-list" and "rndc zonestatus" could return
truncated output.)
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Errors reported when running <span class="command"><strong>rndc addzone</strong></span>
(e.g., when a zone file cannot be loaded) have been clarified
to make it easier to diagnose problems.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When encountering an authoritative name server whose name is
an alias pointing to another name, the resolver treats
this as an error and skips to the next server. Previously
this happened silently; now the error will be logged to
the newly-created "cname" log category.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
If <span class="command"><strong>named</strong></span> is not configured to validate
answers, then allow fallback to plain DNS on timeout even when
we know the server supports EDNS. This will allow the server to
potentially resolve signed queries when TCP is being
blocked.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Large inline-signing changes should be less disruptive.
Signature generation is now done incrementally; the number
of signatures to be generated in each quantum is controlled
by "sig-signing-signatures <em class="replaceable"><code>number</code></em>;".
[RT #37927]
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
The experimental SIT option (code point 65001) of BIND
9.10.0 through BIND 9.10.2 has been replaced with the COOKIE
option (code point 10). It is no longer experimental, and
is sent by default, by both <span class="command"><strong>named</strong></span> and
<span class="command"><strong>dig</strong></span>.
</p>
- <p>
+<p>
The SIT-related named.conf options have been marked as
obsolete, and are otherwise ignored.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
When <span class="command"><strong>dig</strong></span> receives a truncated (TC=1)
response or a BADCOOKIE response code from a server, it
will automatically retry the query using the server COOKIE
that was returned by the server in its initial response.
[RT #39047]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Retrieving the local port range from net.ipv4.ip_local_port_range
on Linux is now supported.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A new <code class="option">nsip-wait-recurse</code> directive has been
added to RPZ, specifying whether to look up unknown name server
IP addresses and wait for a response before applying RPZ-NSIP rules.
be applied on subsequent queries. This improves performance when
the cache is cold, at the cost of temporary imprecision in applying
policy directives. [RT #35009]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Within the <code class="option">response-policy</code> option, it is now
possible to configure RPZ rewrite logging on a per-zone basis
using the <code class="option">log</code> clause.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
The default preferred glue is now the address type of the
transport the query was received over.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
On machines with 2 or more processors (CPU), the default value
for the number of UDP listeners has been changed to the number
of detected processors minus one.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Zone transfers now use smaller message sizes to improve
message compression. This results in reduced network usage.
- </p>
- </li>
+ </p></li>
<li class="listitem">
- <p>
+<p>
Added support for the AVC resource record type (Application
Visibility and Control).
</p>
- <p>
+<p>
Changed <span class="command"><strong>rndc reconfig</strong></span> behavior so that newly
added zones are loaded asynchronously and the loading does not
block the server.
</p>
- </li>
-<li class="listitem">
- <p>
+</li>
+<li class="listitem"><p>
<span class="command"><strong>minimal-responses</strong></span> now takes two new
arguments: <code class="option">no-auth</code> suppresses
populating the authority section but not the additional
section; <code class="option">no-auth-recursive</code>
does the same but only when answering recursive queries.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
At server startup time, the queues for processing
notify and zone refresh queries are now processed in
LIFO rather than FIFO order, to speed up
loading of newly added zones. [RT #42825]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
When answering queries of type MX or SRV, TLSA records for
the target name are now included in the additional section
to speed up DANE processing. [RT #42894]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
<span class="command"><strong>named</strong></span> can now use the TCP Fast Open
mechanism on the server side, if supported by the
local operating system. [RT #42866]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="relnotes-9.11.0-bugs"></a>Bug Fixes</h4></div></div></div>
- <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>
Fixed a crash when calling <span class="command"><strong>rndc stats</strong></span> on some
Windows builds: some Visual Studio compilers generate code that
crashes when the "%z" printf() format specifier is used. [RT #42380]
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
Windows installs were failing due to triggering UAC without
the installation binary being signed.
- </p>
- </li>
-<li class="listitem">
- <p>
+ </p></li>
+<li class="listitem"><p>
A change in the internal binary representation of the RBT database
node structure enabled a race condition to occur (especially when
BIND was built with certain compilers or optimizer settings),
leading to inconsistent database state which caused random
assertion failures. [RT #42380]
- </p>
- </li>
+ </p></li>
</ul></div>
- </div>
-
</div>
-
- <div class="section">
+</div>
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="end_of_life"></a>End of Life</h3></div></div></div>
- <p>
+<p>
BIND 9.11 (Extended Support Version) will be supported until at
least December, 2021.
</p>
- <p>
+<p>
See <a class="link" href="https://kb.isc.org/docs/aa-00896" target="_top">https://kb.isc.org/docs/aa-00896</a>
for details of ISC's software support policy.
</p>
</div>
- <div class="section">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_thanks"></a>Thank You</h3></div></div></div>
- <p>
+<p>
Thank you to everyone who assisted us in making this release possible.
</p>
</div>
-</div>
-</div></body>
+</div></div></body>
</html>
-Release Notes for BIND Version 9.11.25
+Release Notes for BIND Version 9.11.26
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.26
+
+Feature Changes
+
+ • The default value of max-recursion-queries was increased from 75 to
+ 100. Since the queries sent towards root and TLD servers are now
+ included in the count (as a result of the fix for CVE-2020-8616),
+ max-recursion-queries has a higher chance of being exceeded by
+ non-attack queries, which is the main reason for increasing its
+ default value. [GL #2305]
+
+ • The default value of nocookie-udp-size was restored back to 4096
+ bytes. Since max-udp-size is the upper bound for nocookie-udp-size,
+ this change relieves the operator from having to change
+ nocookie-udp-size together with max-udp-size in order to increase the
+ default EDNS buffer size limit. nocookie-udp-size can still be set to
+ a value lower than max-udp-size, if desired. [GL #2250]
+
+Bug Fixes
+
+ • Handling of missing DNS COOKIE responses over UDP was tightened by
+ falling back to TCP. [GL #2275]
+
+ • The CNAME synthesized from a DNAME was incorrectly followed when the
+ QTYPE was CNAME or ANY. [GL #2280]
+
+ • Building with native PKCS#11 support for AEP Keyper has been broken
+ since BIND 9.11.22. This has been fixed. [GL #2315]
+
Notes for BIND 9.11.25
Bug Fixes
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
isc-config.sh \- Get information about the installed version of ISC BIND
- .SH "SYNOPSIS"
- .HP \w'\fBisc\-config\&.sh\fR\ 'u
- \fBisc\-config\&.sh\fR
- [\fB\-\-cflags\fR]
- [\fB\-\-exec\-prefix\fR]
- [\fB\-\-libs\fR]
- [\fB\-\-prefix\fR]
- [\fB\-\-version\fR]
- [libraries...]
- .SH "DESCRIPTION"
- .PP
+.SH "SYNOPSIS"
+.HP \w'\fBisc\-config\&.sh\fR\ 'u
+\fBisc\-config\&.sh\fR [\fB\-\-cflags\fR] [\fB\-\-exec\-prefix\fR] [\fB\-\-libs\fR] [\fB\-\-prefix\fR] [\fB\-\-version\fR] [libraries...]
+.SH "DESCRIPTION"
+.PP
\fBisc\-config\&.sh\fR
prints information related to the installed version of ISC BIND, such as the compiler and linker flags required to compile and link programs that use ISC BIND libraries\&.
- .PP
+.PP
The optional libraries are used to report specific details for compiling and linking for the listed libraries\&. The allowed choices are:
\fBisc\fR,
\fBisccc\fR,
\fBdns\fR,
\fBlwres\fR, and
\fBbind9\fR\&. Multiple libraries may be listed on the command line\&. (Some libraries require other libraries, so are implied\&.)
- .SH "OPTIONS"
- .PP
+.SH "OPTIONS"
+.PP
\-\-cflags
.RS 4
- Prints the compiler command line options required to compile files that use ISC BIND\&. Use the
+Prints the compiler command line options required to compile files that use ISC BIND\&. Use the
\fBlibraries\fR
command line argument(s) to print additional specific flags to pass to the C compiler\&.
- .RE
- .PP
+.RE
+.PP
\-\-exec\-prefix
.RS 4
- Prints the directory prefix used in the ISC BIND installation for architecture dependent files to standard output\&.
- .RE
- .PP
+Prints the directory prefix used in the ISC BIND installation for architecture dependent files to standard output\&.
+.RE
+.PP
\-\-libs
.RS 4
- Prints the linker command line options used to link with the ISC BIND libraries\&. Use the
+Prints the linker command line options used to link with the ISC BIND libraries\&. Use the
\fBlibraries\fR
command line argument(s) to print additional specific flags\&.
- .RE
- .PP
+.RE
+.PP
\-\-prefix
.RS 4
- Prints the directory prefix used in the ISC BIND installation for architecture independent files to standard output\&.
- .RE
- .PP
+Prints the directory prefix used in the ISC BIND installation for architecture independent files to standard output\&.
+.RE
+.PP
\-\-version
.RS 4
- Prints the version of the installed ISC BIND suite\&.
- .RE
- .SH "RETURN VALUES"
- .PP
+Prints the version of the installed ISC BIND suite\&.
+.RE
+.SH "RETURN VALUES"
+.PP
\fBisc\-config\&.sh\fR
returns an exit status of 1 if invoked with invalid arguments or no arguments at all\&. It returns 0 if information was successfully printed\&.
.SH "AUTHOR"
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="man.isc-config.sh"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- <span class="application">isc-config.sh</span>
- — Get information about the installed version of ISC BIND
- </p>
+<p><span class="application">isc-config.sh</span> — Get information about the installed version of ISC BIND</p>
</div>
-
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="cmdsynopsis"><p>
- <code class="command">isc-config.sh</code>
- [<code class="option">--cflags</code>]
- [<code class="option">--exec-prefix</code>]
- [<code class="option">--libs</code>]
- [<code class="option">--prefix</code>]
- [<code class="option">--version</code>]
- [libraries...]
- </p></div>
- </div>
-
- <div class="refsection">
+<div class="cmdsynopsis"><p><code class="command">isc-config.sh</code> [<code class="option">--cflags</code>] [<code class="option">--exec-prefix</code>] [<code class="option">--libs</code>] [<code class="option">--prefix</code>] [<code class="option">--version</code>] [libraries...]</p></div>
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p><span class="command"><strong>isc-config.sh</strong></span>
+<p><span class="command"><strong>isc-config.sh</strong></span>
prints information related to the installed version of ISC BIND,
such as the compiler and linker flags required to compile
and link programs that use ISC BIND libraries.
</p>
- <p>
+<p>
The optional libraries are used to report specific details
for compiling and linking for the listed libraries.
The allowed choices are:
Multiple libraries may be listed on the command line.
(Some libraries require other libraries, so are implied.)
</p>
-
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>OPTIONS</h2>
-
-
- <div class="variablelist"><dl class="variablelist">
+<div class="variablelist"><dl class="variablelist">
<dt><span class="term">--cflags</span></dt>
-<dd>
- <p>
+<dd><p>
Prints the compiler command line options required to
compile files that use ISC BIND.
Use the <code class="option">libraries</code> command line argument(s)
to print additional specific flags to pass to the C compiler.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term">--exec-prefix</span></dt>
-<dd>
- <p>
+<dd><p>
Prints the directory prefix used in the ISC BIND installation
for architecture dependent files to standard output.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term">--libs</span></dt>
-<dd>
- <p>
+<dd><p>
Prints the linker command line options used to
link with the ISC BIND libraries.
Use the <code class="option">libraries</code> command line argument(s)
to print additional specific flags.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term">--prefix</span></dt>
-<dd>
- <p>
+<dd><p>
Prints the directory prefix used in the ISC BIND installation
for architecture independent files to standard output.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term">--version</span></dt>
-<dd>
- <p>
+<dd><p>
Prints the version of the installed ISC BIND suite.
- </p>
- </dd>
+ </p></dd>
</dl></div>
-
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>RETURN VALUES</h2>
-
- <p><span class="command"><strong>isc-config.sh</strong></span>
+<p><span class="command"><strong>isc-config.sh</strong></span>
returns an exit status of 1 if
invoked with invalid arguments or no arguments at all.
It returns 0 if information was successfully printed.
</p>
- </div>
-
+</div>
</div></body>
</html>
# 9.11: 160-169,1100-1199
# 9.12: 1200-1299
LIBINTERFACE = 1112
-LIBREVISION = 1
+LIBREVISION = 2
LIBAGE = 0
# 9.11: 160-169,1100-1199
# 9.12: 1200-1299
LIBINTERFACE = 1107
-LIBREVISION = 3
+LIBREVISION = 4
LIBAGE = 0
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres \- introduction to the lightweight resolver library
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwres\&.h>
.fi
.ft
-.sp
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
The BIND 9 lightweight resolver library is a simple, name service independent stub resolver library\&. It provides hostname\-to\-address and address\-to\-hostname lookup services to applications by transmitting lookup requests to a resolver daemon
\fBlwresd\fR
running on the local host\&. The resolver daemon performs the lookup using the DNS or possibly other name service protocols, and returns the results to the application through the library\&. The library and resolver daemon communicate using a simple UDP\-based protocol\&.
- .SH "OVERVIEW"
- .PP
+.SH "OVERVIEW"
+.PP
The lwresd library implements multiple name service APIs\&. The standard
\fBgethostbyname()\fR,
\fBgethostbyaddr()\fR,
which contains macro definitions mapping the standard function names into
lwres_
prefixed ones\&. Operating system vendors who integrate the lwres library into their base distributions should rename the functions in the library proper so that the renaming macros are not needed\&.
- .PP
+.PP
The library also provides a native API consisting of the functions
\fBlwres_getaddrsbyname()\fR
and
\fBlwres_getnamebyaddr()\fR\&. These may be called by applications that require more detailed control over the lookup process than the standard functions provide\&.
- .PP
+.PP
In addition to these name service independent address lookup functions, the library implements a new, experimental API for looking up arbitrary DNS resource records, using the
\fBlwres_getaddrsbyname()\fR
function\&.
- .PP
+.PP
Finally, there is a low\-level API for converting lookup requests and responses to and from raw lwres protocol packets\&. This API can be used by clients requiring nonblocking operation, and is also used when implementing the server side of the lwres protocol, for example in the
\fBlwresd\fR
resolver daemon\&. The use of this low\-level API in clients and servers is outlined in the following sections\&.
- .SH "CLIENT\-SIDE LOW\-LEVEL API CALL FLOW"
- .PP
+.SH "CLIENT\-SIDE LOW\-LEVEL API CALL FLOW"
+.PP
When a client program wishes to make an lwres request using the native low\-level API, it typically performs the following sequence of actions\&.
- .PP
+.PP
(1) Allocate or use an existing
\fBlwres_packet_t\fR, called
\fIpkt\fR
below\&.
- .PP
+.PP
(2) Set
\fIpkt\&.recvlength\fR
to the maximum length we will accept\&. This is done so the receiver of our packets knows how large our receive buffer is\&. The "default" is a constant in
lwres\&.h:
\fBLWRES_RECVLENGTH = 4096\fR\&.
- .PP
+.PP
(3) Set
\fIpkt\&.serial\fR
to a unique serial number\&. This value is echoed back to the application by the remote server\&.
- .PP
+.PP
(4) Set
\fIpkt\&.pktflags\fR\&. Usually this is set to 0\&.
- .PP
+.PP
(5) Set
\fIpkt\&.result\fR
to 0\&.
- .PP
+.PP
(6) Call
\fBlwres_*request_render()\fR, or marshall in the data using the primitives such as
\fBlwres_packet_render()\fR
and storing the packet data\&.
- .PP
+.PP
(7) Transmit the resulting buffer\&.
- .PP
+.PP
(8) Call
\fBlwres_*response_parse()\fR
to parse any packets received\&.
- .PP
+.PP
(9) Verify that the opcode and serial match a request, and process the packet specific information contained in the body\&.
- .SH "SERVER\-SIDE LOW\-LEVEL API CALL FLOW"
- .PP
+.SH "SERVER\-SIDE LOW\-LEVEL API CALL FLOW"
+.PP
When implementing the server side of the lightweight resolver protocol using the lwres library, a sequence of actions like the following is typically involved in processing each request packet\&.
- .PP
+.PP
Note that the same
\fBlwres_packet_t\fR
is used in both the
and
\fB_render()\fR
calls, with only a few modifications made to the packet header\*(Aqs contents between uses\&. This method is recommended as it keeps the serial, opcode, and other fields correct\&.
- .PP
+.PP
(1) When a packet is received, call
\fBlwres_*request_parse()\fR
to unmarshall it\&. This returns a
(also called
\fIpkt\fR, below) as well as a data specific type, such as
\fBlwres_gabnrequest_t\fR\&.
- .PP
+.PP
(2) Process the request in the data specific type\&.
- .PP
+.PP
(3) Set the
\fIpkt\&.result\fR,
\fIpkt\&.recvlength\fR
will be set up properly\&. Otherwise, the
\fBLWRES_LWPACKETFLAG_RESPONSE\fR
bit should be set\&.
- .PP
+.PP
(4) Call the data specific rendering function, such as
\fBlwres_gabnresponse_render()\fR\&.
- .PP
+.PP
(5) Send the resulting packet to the client\&.
- .PP
- .SH "SEE ALSO"
- .PP
+.PP
+.SH "SEE ALSO"
+.PP
\fBlwres_gethostent\fR(3),
\fBlwres_getipnode\fR(3),
\fBlwres_getnameinfo\fR(3),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres
- — introduction to the lightweight resolver library
- </p>
+<p>lwres — introduction to the lightweight resolver library</p>
</div>
-
-
-
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
-<pre class="funcsynopsisinfo">#include <lwres/lwres.h></pre>
+<div class="funcsynopsis"><pre class="funcsynopsisinfo">#include <lwres/lwres.h></pre></div>
</div>
- </div>
-
- <div class="refsection">
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p>
+<p>
The BIND 9 lightweight resolver library is a simple, name service
independent stub resolver library. It provides hostname-to-address
and address-to-hostname lookup services to applications by
The library and resolver daemon communicate using a simple
UDP-based protocol.
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>OVERVIEW</h2>
-
- <p>
+<p>
The lwresd library implements multiple name service APIs.
The standard
<code class="function">gethostbyname()</code>,
library into their base distributions should rename the functions
in the library proper so that the renaming macros are not needed.
</p>
- <p>
+<p>
The library also provides a native API consisting of the functions
<code class="function">lwres_getaddrsbyname()</code>
and
control over the lookup process than the standard functions
provide.
</p>
- <p>
+<p>
In addition to these name service independent address lookup
functions, the library implements a new, experimental API
for looking up arbitrary DNS resource records, using the
<code class="function">lwres_getaddrsbyname()</code>
function.
</p>
- <p>
+<p>
Finally, there is a low-level API for converting lookup
requests and responses to and from raw lwres protocol packets.
This API can be used by clients requiring nonblocking operation,
resolver daemon. The use of this low-level API in clients
and servers is outlined in the following sections.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>CLIENT-SIDE LOW-LEVEL API CALL FLOW</h2>
-
- <p>
+<p>
When a client program wishes to make an lwres request using the
native low-level API, it typically performs the following
sequence of actions.
</p>
- <p>
+<p>
(1) Allocate or use an existing <span class="type">lwres_packet_t</span>,
called <code class="varname">pkt</code> below.
</p>
- <p>
+<p>
(2) Set <code class="varname">pkt.recvlength</code> to the maximum length
we will accept.
This is done so the receiver of our packets knows how large our receive
buffer is. The "default" is a constant in
<code class="filename">lwres.h</code>: <code class="constant">LWRES_RECVLENGTH = 4096</code>.
</p>
- <p>
+<p>
(3) Set <code class="varname">pkt.serial</code>
to a unique serial number. This value is echoed
back to the application by the remote server.
</p>
- <p>
+<p>
(4) Set <code class="varname">pkt.pktflags</code>. Usually this is set to
0.
</p>
- <p>
+<p>
(5) Set <code class="varname">pkt.result</code> to 0.
</p>
- <p>
+<p>
(6) Call <code class="function">lwres_*request_render()</code>,
or marshall in the data using the primitives
such as <code class="function">lwres_packet_render()</code>
and storing the packet data.
</p>
- <p>
+<p>
(7) Transmit the resulting buffer.
</p>
- <p>
+<p>
(8) Call <code class="function">lwres_*response_parse()</code>
to parse any packets received.
</p>
- <p>
+<p>
(9) Verify that the opcode and serial match a request, and process the
packet specific information contained in the body.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.10"></a><h2>SERVER-SIDE LOW-LEVEL API CALL FLOW</h2>
-
- <p>
+<p>
When implementing the server side of the lightweight resolver
protocol using the lwres library, a sequence of actions like the
following is typically involved in processing each request packet.
</p>
- <p>
+<p>
Note that the same <span class="type">lwres_packet_t</span> is used
in both the <code class="function">_parse()</code> and <code class="function">_render()</code> calls,
with only a few modifications made
recommended
as it keeps the serial, opcode, and other fields correct.
</p>
- <p>
+<p>
(1) When a packet is received, call <code class="function">lwres_*request_parse()</code> to
unmarshall it. This returns a <span class="type">lwres_packet_t</span> (also called <code class="varname">pkt</code>, below)
as well as a data specific type, such as <span class="type">lwres_gabnrequest_t</span>.
</p>
- <p>
+<p>
(2) Process the request in the data specific type.
</p>
- <p>
+<p>
(3) Set the <code class="varname">pkt.result</code>,
<code class="varname">pkt.recvlength</code> as above. All other fields
can
properly. Otherwise, the <code class="constant">LWRES_LWPACKETFLAG_RESPONSE</code> bit should be
set.
</p>
- <p>
+<p>
(4) Call the data specific rendering function, such as
<code class="function">lwres_gabnresponse_render()</code>.
</p>
- <p>
+<p>
(5) Send the resulting packet to the client.
</p>
- <p></p>
- </div>
- <div class="refsection">
+<p></p>
+</div>
+<div class="refsection">
<a name="id-1.11"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">lwres_gethostent</span>(3)</span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_gethostent</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getipnode</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getipnode</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getnameinfo</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getnameinfo</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_noop</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_noop</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_gabn</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_gabn</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_gnba</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_gnba</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_context</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_context</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_config</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_config</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">resolver</span>(5)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">lwresd</span>(8)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">lwresd</span>(8)</span>.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_buffer_init, lwres_buffer_invalidate, lwres_buffer_add, lwres_buffer_subtract, lwres_buffer_clear, lwres_buffer_first, lwres_buffer_forward, lwres_buffer_back, lwres_buffer_getuint8, lwres_buffer_putuint8, lwres_buffer_getuint16, lwres_buffer_putuint16, lwres_buffer_getuint32, lwres_buffer_putuint32, lwres_buffer_putmem, lwres_buffer_getmem \- lightweight resolver buffer management
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwbuffer\&.h>
.fi
.ft
-.sp
.HP \w'void\ lwres_buffer_init('u
.BI "void lwres_buffer_init(lwres_buffer_t\ *" "b" ", void\ *" "base" ", unsigned\ int\ " "length" ");"
.HP \w'void\ lwres_buffer_invalidate('u
.BI "void lwres_buffer_putmem(lwres_buffer_t\ *" "b" ", const\ unsigned\ char\ *" "base" ", unsigned\ int\ " "length" ");"
.HP \w'void\ lwres_buffer_getmem('u
.BI "void lwres_buffer_getmem(lwres_buffer_t\ *" "b" ", unsigned\ char\ *" "base" ", unsigned\ int\ " "length" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
These functions provide bounds checked access to a region of memory where data is being read or written\&. They are based on, and similar to, the
isc_buffer_
functions in the ISC library\&.
- .PP
+.PP
A buffer is a region of memory, together with a set of related subregions\&. The
\fIused region\fR
and the
\fIavailable\fR
region are disjoint, and their union is the buffer\*(Aqs region\&. The used region extends from the beginning of the buffer region to the last used byte\&. The available region extends from one byte greater than the last used byte to the end of the buffer\*(Aqs region\&. The size of the used region can be changed using various buffer commands\&. Initially, the used region is empty\&.
- .PP
+.PP
The used region is further subdivided into two disjoint regions: the
\fIconsumed region\fR
and the
offset (if any)\&. The
\fIremaining\fR
region the current pointer to the end of the used region\&. The size of the consumed region can be changed using various buffer commands\&. Initially, the consumed region is empty\&.
- .PP
+.PP
The
\fIactive region\fR
is an (optional) subregion of the remaining region\&. It extends from the current offset to an offset in the remaining region\&. Initially, the active region is empty\&. If the current offset advances beyond the chosen offset, the active region will also be empty\&.
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
\fBlwres_buffer_init()\fR
initializes the
\fBlwres_buffer_t\fR
\fIlength\fR
bytes starting at location
\fIbase\&.\fR
- .PP
+.PP
\fBlwres_buffer_invalidate()\fR
marks the buffer
\fI*b\fR
as invalid\&. Invalidating a buffer after use is not required, but makes it possible to catch its possible accidental use\&.
- .PP
+.PP
The functions
\fBlwres_buffer_add()\fR
and
\fBlwres_buffer_subtract()\fR
checks for underflow\&. These functions do not allocate or deallocate memory\&. They just change the value of
\fIused\fR\&.
- .PP
+.PP
A buffer is re\-initialised by
\fBlwres_buffer_clear()\fR\&. The function sets
\fIused\fR,
and
\fIactive\fR
to zero\&.
- .PP
+.PP
\fBlwres_buffer_first\fR
makes the consumed region of buffer
\fI*p\fR
empty by setting
\fIcurrent\fR
to zero (the start of the buffer)\&.
- .PP
+.PP
\fBlwres_buffer_forward()\fR
increases the consumed region of buffer
\fI*b\fR
\fIb\fR\*(Aqs consumed region by
\fIn\fR
bytes and checks for underflow\&.
- .PP
+.PP
\fBlwres_buffer_getuint8()\fR
reads an unsigned 8\-bit integer from
\fI*b\fR
\fIval\fR
to buffer
\fI*b\fR\&.
- .PP
+.PP
\fBlwres_buffer_getuint16()\fR
and
\fBlwres_buffer_getuint32()\fR
\fIval\fR
to buffer
\fIb\fR, in network byte order\&.
- .PP
+.PP
Arbitrary amounts of data are read or written from a lightweight resolver buffer with
\fBlwres_buffer_getmem()\fR
and
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_buffer_init,
- lwres_buffer_invalidate,
- lwres_buffer_add,
- lwres_buffer_subtract,
- lwres_buffer_clear,
- lwres_buffer_first,
- lwres_buffer_forward,
- lwres_buffer_back,
- lwres_buffer_getuint8,
- lwres_buffer_putuint8,
- lwres_buffer_getuint16,
- lwres_buffer_putuint16,
- lwres_buffer_getuint32,
- lwres_buffer_putuint32,
- lwres_buffer_putmem,
- lwres_buffer_getmem
- — lightweight resolver buffer management
- </p>
+<p>lwres_buffer_init, lwres_buffer_invalidate, lwres_buffer_add, lwres_buffer_subtract, lwres_buffer_clear, lwres_buffer_first, lwres_buffer_forward, lwres_buffer_back, lwres_buffer_getuint8, lwres_buffer_putuint8, lwres_buffer_getuint16, lwres_buffer_putuint16, lwres_buffer_getuint32, lwres_buffer_putuint32, lwres_buffer_putmem, lwres_buffer_getmem — lightweight resolver buffer management</p>
</div>
-
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">
#include <lwres/lwbuffer.h>
</pre>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
void
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
void
<td>lwres_buffer_t *<var class="pdparam">b</var><code>)</code>;</td>
</tr></table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
void
<td>lwres_buffer_t *<var class="pdparam">b</var><code>)</code>;</td>
</tr></table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
uint8_t
<td>lwres_buffer_t *<var class="pdparam">b</var><code>)</code>;</td>
</tr></table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
uint16_t
<td>lwres_buffer_t *<var class="pdparam">b</var><code>)</code>;</td>
</tr></table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
uint32_t
<td>lwres_buffer_t *<var class="pdparam">b</var><code>)</code>;</td>
</tr></table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p>
+<p>
These functions provide bounds checked access to a region of memory
where data is being read or written.
They are based on, and similar to, the
<code class="literal">isc_buffer_</code>
functions in the ISC library.
</p>
- <p>
+<p>
A buffer is a region of memory, together with a set of related
subregions.
The <span class="emphasis"><em>used region</em></span> and the
buffer commands.
Initially, the used region is empty.
</p>
- <p>
+<p>
The used region is further subdivided into two disjoint regions: the
<span class="emphasis"><em>consumed region</em></span> and the <span class="emphasis"><em>remaining region</em></span>.
The union of these two regions is the used region.
buffer commands.
Initially, the consumed region is empty.
</p>
- <p>
+<p>
The <span class="emphasis"><em>active region</em></span> is an (optional) subregion of the
remaining
region.
If the current offset advances beyond the chosen offset,
the active region will also be empty.
</p>
- <pre class="programlisting">
+<pre class="programlisting">
/------------entire length---------------\\
/----- used region -----\\/-- available --\\
+----------------------------------------+
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
a == base of buffer.
b == current pointer. Can be anywhere between a and d.
c == active pointer. Meaningful between b and d.
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
a-e == entire length of buffer.
a-d == used region.
a-b == consumed region.
</pre>
<p>
</p>
- <p><code class="function">lwres_buffer_init()</code>
+<p><code class="function">lwres_buffer_init()</code>
initializes the
<span class="type">lwres_buffer_t</span>
<em class="parameter"><code>*b</code></em>
bytes starting at location
<em class="parameter"><code>base.</code></em>
</p>
- <p><code class="function">lwres_buffer_invalidate()</code>
+<p><code class="function">lwres_buffer_invalidate()</code>
marks the buffer <em class="parameter"><code>*b</code></em>
as invalid. Invalidating a buffer after use is not required,
but makes it possible to catch its possible accidental use.
</p>
- <p>
+<p>
The functions
<code class="function">lwres_buffer_add()</code>
and
They just change the value of
<code class="varname">used</code>.
</p>
- <p>
+<p>
A buffer is re-initialised by
<code class="function">lwres_buffer_clear()</code>.
The function sets
<code class="varname">active</code>
to zero.
</p>
- <p><code class="function">lwres_buffer_first</code>
+<p><code class="function">lwres_buffer_first</code>
makes the consumed region of buffer
<em class="parameter"><code>*p</code></em>
empty by setting
<code class="varname">current</code>
to zero (the start of the buffer).
</p>
- <p><code class="function">lwres_buffer_forward()</code>
+<p><code class="function">lwres_buffer_forward()</code>
increases the consumed region of buffer
<em class="parameter"><code>*b</code></em>
by
<em class="parameter"><code>n</code></em>
bytes and checks for underflow.
</p>
- <p><code class="function">lwres_buffer_getuint8()</code>
+<p><code class="function">lwres_buffer_getuint8()</code>
reads an unsigned 8-bit integer from
<em class="parameter"><code>*b</code></em>
and returns it.
to buffer
<em class="parameter"><code>*b</code></em>.
</p>
- <p><code class="function">lwres_buffer_getuint16()</code>
+<p><code class="function">lwres_buffer_getuint16()</code>
and
<code class="function">lwres_buffer_getuint32()</code>
are identical to
<em class="parameter"><code>b</code></em>,
in network byte order.
</p>
- <p>
+<p>
Arbitrary amounts of data are read or written from a lightweight
resolver buffer with
<code class="function">lwres_buffer_getmem()</code>
to
<em class="parameter"><code>base</code></em>.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_conf_init, lwres_conf_clear, lwres_conf_parse, lwres_conf_print, lwres_conf_get \- lightweight resolver configuration
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwres\&.h>
.fi
.ft
-.sp
.HP \w'void\ lwres_conf_init('u
.BI "void lwres_conf_init(lwres_context_t\ *" "ctx" ");"
.HP \w'void\ lwres_conf_clear('u
.BI "lwres_result_t lwres_conf_print(lwres_context_t\ *" "ctx" ", FILE\ *" "fp" ");"
.HP \w'lwres_conf_t\ *\ lwres_conf_get('u
.BI "lwres_conf_t * lwres_conf_get(lwres_context_t\ *" "ctx" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_conf_init()\fR
creates an empty
\fBlwres_conf_t\fR
structure for lightweight resolver context
\fIctx\fR\&.
- .PP
+.PP
\fBlwres_conf_clear()\fR
frees up all the internal memory used by that
\fBlwres_conf_t\fR
structure in resolver context
\fIctx\fR\&.
- .PP
+.PP
\fBlwres_conf_parse()\fR
opens the file
\fIfilename\fR
\fIctx\fR\*(Aqs
\fBlwres_conf_t\fR
structure\&.
- .PP
+.PP
\fBlwres_conf_print()\fR
prints the
\fBlwres_conf_t\fR
to the
\fBFILE\fR
\fIfp\fR\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
\fBlwres_conf_parse()\fR
returns
\fBLWRES_R_SUCCESS\fR
if
\fIfilename\fR
could not be opened or contained incorrect resolver statements\&.
- .PP
+.PP
\fBlwres_conf_print()\fR
returns
\fBLWRES_R_SUCCESS\fR
unless an error occurred when converting the network addresses to a numeric host address string\&. If this happens, the function returns
\fBLWRES_R_FAILURE\fR\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBstdio\fR(3),
\fBresolver\fR(5)\&.
- .SH "FILES"
- .PP
+.SH "FILES"
+.PP
/etc/resolv\&.conf
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_conf_init,
- lwres_conf_clear,
- lwres_conf_parse,
- lwres_conf_print,
- lwres_conf_get
- — lightweight resolver configuration
- </p>
+<p>lwres_conf_init, lwres_conf_clear, lwres_conf_parse, lwres_conf_print, lwres_conf_get — lightweight resolver configuration</p>
</div>
-
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/lwres.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
</tr></table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p><code class="function">lwres_conf_init()</code>
+<p><code class="function">lwres_conf_init()</code>
creates an empty
<span class="type">lwres_conf_t</span>
structure for lightweight resolver context
<em class="parameter"><code>ctx</code></em>.
</p>
-
- <p><code class="function">lwres_conf_clear()</code>
+<p><code class="function">lwres_conf_clear()</code>
frees up all the internal memory used by
that
<span class="type">lwres_conf_t</span>
structure in resolver context
<em class="parameter"><code>ctx</code></em>.
</p>
-
- <p><code class="function">lwres_conf_parse()</code>
+<p><code class="function">lwres_conf_parse()</code>
opens the file
<em class="parameter"><code>filename</code></em>
and parses it to initialise the resolver context
<span class="type">lwres_conf_t</span>
structure.
</p>
-
- <p><code class="function">lwres_conf_print()</code>
+<p><code class="function">lwres_conf_print()</code>
prints the
<span class="type">lwres_conf_t</span>
structure for resolver context
<span class="type">FILE</span>
<em class="parameter"><code>fp</code></em>.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
-
-
- <p><code class="function">lwres_conf_parse()</code>
+<p><code class="function">lwres_conf_parse()</code>
returns <span class="errorcode">LWRES_R_SUCCESS</span>
if it successfully read and parsed
<em class="parameter"><code>filename</code></em>.
could not be opened or contained incorrect
resolver statements.
</p>
-
- <p><code class="function">lwres_conf_print()</code>
+<p><code class="function">lwres_conf_print()</code>
returns <span class="errorcode">LWRES_R_SUCCESS</span>
unless an error occurred when converting the network addresses to a
numeric host address string.
If this happens, the function returns
<span class="errorcode">LWRES_R_FAILURE</span>.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">stdio</span>(3)
- </span>,
- <span class="citerefentry">
- <span class="refentrytitle">resolver</span>(5)
- </span>.
+<p><span class="citerefentry"><span class="refentrytitle">stdio</span>(3)</span>,
+ <span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.10"></a><h2>FILES</h2>
-
- <p><code class="filename">/etc/resolv.conf</code>
+<p><code class="filename">/etc/resolv.conf</code>
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_context_create, lwres_context_destroy, lwres_context_nextserial, lwres_context_initserial, lwres_context_freemem, lwres_context_allocmem, lwres_context_sendrecv \- lightweight resolver context management
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwres\&.h>
.fi
.ft
-.sp
.HP \w'lwres_result_t\ lwres_context_create('u
.BI "lwres_result_t lwres_context_create(lwres_context_t\ **" "contextp" ", void\ *" "arg" ", lwres_malloc_t\ " "malloc_function" ", lwres_free_t\ " "free_function" ");"
.HP \w'lwres_result_t\ lwres_context_destroy('u
.BI "void lwres_context_allocmem(lwres_context_t\ *" "ctx" ", size_t\ " "len" ");"
.HP \w'void\ *\ lwres_context_sendrecv('u
.BI "void * lwres_context_sendrecv(lwres_context_t\ *" "ctx" ", void\ *" "sendbase" ", int\ " "sendlen" ", void\ *" "recvbase" ", int\ " "recvlen" ", int\ *" "recvd_len" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_context_create()\fR
creates a
\fBlwres_context_t\fR
\fBlwres_context_t\fR
pointer must initially be NULL, and is modified to point to the newly created
\fBlwres_context_t\fR\&.
- .PP
+.PP
When the lightweight resolver needs to perform dynamic memory allocation, it will call
\fImalloc_function\fR
to allocate memory and
are NULL,
\fIarg\fR
is unused and should be passed as NULL\&.
- .PP
+.PP
Once memory for the structure has been allocated, it is initialized using
\fBlwres_conf_init\fR(3)
and returned via
\fI*contextp\fR\&.
- .PP
+.PP
\fBlwres_context_destroy()\fR
destroys a
\fBlwres_context_t\fR, closing its socket\&.
\fIcontextp\fR
is a pointer to a pointer to the context that is to be destroyed\&. The pointer will be set to NULL when the context has been destroyed\&.
- .PP
+.PP
The context holds a serial number that is used to identify resolver request packets and associate responses with the corresponding requests\&. This serial number is controlled using
\fBlwres_context_initserial()\fR
and
\fIserial\fR\&.
\fBlwres_context_nextserial()\fR
increments the serial number and returns the previous value\&.
- .PP
+.PP
Memory for a lightweight resolver context is allocated and freed using
\fBlwres_context_allocmem()\fR
and
\fIlen\fR
bytes of space starting at location
\fImem\fR\&.
- .PP
+.PP
\fBlwres_context_sendrecv()\fR
performs I/O for the context
\fIctx\fR\&. Data are read and written from the context\*(Aqs socket\&. It writes data from
\(em typically a lightweight resolver query packet \(em and waits for a reply which is copied to the receive buffer at
\fIrecvbase\fR\&. The number of bytes that were written to this receive buffer is returned in
\fI*recvd_len\fR\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
\fBlwres_context_create()\fR
returns
\fBLWRES_R_NOMEMORY\fR
could not be allocated,
\fBLWRES_R_SUCCESS\fR
otherwise\&.
- .PP
+.PP
Successful calls to the memory allocator
\fBlwres_context_allocmem()\fR
return a pointer to the start of the allocated space\&. It returns NULL if memory could not be allocated\&.
- .PP
+.PP
\fBLWRES_R_SUCCESS\fR
is returned when
\fBlwres_context_sendrecv()\fR
is returned if
\fBlwres_context_sendrecv()\fR
times out waiting for a response\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBlwres_conf_init\fR(3),
\fBmalloc\fR(3),
\fBfree\fR(3)\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_context_create,
- lwres_context_destroy,
- lwres_context_nextserial,
- lwres_context_initserial,
- lwres_context_freemem,
- lwres_context_allocmem,
- lwres_context_sendrecv
- — lightweight resolver context management
- </p>
+<p>lwres_context_create, lwres_context_destroy, lwres_context_nextserial, lwres_context_initserial, lwres_context_freemem, lwres_context_allocmem, lwres_context_sendrecv — lightweight resolver context management</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/lwres.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p><code class="function">lwres_context_create()</code>
+<p><code class="function">lwres_context_create()</code>
creates a <span class="type">lwres_context_t</span> structure for use in
lightweight resolver operations. It holds a socket and other
data needed for communicating with a resolver daemon. The new
is modified to point to the newly created
<span class="type">lwres_context_t</span>.
</p>
- <p>
+<p>
When the lightweight resolver needs to perform dynamic memory
allocation, it will call
<em class="parameter"><code>malloc_function</code></em>
and
<em class="parameter"><code>free_function</code></em>
are NULL, memory is allocated using
- <span class="citerefentry">
- <span class="refentrytitle">malloc</span>(3)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">malloc</span>(3)</span>.
and
- <span class="citerefentry">
- <span class="refentrytitle">free</span>(3)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">free</span>(3)</span>.
It is not permitted to have a NULL
<em class="parameter"><code>malloc_function</code></em> and a non-NULL
<em class="parameter"><code>arg</code></em> is unused and should be passed as
NULL.
</p>
-
- <p>
+<p>
Once memory for the structure has been allocated,
it is initialized using
- <span class="citerefentry">
- <span class="refentrytitle">lwres_conf_init</span>(3)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">lwres_conf_init</span>(3)</span>
and returned via <em class="parameter"><code>*contextp</code></em>.
</p>
-
- <p><code class="function">lwres_context_destroy()</code>
+<p><code class="function">lwres_context_destroy()</code>
destroys a <span class="type">lwres_context_t</span>, closing its socket.
<em class="parameter"><code>contextp</code></em> is a pointer to a pointer to the
context that is to be destroyed. The pointer will be set to
NULL when the context has been destroyed.
</p>
-
- <p>
+<p>
The context holds a serial number that is used to identify
resolver request packets and associate responses with the
corresponding requests. This serial number is controlled using
<code class="function">lwres_context_nextserial()</code> increments the
serial number and returns the previous value.
</p>
-
- <p>
+<p>
Memory for a lightweight resolver context is allocated and freed
using <code class="function">lwres_context_allocmem()</code> and
<code class="function">lwres_context_freemem()</code>. These use
<em class="parameter"><code>len</code></em> bytes of space starting at location
<em class="parameter"><code>mem</code></em>.
</p>
-
- <p><code class="function">lwres_context_sendrecv()</code>
+<p><code class="function">lwres_context_sendrecv()</code>
performs I/O for the context <em class="parameter"><code>ctx</code></em>. Data
are read and written from the context's socket. It writes data
from <em class="parameter"><code>sendbase</code></em> — typically a
written to this receive buffer is returned in
<em class="parameter"><code>*recvd_len</code></em>.
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
-
- <p><code class="function">lwres_context_create()</code>
+<p><code class="function">lwres_context_create()</code>
returns <span class="errorcode">LWRES_R_NOMEMORY</span> if memory for
the <span class="type">struct lwres_context</span> could not be allocated,
<span class="errorcode">LWRES_R_SUCCESS</span> otherwise.
</p>
- <p>
+<p>
Successful calls to the memory allocator
<code class="function">lwres_context_allocmem()</code>
return a pointer to the start of the allocated space.
It returns NULL if memory could not be allocated.
</p>
- <p><span class="errorcode">LWRES_R_SUCCESS</span>
+<p><span class="errorcode">LWRES_R_SUCCESS</span>
is returned when
<code class="function">lwres_context_sendrecv()</code>
completes successfully.
<code class="function">lwres_context_sendrecv()</code>
times out waiting for a response.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">lwres_conf_init</span>(3)</span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_conf_init</span>(3)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">malloc</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">malloc</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">free</span>(3)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">free</span>(3)</span>.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_gabnrequest_render, lwres_gabnresponse_render, lwres_gabnrequest_parse, lwres_gabnresponse_parse, lwres_gabnresponse_free, lwres_gabnrequest_free \- lightweight resolver getaddrbyname message handling
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwres\&.h>
.fi
.ft
-.sp
.HP \w'lwres_result_t\ lwres_gabnrequest_render('u
.BI "lwres_result_t lwres_gabnrequest_render(lwres_context_t\ *" "ctx" ", lwres_gabnrequest_t\ *" "req" ", lwres_lwpacket_t\ *" "pkt" ", lwres_buffer_t\ *" "b" ");"
.HP \w'lwres_result_t\ lwres_gabnresponse_render('u
.BI "void lwres_gabnresponse_free(lwres_context_t\ *" "ctx" ", lwres_gabnresponse_t\ **" "structp" ");"
.HP \w'void\ lwres_gabnrequest_free('u
.BI "void lwres_gabnrequest_free(lwres_context_t\ *" "ctx" ", lwres_gabnrequest_t\ **" "structp" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
These are low\-level routines for creating and parsing lightweight resolver name\-to\-address lookup request and response messages\&.
- .PP
+.PP
There are four main functions for the getaddrbyname opcode\&. One render function converts a getaddrbyname request structure \(em
\fBlwres_gabnrequest_t\fR
\(em to the lightweight resolver\*(Aqs canonical format\&. It is complemented by a parse function that converts a packet in this canonical format to a getaddrbyname request structure\&. Another render function converts the getaddrbyname response structure \(em
\fBlwres_gabnresponse_t\fR
\(em to the canonical format\&. This is complemented by a parse function which converts a packet in canonical format to a getaddrbyname response structure\&.
- .PP
+.PP
These structures are defined in
<lwres/lwres\&.h>\&. They are shown below\&.
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
\fBlwres_gabnrequest_render()\fR
uses resolver context
\fIctx\fR
performs the same task, except it converts a getaddrbyname response structure
\fBlwres_gabnresponse_t\fR
to the lightweight resolver\*(Aqs canonical format\&.
- .PP
+.PP
\fBlwres_gabnrequest_parse()\fR
uses context
\fIctx\fR
except it yields a
\fBlwres_gabnresponse_t\fR
structure\&.
- .PP
+.PP
\fBlwres_gabnresponse_free()\fR
and
\fBlwres_gabnrequest_free()\fR
\fBlwres_gabnrequest_t\fR
structures referenced via
\fIstructp\fR\&. Any memory associated with ancillary buffers and strings for those structures is also discarded\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
The getaddrbyname opcode functions
\fBlwres_gabnrequest_render()\fR,
\fBlwres_gabnresponse_render()\fR
in the packet header structure
\fBlwres_lwpacket_t\fR
indicate that the packet is not a response to an earlier query\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBlwres_packet\fR(3)
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_gabnrequest_render,
- lwres_gabnresponse_render,
- lwres_gabnrequest_parse,
- lwres_gabnresponse_parse,
- lwres_gabnresponse_free,
- lwres_gabnrequest_free
- — lightweight resolver getaddrbyname message handling
- </p>
+<p>lwres_gabnrequest_render, lwres_gabnresponse_render, lwres_gabnrequest_parse, lwres_gabnresponse_parse, lwres_gabnresponse_free, lwres_gabnrequest_free — lightweight resolver getaddrbyname message handling</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/lwres.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p>
+<p>
These are low-level routines for creating and parsing
lightweight resolver name-to-address lookup request and
response messages.
</p>
- <p>
+<p>
There are four main functions for the getaddrbyname opcode.
One render function converts a getaddrbyname request structure —
<span class="type">lwres_gabnrequest_t</span> —
This is complemented by a parse function which converts a packet in
canonical format to a getaddrbyname response structure.
</p>
- <p>
+<p>
These structures are defined in
<code class="filename"><lwres/lwres.h></code>.
They are shown below.
</p>
- <pre class="programlisting">
+<pre class="programlisting">
#define LWRES_OPCODE_GETADDRSBYNAME 0x00010001U
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct lwres_addr lwres_addr_t;
typedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t;
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct {
uint32_t flags;
uint32_t addrtypes;
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct {
uint32_t flags;
uint16_t naliases;
</pre>
<p>
</p>
-
- <p><code class="function">lwres_gabnrequest_render()</code>
+<p><code class="function">lwres_gabnrequest_render()</code>
uses resolver context <em class="parameter"><code>ctx</code></em> to convert
getaddrbyname request structure <em class="parameter"><code>req</code></em> to
canonical format. The packet header structure
<span class="type">lwres_gabnresponse_t</span> to the lightweight resolver's
canonical format.
</p>
-
- <p><code class="function">lwres_gabnrequest_parse()</code>
+<p><code class="function">lwres_gabnrequest_parse()</code>
uses context <em class="parameter"><code>ctx</code></em> to convert the contents
of packet <em class="parameter"><code>pkt</code></em> to a
<span class="type">lwres_gabnrequest_t</span> structure. Buffer
semantics as <code class="function">lwres_gabnrequest_parse()</code>
except it yields a <span class="type">lwres_gabnresponse_t</span> structure.
</p>
-
- <p><code class="function">lwres_gabnresponse_free()</code>
+<p><code class="function">lwres_gabnresponse_free()</code>
and <code class="function">lwres_gabnrequest_free()</code> release the
memory in resolver context <em class="parameter"><code>ctx</code></em> that was
allocated to the <span class="type">lwres_gabnresponse_t</span> or
Any memory associated with ancillary buffers and strings for
those structures is also discarded.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
The getaddrbyname opcode functions
<code class="function">lwres_gabnrequest_render()</code>,
<code class="function">lwres_gabnresponse_render()</code>
<span class="type">lwres_lwpacket_t</span>
indicate that the packet is not a response to an earlier query.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_packet</span>(3)
- </span>
+<p><span class="citerefentry"><span class="refentrytitle">lwres_packet</span>(3)</span>
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_gai_strerror \- print suitable error string
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
-.sp
.HP \w'char\ *\ gai_strerror('u
.BI "char * gai_strerror(int\ " "ecode" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_gai_strerror()\fR
returns an error message corresponding to an error code returned by
\fBgetaddrinfo()\fR\&. The following error codes and their meaning are defined in
include/lwres/netdb\&.h\&.
- .PP
+.PP
\fBEAI_ADDRFAMILY\fR
.RS 4
- address family for hostname not supported
- .RE
- .PP
+address family for hostname not supported
+.RE
+.PP
\fBEAI_AGAIN\fR
.RS 4
- temporary failure in name resolution
- .RE
- .PP
+temporary failure in name resolution
+.RE
+.PP
\fBEAI_BADFLAGS\fR
.RS 4
- invalid value for
+invalid value for
\fBai_flags\fR
- .RE
- .PP
+.RE
+.PP
\fBEAI_FAIL\fR
.RS 4
- non\-recoverable failure in name resolution
- .RE
- .PP
+non\-recoverable failure in name resolution
+.RE
+.PP
\fBEAI_FAMILY\fR
.RS 4
- \fBai_family\fR
+\fBai_family\fR
not supported
- .RE
- .PP
+.RE
+.PP
\fBEAI_MEMORY\fR
.RS 4
- memory allocation failure
- .RE
- .PP
+memory allocation failure
+.RE
+.PP
\fBEAI_NODATA\fR
.RS 4
- no address associated with hostname
- .RE
- .PP
+no address associated with hostname
+.RE
+.PP
\fBEAI_NONAME\fR
.RS 4
- hostname or servname not provided, or not known
- .RE
- .PP
+hostname or servname not provided, or not known
+.RE
+.PP
\fBEAI_SERVICE\fR
.RS 4
- servname not supported for
+servname not supported for
\fBai_socktype\fR
- .RE
- .PP
+.RE
+.PP
\fBEAI_SOCKTYPE\fR
.RS 4
- \fBai_socktype\fR
+\fBai_socktype\fR
not supported
- .RE
- .PP
+.RE
+.PP
\fBEAI_SYSTEM\fR
.RS 4
- system error returned in errno
- .RE
- The message
+system error returned in errno
+.RE
+The message
invalid error code
is returned if
\fIecode\fR
is out of range\&.
- .PP
+.PP
\fBai_flags\fR,
\fBai_family\fR
and
\fBstruct addrinfo\fR
used by
\fBlwres_getaddrinfo()\fR\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBstrerror\fR(3),
\fBlwres_getaddrinfo\fR(3),
\fBgetaddrinfo\fR(3),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_gai_strerror
- — print suitable error string
- </p>
+<p>lwres_gai_strerror — print suitable error string</p>
</div>
-
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
</tr></table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p><code class="function">lwres_gai_strerror()</code>
+<p><code class="function">lwres_gai_strerror()</code>
returns an error message corresponding to an error code returned by
<code class="function">getaddrinfo()</code>.
The following error codes and their meaning are defined in
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="errorcode">EAI_ADDRFAMILY</span></span></dt>
-<dd>
- <p>
+<dd><p>
address family for hostname not supported
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_AGAIN</span></span></dt>
-<dd>
- <p>
+<dd><p>
temporary failure in name resolution
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_BADFLAGS</span></span></dt>
-<dd>
- <p>
+<dd><p>
invalid value for
<code class="constant">ai_flags</code>
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_FAIL</span></span></dt>
-<dd>
- <p>
+<dd><p>
non-recoverable failure in name resolution
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_FAMILY</span></span></dt>
-<dd>
- <p><code class="constant">ai_family</code> not supported
- </p>
- </dd>
+<dd><p><code class="constant">ai_family</code> not supported
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_MEMORY</span></span></dt>
-<dd>
- <p>
+<dd><p>
memory allocation failure
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_NODATA</span></span></dt>
-<dd>
- <p>
+<dd><p>
no address associated with hostname
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_NONAME</span></span></dt>
-<dd>
- <p>
+<dd><p>
hostname or servname not provided, or not known
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_SERVICE</span></span></dt>
-<dd>
- <p>
+<dd><p>
servname not supported for <code class="constant">ai_socktype</code>
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_SOCKTYPE</span></span></dt>
-<dd>
- <p><code class="constant">ai_socktype</code> not supported
- </p>
- </dd>
+<dd><p><code class="constant">ai_socktype</code> not supported
+ </p></dd>
<dt><span class="term"><span class="errorcode">EAI_SYSTEM</span></span></dt>
-<dd>
- <p>
+<dd><p>
system error returned in errno
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
The message <span class="errorname">invalid error code</span> is returned if
<em class="parameter"><code>ecode</code></em>
is out of range.
</p>
- <p><code class="constant">ai_flags</code>,
+<p><code class="constant">ai_flags</code>,
<code class="constant">ai_family</code>
and
<code class="constant">ai_socktype</code>
used by
<code class="function">lwres_getaddrinfo()</code>.
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">strerror</span>(3)</span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">strerror</span>(3)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getaddrinfo</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getaddrinfo</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">getaddrinfo</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">getaddrinfo</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">RFC2133</span>
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">RFC2133</span></span>.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_getaddrinfo, lwres_freeaddrinfo \- socket address structure to host and service name
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
-.sp
.HP \w'int\ lwres_getaddrinfo('u
.BI "int lwres_getaddrinfo(const\ char\ *" "hostname" ", const\ char\ *" "servname" ", const\ struct\ addrinfo\ *" "hints" ", struct\ addrinfo\ **" "res" ");"
.HP \w'void\ lwres_freeaddrinfo('u
.BI "void lwres_freeaddrinfo(struct\ addrinfo\ *" "ai" ");"
- .PP
+.PP
If the operating system does not provide a
\fBstruct addrinfo\fR, the following structure is used:
- .PP
+.PP
.nf
struct addrinfo {
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
};
.fi
.sp
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_getaddrinfo()\fR
is used to get a list of IP addresses and port numbers for host
\fIhostname\fR
\fIservname\fR
is either a decimal port number or a service name as listed in
/etc/services\&.
- .PP
+.PP
\fIhints\fR
is an optional pointer to a
\fBstruct addrinfo\fR\&. This structure can be used to provide hints concerning the type of socket that the caller supports or wishes to use\&. The caller can supply the following structure elements in
\fI*hints\fR:
- .PP
+.PP
\fBai_family\fR
.RS 4
- The protocol family that should be used\&. When
+The protocol family that should be used\&. When
\fBai_family\fR
is set to
\fBPF_UNSPEC\fR, it means the caller will accept any protocol family supported by the operating system\&.
- .RE
- .PP
+.RE
+.PP
\fBai_socktype\fR
.RS 4
- denotes the type of socket \(em
+denotes the type of socket \(em
\fBSOCK_STREAM\fR,
\fBSOCK_DGRAM\fR
or
\(em that is wanted\&. When
\fBai_socktype\fR
is zero the caller will accept any socket type\&.
- .RE
- .PP
+.RE
+.PP
\fBai_protocol\fR
.RS 4
- indicates which transport protocol is wanted: IPPROTO_UDP or IPPROTO_TCP\&. If
+indicates which transport protocol is wanted: IPPROTO_UDP or IPPROTO_TCP\&. If
\fBai_protocol\fR
is zero the caller will accept any protocol\&.
- .RE
- .PP
+.RE
+.PP
\fBai_flags\fR
.RS 4
- Flag bits\&. If the
+Flag bits\&. If the
\fBAI_CANONNAME\fR
bit is set, a successful call to
\fBlwres_getaddrinfo()\fR
\fBIN6ADDR_ANY_INIT\fR
for an IPv6 address\&.
.sp
- When
+When
\fBai_flags\fR
does not set the
\fBAI_PASSIVE\fR
is not set in
\fBai_flags\fR\&.
.sp
- If
+If
\fBai_flags\fR
is set to
\fBAI_NUMERICHOST\fR
it indicates that
\fIhostname\fR
should be treated as a numeric string defining an IPv4 or IPv6 address and no name resolution should be attempted\&.
- .RE
- .PP
+.RE
+.PP
All other elements of the
\fBstruct addrinfo\fR
passed via
\fIhints\fR
must be zero\&.
- .PP
+.PP
A
\fIhints\fR
of
initialized to zero with
\fBai_family\fRset to
\fBPF_UNSPEC\fR\&.
- .PP
+.PP
After a successful call to
\fBlwres_getaddrinfo()\fR,
\fI*res\fR
\fBai_addr\fR
member points to a filled\-in socket address structure of length
\fBai_addrlen\fR\&.
- .PP
+.PP
All of the information returned by
\fBlwres_getaddrinfo()\fR
is dynamically allocated: the addrinfo structures, and the socket address structures and canonical host name strings pointed to by the
\fBstruct addrinfo\fR
created by a call to
\fBlwres_getaddrinfo()\fR\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
\fBlwres_getaddrinfo()\fR
returns zero on success or one of the error codes listed in
\fBgai_strerror\fR(3)
\fBlwres_getaddrinfo()\fR
returns
\fBEAI_NONAME\fR\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBlwres\fR(3),
\fBlwres_getaddrinfo\fR(3),
\fBlwres_freeaddrinfo\fR(3),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_getaddrinfo,
- lwres_freeaddrinfo
- — socket address structure to host and service name
- </p>
+<p>lwres_getaddrinfo, lwres_freeaddrinfo — socket address structure to host and service name</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</tr></table>
<div class="funcprototype-spacer"> </div>
</div>
-
- <p>
+<p>
If the operating system does not provide a
<span class="type">struct addrinfo</span>,
the following structure is used:
</p>
- <pre class="programlisting">
+<pre class="programlisting">
struct addrinfo {
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
int ai_family; /* PF_xxx */
</pre>
<p>
</p>
-
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p><code class="function">lwres_getaddrinfo()</code>
+<p><code class="function">lwres_getaddrinfo()</code>
is used to get a list of IP addresses and port numbers for host
<em class="parameter"><code>hostname</code></em> and service
<em class="parameter"><code>servname</code></em>.
decimal port number or a service name as listed in
<code class="filename">/etc/services</code>.
</p>
-
- <p><em class="parameter"><code>hints</code></em>
+<p><em class="parameter"><code>hints</code></em>
is an optional pointer to a
<span class="type">struct addrinfo</span>.
This structure can be used to provide hints concerning the type of
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">ai_family</code></span></dt>
-<dd>
- <p>
+<dd><p>
The protocol family that should be used.
When
<code class="constant">ai_family</code>
it means the caller will accept any protocol family supported by
the
operating system.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">ai_socktype</code></span></dt>
-<dd>
- <p>
+<dd><p>
denotes the type of socket —
<span class="type">SOCK_STREAM</span>,
<span class="type">SOCK_DGRAM</span>
When
<code class="constant">ai_socktype</code>
is zero the caller will accept any socket type.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">ai_protocol</code></span></dt>
-<dd>
- <p>
+<dd><p>
indicates which transport protocol is wanted: IPPROTO_UDP or
IPPROTO_TCP.
If
<code class="constant">ai_protocol</code>
is zero the caller will accept any protocol.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">ai_flags</code></span></dt>
<dd>
- <p>
+<p>
Flag bits.
If the
<span class="type">AI_CANONNAME</span>
bit indicates that the returned socket address structure is
intended
for used in a call to
- <span class="citerefentry">
- <span class="refentrytitle">bind</span>(2)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">bind</span>(2)</span>.
In this case, if the hostname argument is a
<span class="type">NULL</span>
<span class="type">IN6ADDR_ANY_INIT</span>
for an IPv6 address.
</p>
- <p>
+<p>
When
<code class="constant">ai_flags</code>
does not set the
<span class="type">AI_PASSIVE</span>
bit, the returned socket address structure will be ready
for use in a call to
- <span class="citerefentry">
- <span class="refentrytitle">connect</span>(2)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">connect</span>(2)</span>
for a connection-oriented protocol or
- <span class="citerefentry">
- <span class="refentrytitle">connect</span>(2)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">connect</span>(2)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">sendto</span>(2)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">sendto</span>(2)</span>,
or
- <span class="citerefentry">
- <span class="refentrytitle">sendmsg</span>(2)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">sendmsg</span>(2)</span>
if a connectionless protocol was chosen.
The IP address portion of the socket address structure will be
set to the loopback address if
is not set in
<code class="constant">ai_flags</code>.
</p>
- <p>
+<p>
If
<code class="constant">ai_flags</code>
is set to
address
and no name resolution should be attempted.
</p>
- </dd>
+</dd>
</dl></div>
<p>
</p>
-
- <p>
+<p>
All other elements of the <span class="type">struct addrinfo</span> passed
via <em class="parameter"><code>hints</code></em> must be zero.
</p>
-
- <p>
+<p>
A <em class="parameter"><code>hints</code></em> of <span class="type">NULL</span> is
treated as if
the caller provided a <span class="type">struct addrinfo</span> initialized to zero
with <code class="constant">ai_family</code>set to
<code class="constant">PF_UNSPEC</code>.
</p>
-
- <p>
+<p>
After a successful call to
<code class="function">lwres_getaddrinfo()</code>,
<em class="parameter"><code>*res</code></em>
returned
<span class="type">addrinfo</span>
structure contain the corresponding arguments for a call to
- <span class="citerefentry">
- <span class="refentrytitle">socket</span>(2)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">socket</span>(2)</span>.
For each
<span class="type">addrinfo</span>
structure in the list, the
member points to a filled-in socket address structure of length
<code class="constant">ai_addrlen</code>.
</p>
-
- <p>
+<p>
All of the information returned by
<code class="function">lwres_getaddrinfo()</code>
is dynamically allocated: the addrinfo structures, and the socket
created by a call to
<code class="function">lwres_getaddrinfo()</code>.
</p>
-
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
-
- <p><code class="function">lwres_getaddrinfo()</code>
+<p><code class="function">lwres_getaddrinfo()</code>
returns zero on success or one of the error codes listed in
- <span class="citerefentry">
- <span class="refentrytitle">gai_strerror</span>(3)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">gai_strerror</span>(3)</span>
if an error occurs. If both <em class="parameter"><code>hostname</code></em> and
<em class="parameter"><code>servname</code></em> are <span class="type">NULL</span>
<code class="function">lwres_getaddrinfo()</code> returns
<span class="errorcode">EAI_NONAME</span>.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres</span>(3)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getaddrinfo</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getaddrinfo</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_freeaddrinfo</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_freeaddrinfo</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_gai_strerror</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_gai_strerror</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">RFC2133</span>
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">RFC2133</span></span>,
- <span class="citerefentry">
- <span class="refentrytitle">getservbyname</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">getservbyname</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">bind</span>(2)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">bind</span>(2)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">connect</span>(2)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">connect</span>(2)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">sendto</span>(2)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">sendto</span>(2)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">sendmsg</span>(2)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">sendmsg</span>(2)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">socket</span>(2)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">socket</span>(2)</span>.
</p>
-
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_gethostbyname, lwres_gethostbyname2, lwres_gethostbyaddr, lwres_gethostent, lwres_sethostent, lwres_endhostent, lwres_gethostbyname_r, lwres_gethostbyaddr_r, lwres_gethostent_r, lwres_sethostent_r, lwres_endhostent_r \- lightweight resolver get network host entry
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
-.sp
.HP \w'struct\ hostent\ *\ lwres_gethostbyname('u
.BI "struct hostent * lwres_gethostbyname(const\ char\ *" "name" ");"
.HP \w'struct\ hostent\ *\ lwres_gethostbyname2('u
.BI "void lwres_sethostent_r(int\ " "stayopen" ");"
.HP \w'void\ lwres_endhostent_r('u
.BI "void lwres_endhostent_r(void);"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
These functions provide hostname\-to\-address and address\-to\-hostname lookups by means of the lightweight resolver\&. They are similar to the standard
\fBgethostent\fR(3)
functions provided by most operating systems\&. They use a
\fBstruct hostent\fR
which is usually defined in
<namedb\&.h>\&.
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
The members of this structure are:
- .PP
+.PP
\fBh_name\fR
.RS 4
- The official (canonical) name of the host\&.
- .RE
- .PP
+The official (canonical) name of the host\&.
+.RE
+.PP
\fBh_aliases\fR
.RS 4
- A NULL\-terminated array of alternate names (nicknames) for the host\&.
- .RE
- .PP
+A NULL\-terminated array of alternate names (nicknames) for the host\&.
+.RE
+.PP
\fBh_addrtype\fR
.RS 4
- The type of address being returned \(em
+The type of address being returned \(em
\fBPF_INET\fR
or
\fBPF_INET6\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBh_length\fR
.RS 4
- The length of the address in bytes\&.
- .RE
- .PP
+The length of the address in bytes\&.
+.RE
+.PP
\fBh_addr_list\fR
.RS 4
- A
+A
\fBNULL\fR
terminated array of network addresses for the host\&. Host addresses are returned in network byte order\&.
- .RE
- .PP
+.RE
+.PP
For backward compatibility with very old software,
\fBh_addr\fR
is the first address in
\fBh_addr_list\&.\fR
- .PP
+.PP
\fBlwres_gethostent()\fR,
\fBlwres_sethostent()\fR,
\fBlwres_endhostent()\fR,
provide iteration over the known host entries on systems that provide such functionality through facilities like
/etc/hosts
or NIS\&. The lightweight resolver does not currently implement these functions; it only provides them as stub functions that always return failure\&.
- .PP
+.PP
\fBlwres_gethostbyname()\fR
and
\fBlwres_gethostbyname2()\fR
or
\fBlwres_gethostbyname2()\fR
fail\&.
- .PP
+.PP
Reverse lookups of addresses are performed by
\fBlwres_gethostbyaddr()\fR\&.
\fIaddr\fR
\fIresbuf\fR, which is a pointer to the
\fBstruct hostent\fR
it created\&.
- .PP
+.PP
\fBlwres_gethostbyaddr_r()\fR
is a thread\-safe function that performs a reverse lookup of address
\fIaddr\fR
\fIresbuf\fR, which is a pointer to the
\fBstruct hostent()\fR
it created\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
The functions
\fBlwres_gethostbyname()\fR,
\fBlwres_gethostbyname2()\fR,
\fBlwres_h_errno\fR
will contain one of the following error codes defined in
<lwres/netdb\&.h>:
- .PP
+.PP
\fBHOST_NOT_FOUND\fR
.RS 4
- The host or address was not found\&.
- .RE
- .PP
+The host or address was not found\&.
+.RE
+.PP
\fBTRY_AGAIN\fR
.RS 4
- A recoverable error occurred, e\&.g\&., a timeout\&. Retrying the lookup may succeed\&.
- .RE
- .PP
+A recoverable error occurred, e\&.g\&., a timeout\&. Retrying the lookup may succeed\&.
+.RE
+.PP
\fBNO_RECOVERY\fR
.RS 4
- A non\-recoverable error occurred\&.
- .RE
- .PP
+A non\-recoverable error occurred\&.
+.RE
+.PP
\fBNO_DATA\fR
.RS 4
- The name exists, but has no address information associated with it (or vice versa in the case of a reverse lookup)\&. The code NO_ADDRESS is accepted as a synonym for NO_DATA for backwards compatibility\&.
- .RE
- .PP
+The name exists, but has no address information associated with it (or vice versa in the case of a reverse lookup)\&. The code NO_ADDRESS is accepted as a synonym for NO_DATA for backwards compatibility\&.
+.RE
+.PP
\fBlwres_hstrerror\fR(3)
translates these error codes to suitable error messages\&.
- .PP
+.PP
\fBlwres_gethostent()\fR
and
\fBlwres_gethostent_r()\fR
always return
\fBNULL\fR\&.
- .PP
+.PP
Successful calls to
\fBlwres_gethostbyname_r()\fR
and
\fBerrno\fR
to
\fBERANGE\fR\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBgethostent\fR(3),
\fBlwres_getipnode\fR(3),
\fBlwres_hstrerror\fR(3)
- .SH "BUGS"
- .PP
+.SH "BUGS"
+.PP
\fBlwres_gethostbyname()\fR,
\fBlwres_gethostbyname2()\fR,
\fBlwres_gethostbyaddr()\fR
\fBlwres_gethostbyname_r()\fR, and
\fBlwres_gethostbyaddr_r()\fR
respectively\&.
- .PP
+.PP
The resolver daemon does not currently support any non\-DNS name services such as
/etc/hosts
or
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_gethostbyname,
- lwres_gethostbyname2,
- lwres_gethostbyaddr,
- lwres_gethostent,
- lwres_sethostent,
- lwres_endhostent,
- lwres_gethostbyname_r,
- lwres_gethostbyaddr_r,
- lwres_gethostent_r,
- lwres_sethostent_r,
- lwres_endhostent_r
- — lightweight resolver get network host entry
- </p>
+<p>lwres_gethostbyname, lwres_gethostbyname2, lwres_gethostbyaddr, lwres_gethostent, lwres_sethostent, lwres_endhostent, lwres_gethostbyname_r, lwres_gethostbyaddr_r, lwres_gethostent_r, lwres_sethostent_r, lwres_endhostent_r — lightweight resolver get network host entry</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
</tr></table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p>
+<p>
These functions provide hostname-to-address and
address-to-hostname lookups by means of the lightweight resolver.
They are similar to the standard
- <span class="citerefentry">
- <span class="refentrytitle">gethostent</span>(3)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">gethostent</span>(3)</span>
functions provided by most operating systems.
They use a
<span class="type">struct hostent</span>
which is usually defined in
<code class="filename"><namedb.h></code>.
</p>
- <pre class="programlisting">
+<pre class="programlisting">
struct hostent {
char *h_name; /* official name of host */
char **h_aliases; /* alias list */
</pre>
<p>
</p>
- <p>
+<p>
The members of this structure are:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">h_name</code></span></dt>
-<dd>
- <p>
+<dd><p>
The official (canonical) name of the host.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_aliases</code></span></dt>
-<dd>
- <p>
+<dd><p>
A NULL-terminated array of alternate names (nicknames) for the
host.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_addrtype</code></span></dt>
-<dd>
- <p>
+<dd><p>
The type of address being returned —
<span class="type">PF_INET</span>
or
<span class="type">PF_INET6</span>.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_length</code></span></dt>
-<dd>
- <p>
+<dd><p>
The length of the address in bytes.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_addr_list</code></span></dt>
-<dd>
- <p>
+<dd><p>
A <span class="type">NULL</span>
terminated array of network addresses for the host.
Host addresses are returned in network byte order.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
- <p>
+<p>
For backward compatibility with very old software,
<code class="constant">h_addr</code>
is the first address in
<code class="constant">h_addr_list.</code>
</p>
- <p><code class="function">lwres_gethostent()</code>,
+<p><code class="function">lwres_gethostent()</code>,
<code class="function">lwres_sethostent()</code>,
<code class="function">lwres_endhostent()</code>,
<code class="function">lwres_gethostent_r()</code>,
these functions; it only provides them as stub functions that always
return failure.
</p>
-
- <p><code class="function">lwres_gethostbyname()</code>
+<p><code class="function">lwres_gethostbyname()</code>
and <code class="function">lwres_gethostbyname2()</code> look up the
hostname <em class="parameter"><code>name</code></em>.
<code class="function">lwres_gethostbyname()</code> always looks for an
<code class="function">lwres_gethostbyname()</code> or
<code class="function">lwres_gethostbyname2()</code> fail.
</p>
-
- <p>
+<p>
Reverse lookups of addresses are performed by
<code class="function">lwres_gethostbyaddr()</code>.
<em class="parameter"><code>addr</code></em> is an address of length
return <em class="parameter"><code>resbuf</code></em>,
which is a pointer to the <span class="type">struct hostent</span> it created.
</p>
-
- <p><code class="function">lwres_gethostbyaddr_r()</code>
+<p><code class="function">lwres_gethostbyaddr_r()</code>
is a thread-safe function
that performs a reverse lookup of address <em class="parameter"><code>addr</code></em>
which is <em class="parameter"><code>len</code></em> bytes long and is of
<em class="parameter"><code>resbuf</code></em>, which is a pointer to the
<code class="function">struct hostent()</code> it created.
</p>
-
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
The functions
<code class="function">lwres_gethostbyname()</code>,
<code class="function">lwres_gethostbyname2()</code>,
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">HOST_NOT_FOUND</code></span></dt>
-<dd>
- <p>
+<dd><p>
The host or address was not found.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">TRY_AGAIN</code></span></dt>
-<dd>
- <p>
+<dd><p>
A recoverable error occurred, e.g., a timeout.
Retrying the lookup may succeed.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NO_RECOVERY</code></span></dt>
-<dd>
- <p>
+<dd><p>
A non-recoverable error occurred.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NO_DATA</code></span></dt>
-<dd>
- <p>
+<dd><p>
The name exists, but has no address information
associated with it (or vice versa in the case
of a reverse lookup). The code NO_ADDRESS
is accepted as a synonym for NO_DATA for backwards
compatibility.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_hstrerror</span>(3)
- </span>
+<p><span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>
translates these error codes to suitable error messages.
</p>
-
- <p><code class="function">lwres_gethostent()</code>
+<p><code class="function">lwres_gethostent()</code>
and <code class="function">lwres_gethostent_r()</code>
always return <span class="type">NULL</span>.
</p>
-
- <p>
+<p>
Successful calls to <code class="function">lwres_gethostbyname_r()</code> and
<code class="function">lwres_gethostbyaddr_r()</code> return
<em class="parameter"><code>resbuf</code></em>, a pointer to the
variable
<span class="type">errno</span> to <span class="errorcode">ERANGE</span>.
</p>
-
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">gethostent</span>(3)</span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">gethostent</span>(3)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getipnode</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getipnode</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_hstrerror</span>(3)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.10"></a><h2>BUGS</h2>
-
- <p><code class="function">lwres_gethostbyname()</code>,
+<p><code class="function">lwres_gethostbyname()</code>,
<code class="function">lwres_gethostbyname2()</code>,
<code class="function">lwres_gethostbyaddr()</code>
and
<code class="function">lwres_gethostbyaddr_r()</code>
respectively.
</p>
- <p>
+<p>
The resolver daemon does not currently support any non-DNS
name services such as
<code class="filename">/etc/hosts</code>
<span class="type">NIS</span>,
consequently the above functions don't, either.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_getipnodebyname, lwres_getipnodebyaddr, lwres_freehostent \- lightweight resolver nodename / address translation API
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
-.sp
.HP \w'struct\ hostent\ *\ lwres_getipnodebyname('u
.BI "struct hostent * lwres_getipnodebyname(const\ char\ *" "name" ", int\ " "af" ", int\ " "flags" ", int\ *" "error_num" ");"
.HP \w'struct\ hostent\ *\ lwres_getipnodebyaddr('u
.BI "struct hostent * lwres_getipnodebyaddr(const\ void\ *" "src" ", size_t\ " "len" ", int\ " "af" ", int\ *" "error_num" ");"
.HP \w'void\ lwres_freehostent('u
.BI "void lwres_freehostent(struct\ hostent\ *" "he" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
These functions perform thread safe, protocol independent nodename\-to\-address and address\-to\-nodename translation as defined in RFC2553\&.
- .PP
+.PP
They use a
\fBstruct hostent\fR
which is defined in
namedb\&.h:
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
The members of this structure are:
- .PP
+.PP
\fBh_name\fR
.RS 4
- The official (canonical) name of the host\&.
- .RE
- .PP
+The official (canonical) name of the host\&.
+.RE
+.PP
\fBh_aliases\fR
.RS 4
- A NULL\-terminated array of alternate names (nicknames) for the host\&.
- .RE
- .PP
+A NULL\-terminated array of alternate names (nicknames) for the host\&.
+.RE
+.PP
\fBh_addrtype\fR
.RS 4
- The type of address being returned \- usually
+The type of address being returned \- usually
\fBPF_INET\fR
or
\fBPF_INET6\fR\&.
- .RE
- .PP
+.RE
+.PP
\fBh_length\fR
.RS 4
- The length of the address in bytes\&.
- .RE
- .PP
+The length of the address in bytes\&.
+.RE
+.PP
\fBh_addr_list\fR
.RS 4
- A
+A
\fBNULL\fR
terminated array of network addresses for the host\&. Host addresses are returned in network byte order\&.
- .RE
- .PP
+.RE
+.PP
\fBlwres_getipnodebyname()\fR
looks up addresses of protocol family
\fIaf\fR
\fIname\fR\&. The
\fIflags\fR
parameter contains ORed flag bits to specify the types of addresses that are searched for, and the types of addresses that are returned\&. The flag bits are:
- .PP
+.PP
\fBAI_V4MAPPED\fR
.RS 4
- This is used with an
+This is used with an
\fIaf\fR
of AF_INET6, and causes IPv4 addresses to be returned as IPv4\-mapped IPv6 addresses\&.
- .RE
- .PP
+.RE
+.PP
\fBAI_ALL\fR
.RS 4
- This is used with an
+This is used with an
\fIaf\fR
of AF_INET6, and causes all known addresses (IPv6 and IPv4) to be returned\&. If AI_V4MAPPED is also set, the IPv4 addresses are return as mapped IPv6 addresses\&.
- .RE
- .PP
+.RE
+.PP
\fBAI_ADDRCONFIG\fR
.RS 4
- Only return an IPv6 or IPv4 address if here is an active network interface of that type\&. This is not currently implemented in the BIND 9 lightweight resolver, and the flag is ignored\&.
- .RE
- .PP
+Only return an IPv6 or IPv4 address if here is an active network interface of that type\&. This is not currently implemented in the BIND 9 lightweight resolver, and the flag is ignored\&.
+.RE
+.PP
\fBAI_DEFAULT\fR
.RS 4
- This default sets the
+This default sets the
\fBAI_V4MAPPED\fR
and
\fBAI_ADDRCONFIG\fR
flag bits\&.
- .RE
- .PP
+.RE
+.PP
\fBlwres_getipnodebyaddr()\fR
performs a reverse lookup of address
\fIsrc\fR
\fBPF_INET\fR
or
\fBPF_INET6\fR\&.
- .PP
+.PP
\fBlwres_freehostent()\fR
releases all the memory associated with the
\fBstruct hostent\fR
is freed, as is the memory for the
\fBhostent\fR
structure itself\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
If an error occurs,
\fBlwres_getipnodebyname()\fR
and
\fBNULL\fR
pointer\&. The error codes and their meanings are defined in
<lwres/netdb\&.h>:
- .PP
+.PP
\fBHOST_NOT_FOUND\fR
.RS 4
- No such host is known\&.
- .RE
- .PP
+No such host is known\&.
+.RE
+.PP
\fBNO_ADDRESS\fR
.RS 4
- The server recognised the request and the name but no address is available\&. Another type of request to the name server for the domain might return an answer\&.
- .RE
- .PP
+The server recognised the request and the name but no address is available\&. Another type of request to the name server for the domain might return an answer\&.
+.RE
+.PP
\fBTRY_AGAIN\fR
.RS 4
- A temporary and possibly transient error occurred, such as a failure of a server to respond\&. The request may succeed if retried\&.
- .RE
- .PP
+A temporary and possibly transient error occurred, such as a failure of a server to respond\&. The request may succeed if retried\&.
+.RE
+.PP
\fBNO_RECOVERY\fR
.RS 4
- An unexpected failure occurred, and retrying the request is pointless\&.
- .RE
- .PP
+An unexpected failure occurred, and retrying the request is pointless\&.
+.RE
+.PP
\fBlwres_hstrerror\fR(3)
translates these error codes to suitable error messages\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBRFC2553\fR(),
\fBlwres\fR(3),
\fBlwres_gethostent\fR(3),
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_getipnodebyname,
- lwres_getipnodebyaddr,
- lwres_freehostent
- — lightweight resolver nodename / address translation API
- </p>
+<p>lwres_getipnodebyname, lwres_getipnodebyaddr, lwres_freehostent — lightweight resolver nodename / address translation API</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</tr></table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p>
+<p>
These functions perform thread safe, protocol independent
nodename-to-address and address-to-nodename
translation as defined in RFC2553.
</p>
-
- <p>
+<p>
They use a
<span class="type">struct hostent</span>
which is defined in
<code class="filename">namedb.h</code>:
</p>
- <pre class="programlisting">
+<pre class="programlisting">
struct hostent {
char *h_name; /* official name of host */
char **h_aliases; /* alias list */
</pre>
<p>
</p>
-
- <p>
+<p>
The members of this structure are:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">h_name</code></span></dt>
-<dd>
- <p>
+<dd><p>
The official (canonical) name of the host.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_aliases</code></span></dt>
-<dd>
- <p>
+<dd><p>
A NULL-terminated array of alternate names (nicknames) for the
host.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_addrtype</code></span></dt>
-<dd>
- <p>
+<dd><p>
The type of address being returned - usually
<span class="type">PF_INET</span>
or
<span class="type">PF_INET6</span>.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_length</code></span></dt>
-<dd>
- <p>
+<dd><p>
The length of the address in bytes.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">h_addr_list</code></span></dt>
-<dd>
- <p>
+<dd><p>
A
<span class="type">NULL</span>
terminated array of network addresses for the host.
Host addresses are returned in network byte order.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
-
- <p><code class="function">lwres_getipnodebyname()</code>
+<p><code class="function">lwres_getipnodebyname()</code>
looks up addresses of protocol family <em class="parameter"><code>af</code></em>
for the hostname <em class="parameter"><code>name</code></em>. The
<em class="parameter"><code>flags</code></em> parameter contains ORed flag bits
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">AI_V4MAPPED</code></span></dt>
-<dd>
- <p>
+<dd><p>
This is used with an
<em class="parameter"><code>af</code></em>
of AF_INET6, and causes IPv4 addresses to be returned as
IPv4-mapped
IPv6 addresses.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">AI_ALL</code></span></dt>
-<dd>
- <p>
+<dd><p>
This is used with an
<em class="parameter"><code>af</code></em>
of AF_INET6, and causes all known addresses (IPv6 and IPv4) to
If AI_V4MAPPED is also set, the IPv4 addresses are return as
mapped
IPv6 addresses.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">AI_ADDRCONFIG</code></span></dt>
-<dd>
- <p>
+<dd><p>
Only return an IPv6 or IPv4 address if here is an active network
interface of that type. This is not currently implemented
in the BIND 9 lightweight resolver, and the flag is ignored.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">AI_DEFAULT</code></span></dt>
-<dd>
- <p>
+<dd><p>
This default sets the
<code class="constant">AI_V4MAPPED</code>
and
<code class="constant">AI_ADDRCONFIG</code>
flag bits.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
-
- <p><code class="function">lwres_getipnodebyaddr()</code>
+<p><code class="function">lwres_getipnodebyaddr()</code>
performs a reverse lookup of address <em class="parameter"><code>src</code></em>
which is <em class="parameter"><code>len</code></em> bytes long.
<em class="parameter"><code>af</code></em> denotes the protocol family, typically
<span class="type">PF_INET</span> or <span class="type">PF_INET6</span>.
</p>
- <p><code class="function">lwres_freehostent()</code>
+<p><code class="function">lwres_freehostent()</code>
releases all the memory associated with the <span class="type">struct
hostent</span> pointer <em class="parameter"><code>he</code></em>. Any memory
allocated for the <code class="constant">h_name</code>,
<code class="constant">h_aliases</code> is freed, as is the memory for
the <span class="type">hostent</span> structure itself.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
If an error occurs,
<code class="function">lwres_getipnodebyname()</code>
and
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">HOST_NOT_FOUND</code></span></dt>
-<dd>
- <p>
+<dd><p>
No such host is known.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NO_ADDRESS</code></span></dt>
-<dd>
- <p>
+<dd><p>
The server recognised the request and the name but no address is
available. Another type of request to the name server for the
domain might return an answer.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">TRY_AGAIN</code></span></dt>
-<dd>
- <p>
+<dd><p>
A temporary and possibly transient error occurred, such as a
failure of a server to respond. The request may succeed if
retried.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NO_RECOVERY</code></span></dt>
-<dd>
- <p>
+<dd><p>
An unexpected failure occurred, and retrying the request
is pointless.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_hstrerror</span>(3)
- </span>
+<p><span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>
translates these error codes to suitable error messages.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">RFC2553</span></span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">RFC2553</span>
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_gethostent</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_gethostent</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getaddrinfo</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getaddrinfo</span>(3)
- </span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getnameinfo</span>(3)</span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getnameinfo</span>(3)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">lwres_hstrerror</span>(3)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_getnameinfo \- lightweight resolver socket address structure to hostname and service name
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
-.sp
.HP \w'int\ lwres_getnameinfo('u
.BI "int lwres_getnameinfo(const\ struct\ sockaddr\ *" "sa" ", size_t\ " "salen" ", char\ *" "host" ", size_t\ " "hostlen" ", char\ *" "serv" ", size_t\ " "servlen" ", int\ " "flags" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
This function is equivalent to the
\fBgetnameinfo\fR(3)
function defined in RFC2133\&.
\fI*host\&.\fR
The maximum length of the hostname is 1025 bytes:
\fBNI_MAXHOST\fR\&.
- .PP
+.PP
The name of the service associated with the port number in
\fIsa\fR
is returned in
bytes long\&. The maximum length of the service name is
\fBNI_MAXSERV\fR
\- 32 bytes\&.
- .PP
+.PP
The
\fIflags\fR
argument sets the following bits:
- .PP
+.PP
\fBNI_NOFQDN\fR
.RS 4
- A fully qualified domain name is not required for local hosts\&. The local part of the fully qualified domain name is returned instead\&.
- .RE
- .PP
+A fully qualified domain name is not required for local hosts\&. The local part of the fully qualified domain name is returned instead\&.
+.RE
+.PP
\fBNI_NUMERICHOST\fR
.RS 4
- Return the address in numeric form, as if calling inet_ntop(), instead of a host name\&.
- .RE
- .PP
+Return the address in numeric form, as if calling inet_ntop(), instead of a host name\&.
+.RE
+.PP
\fBNI_NAMEREQD\fR
.RS 4
- A name is required\&. If the hostname cannot be found in the DNS and this flag is set, a non\-zero error code is returned\&. If the hostname is not found and the flag is not set, the address is returned in numeric form\&.
- .RE
- .PP
+A name is required\&. If the hostname cannot be found in the DNS and this flag is set, a non\-zero error code is returned\&. If the hostname is not found and the flag is not set, the address is returned in numeric form\&.
+.RE
+.PP
\fBNI_NUMERICSERV\fR
.RS 4
- The service name is returned as a digit string representing the port number\&.
- .RE
- .PP
+The service name is returned as a digit string representing the port number\&.
+.RE
+.PP
\fBNI_DGRAM\fR
.RS 4
- Specifies that the service being looked up is a datagram service, and causes getservbyport() to be called with a second argument of "udp" instead of its default of "tcp"\&. This is required for the few ports (512\-514) that have different services for UDP and TCP\&.
- .RE
- .SH "RETURN VALUES"
- .PP
+Specifies that the service being looked up is a datagram service, and causes getservbyport() to be called with a second argument of "udp" instead of its default of "tcp"\&. This is required for the few ports (512\-514) that have different services for UDP and TCP\&.
+.RE
+.SH "RETURN VALUES"
+.PP
\fBlwres_getnameinfo()\fR
returns 0 on success or a non\-zero error code if an error occurs\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBRFC2133\fR(),
\fBgetservbyport\fR(3),
\fBlwres\fR(3),
\fBlwres_getnameinfo\fR(3),
\fBlwres_getnamebyaddr\fR(3)\&.
\fBlwres_net_ntop\fR(3)\&.
- .SH "BUGS"
- .PP
+.SH "BUGS"
+.PP
RFC2133 fails to define what the nonzero return values of
\fBgetnameinfo\fR(3)
are\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_getnameinfo
- — lightweight resolver socket address structure to hostname and
+<p>lwres_getnameinfo — lightweight resolver socket address structure to hostname and
service name
-
- </p>
+ </p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p>
+<p>
This function is equivalent to the
- <span class="citerefentry">
- <span class="refentrytitle">getnameinfo</span>(3)
- </span> function defined in RFC2133.
+ <span class="citerefentry"><span class="refentrytitle">getnameinfo</span>(3)</span> function defined in RFC2133.
<code class="function">lwres_getnameinfo()</code> returns the
hostname for the
<span class="type">struct sockaddr</span> <em class="parameter"><code>sa</code></em> which
hostname is
1025 bytes: <code class="constant">NI_MAXHOST</code>.
</p>
-
- <p> The name of the service associated with the port number in
+<p> The name of the service associated with the port number in
<em class="parameter"><code>sa</code></em> is returned in <em class="parameter"><code>*serv.</code></em>
It is <em class="parameter"><code>servlen</code></em> bytes long. The
maximum length
of the service name is <code class="constant">NI_MAXSERV</code> - 32
bytes.
</p>
-
- <p>
+<p>
The <em class="parameter"><code>flags</code></em> argument sets the
following
bits:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">NI_NOFQDN</code></span></dt>
-<dd>
- <p>
+<dd><p>
A fully qualified domain name is not required for local hosts.
The local part of the fully qualified domain name is returned
instead.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NI_NUMERICHOST</code></span></dt>
-<dd>
- <p>
+<dd><p>
Return the address in numeric form, as if calling inet_ntop(),
instead of a host name.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NI_NAMEREQD</code></span></dt>
-<dd>
- <p>
+<dd><p>
A name is required. If the hostname cannot be found in the DNS
and
this flag is set, a non-zero error code is returned.
If the hostname is not found and the flag is not set, the
address is returned in numeric form.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NI_NUMERICSERV</code></span></dt>
-<dd>
- <p>
+<dd><p>
The service name is returned as a digit string representing the
port number.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">NI_DGRAM</code></span></dt>
-<dd>
- <p>
+<dd><p>
Specifies that the service being looked up is a datagram
service, and causes getservbyport() to be called with a second
argument of "udp" instead of its default of "tcp". This is
for the few ports (512-514) that have different services for UDP
and
TCP.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p><code class="function">lwres_getnameinfo()</code>
+<p><code class="function">lwres_getnameinfo()</code>
returns 0 on success or a non-zero error code if an error occurs.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">RFC2133</span>
- </span>,
- <span class="citerefentry">
- <span class="refentrytitle">getservbyport</span>(3)
- </span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres</span>(3)
- </span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getnameinfo</span>(3)
- </span>,
- <span class="citerefentry">
- <span class="refentrytitle">lwres_getnamebyaddr</span>(3)
- </span>.
- <span class="citerefentry">
- <span class="refentrytitle">lwres_net_ntop</span>(3)
- </span>.
+<p><span class="citerefentry"><span class="refentrytitle">RFC2133</span></span>,
+ <span class="citerefentry"><span class="refentrytitle">getservbyport</span>(3)</span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getnameinfo</span>(3)</span>,
+ <span class="citerefentry"><span class="refentrytitle">lwres_getnamebyaddr</span>(3)</span>.
+ <span class="citerefentry"><span class="refentrytitle">lwres_net_ntop</span>(3)</span>.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.10"></a><h2>BUGS</h2>
-
- <p>
+<p>
RFC2133 fails to define what the nonzero return values of
- <span class="citerefentry">
- <span class="refentrytitle">getnameinfo</span>(3)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">getnameinfo</span>(3)</span>
are.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_getrrsetbyname, lwres_freerrset \- retrieve DNS records
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
-.sp
.HP \w'int\ lwres_getrrsetbyname('u
.BI "int lwres_getrrsetbyname(const\ char\ *" "hostname" ", unsigned\ int\ " "rdclass" ", unsigned\ int\ " "rdtype" ", unsigned\ int\ " "flags" ", struct\ rrsetinfo\ **" "res" ");"
.HP \w'void\ lwres_freerrset('u
.BI "void lwres_freerrset(struct\ rrsetinfo\ *" "rrset" ");"
- .PP
+.PP
The following structures are used:
- .PP
+.PP
.nf
struct rdatainfo {
unsigned int rdi_length; /* length of data */
unsigned char *rdi_data; /* record data */
};
.fi
-.sp
- .PP
+.PP
.nf
struct rrsetinfo {
unsigned int rri_flags; /* RRSET_VALIDATED\&.\&.\&. */
};
.fi
.sp
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_getrrsetbyname()\fR
gets a set of resource records associated with a
\fIhostname\fR,
is a pointer a to null\-terminated string\&. The
\fIflags\fR
field is currently unused and must be zero\&.
- .PP
+.PP
After a successful call to
\fBlwres_getrrsetbyname()\fR,
\fI*res\fR
are in uncompressed DNS wire format\&. Properties of the rdataset are represented in the
\fBrri_flags\fR
bitfield\&. If the RRSET_VALIDATED bit is set, the data has been DNSSEC validated and the signatures verified\&.
- .PP
+.PP
All of the information returned by
\fBlwres_getrrsetbyname()\fR
is dynamically allocated: the
\fBstruct rrset\fR
created by a call to
\fBlwres_getrrsetbyname()\fR\&.
- .PP
- .SH "RETURN VALUES"
- .PP
+.PP
+.SH "RETURN VALUES"
+.PP
\fBlwres_getrrsetbyname()\fR
returns zero on success, and one of the following error codes if an error occurred:
- .PP
+.PP
\fBERRSET_NONAME\fR
.RS 4
- the name does not exist
- .RE
- .PP
+the name does not exist
+.RE
+.PP
\fBERRSET_NODATA\fR
.RS 4
- the name exists, but does not have data of the desired type
- .RE
- .PP
+the name exists, but does not have data of the desired type
+.RE
+.PP
\fBERRSET_NOMEMORY\fR
.RS 4
- memory could not be allocated
- .RE
- .PP
+memory could not be allocated
+.RE
+.PP
\fBERRSET_INVAL\fR
.RS 4
- a parameter is invalid
- .RE
- .PP
+a parameter is invalid
+.RE
+.PP
\fBERRSET_FAIL\fR
.RS 4
- other failure
- .RE
- .PP
+other failure
+.RE
+.PP
.RS 4
- .RE
- .SH "SEE ALSO"
- .PP
+.RE
+.SH "SEE ALSO"
+.PP
\fBlwres\fR(3)\&.
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_getrrsetbyname,
- lwres_freerrset
- — retrieve DNS records
- </p>
+<p>lwres_getrrsetbyname, lwres_freerrset — retrieve DNS records</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</tr></table>
<div class="funcprototype-spacer"> </div>
</div>
-
- <p>
+<p>
The following structures are used:
</p>
- <pre class="programlisting">
+<pre class="programlisting">
struct rdatainfo {
unsigned int rdi_length; /* length of data */
unsigned char *rdi_data; /* record data */
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
struct rrsetinfo {
unsigned int rri_flags; /* RRSET_VALIDATED... */
unsigned int rri_rdclass; /* class number */
</pre>
<p>
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p><code class="function">lwres_getrrsetbyname()</code>
+<p><code class="function">lwres_getrrsetbyname()</code>
gets a set of resource records associated with a
<em class="parameter"><code>hostname</code></em>, <em class="parameter"><code>class</code></em>,
and <em class="parameter"><code>type</code></em>.
null-terminated string. The <em class="parameter"><code>flags</code></em> field
is currently unused and must be zero.
</p>
- <p>
+<p>
After a successful call to
<code class="function">lwres_getrrsetbyname()</code>,
<em class="parameter"><code>*res</code></em> is a pointer to an
bit is set, the data has been DNSSEC validated and the
signatures verified.
</p>
- <p>
+<p>
All of the information returned by
<code class="function">lwres_getrrsetbyname()</code> is dynamically
allocated: the <code class="constant">rrsetinfo</code> and
rrset</span> created by a call to
<code class="function">lwres_getrrsetbyname()</code>.
</p>
- <p></p>
- </div>
- <div class="refsection">
+<p></p>
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p><code class="function">lwres_getrrsetbyname()</code>
+<p><code class="function">lwres_getrrsetbyname()</code>
returns zero on success, and one of the following error codes if
an error occurred:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">ERRSET_NONAME</code></span></dt>
-<dd>
- <p>
+<dd><p>
the name does not exist
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">ERRSET_NODATA</code></span></dt>
-<dd>
- <p>
+<dd><p>
the name exists, but does not have data of the desired type
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">ERRSET_NOMEMORY</code></span></dt>
-<dd>
- <p>
+<dd><p>
memory could not be allocated
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">ERRSET_INVAL</code></span></dt>
-<dd>
- <p>
+<dd><p>
a parameter is invalid
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">ERRSET_FAIL</code></span></dt>
-<dd>
- <p>
+<dd><p>
other failure
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant"></code></span></dt>
-<dd>
- <p></p>
- </dd>
+<dd><p></p></dd>
</dl></div>
<p>
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres</span>(3)
- </span>.
+<p><span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>.
</p>
-
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_parse, lwres_gnbaresponse_parse, lwres_gnbaresponse_free, lwres_gnbarequest_free \- lightweight resolver getnamebyaddress message handling
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwres\&.h>
.fi
.ft
-.sp
.HP \w'lwres_result_t\ lwres_gnbarequest_render('u
.BI "lwres_result_t lwres_gnbarequest_render(lwres_context_t\ *" "ctx" ", lwres_gnbarequest_t\ *" "req" ", lwres_lwpacket_t\ *" "pkt" ", lwres_buffer_t\ *" "b" ");"
.HP \w'lwres_result_t\ lwres_gnbaresponse_render('u
.BI "void lwres_gnbaresponse_free(lwres_context_t\ *" "ctx" ", lwres_gnbaresponse_t\ **" "structp" ");"
.HP \w'void\ lwres_gnbarequest_free('u
.BI "void lwres_gnbarequest_free(lwres_context_t\ *" "ctx" ", lwres_gnbarequest_t\ **" "structp" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
These are low\-level routines for creating and parsing lightweight resolver address\-to\-name lookup request and response messages\&.
- .PP
+.PP
There are four main functions for the getnamebyaddr opcode\&. One render function converts a getnamebyaddr request structure \(em
\fBlwres_gnbarequest_t\fR
\(em to the lightweight resolver\*(Aqs canonical format\&. It is complemented by a parse function that converts a packet in this canonical format to a getnamebyaddr request structure\&. Another render function converts the getnamebyaddr response structure \(em
\fBlwres_gnbaresponse_t\fR
to the canonical format\&. This is complemented by a parse function which converts a packet in canonical format to a getnamebyaddr response structure\&.
- .PP
+.PP
These structures are defined in
lwres/lwres\&.h\&. They are shown below\&.
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
\fBlwres_gnbarequest_render()\fR
uses resolver context
\fIctx\fR
performs the same task, except it converts a getnamebyaddr response structure
\fBlwres_gnbaresponse_t\fR
to the lightweight resolver\*(Aqs canonical format\&.
- .PP
+.PP
\fBlwres_gnbarequest_parse()\fR
uses context
\fIctx\fR
except it yields a
\fBlwres_gnbaresponse_t\fR
structure\&.
- .PP
+.PP
\fBlwres_gnbaresponse_free()\fR
and
\fBlwres_gnbarequest_free()\fR
\fBlwres_gnbarequest_t\fR
structures referenced via
\fIstructp\fR\&. Any memory associated with ancillary buffers and strings for those structures is also discarded\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
The getnamebyaddr opcode functions
\fBlwres_gnbarequest_render()\fR,
\fBlwres_gnbaresponse_render()\fR
in the packet header structure
\fBlwres_lwpacket_t\fR
indicate that the packet is not a response to an earlier query\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBlwres_packet\fR(3)\&.
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_gnbarequest_render,
- lwres_gnbaresponse_render,
- lwres_gnbarequest_parse,
- lwres_gnbaresponse_parse,
- lwres_gnbaresponse_free,
- lwres_gnbarequest_free
- — lightweight resolver getnamebyaddress message handling
- </p>
+<p>lwres_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_parse, lwres_gnbaresponse_parse, lwres_gnbaresponse_free, lwres_gnbarequest_free — lightweight resolver getnamebyaddress message handling</p>
</div>
-
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">
#include <lwres/lwres.h>
</pre>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</tr>
</table>
<div class="funcprototype-spacer"> </div>
-
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
<td><code class="funcdef">
</table>
<div class="funcprototype-spacer"> </div>
</div>
-
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p>
+<p>
These are low-level routines for creating and parsing
lightweight resolver address-to-name lookup request and
response messages.
</p>
- <p>
+<p>
There are four main functions for the getnamebyaddr opcode.
One render function converts a getnamebyaddr request structure —
<span class="type">lwres_gnbarequest_t</span> —
This is complemented by a parse function which converts a packet in
canonical format to a getnamebyaddr response structure.
</p>
- <p>
+<p>
These structures are defined in
<code class="filename">lwres/lwres.h</code>.
They are shown below.
</p>
- <pre class="programlisting">
+<pre class="programlisting">
#define LWRES_OPCODE_GETNAMEBYADDR 0x00010002U
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct {
uint32_t flags;
lwres_addr_t addr;
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct {
uint32_t flags;
uint16_t naliases;
</pre>
<p>
</p>
-
- <p><code class="function">lwres_gnbarequest_render()</code>
+<p><code class="function">lwres_gnbarequest_render()</code>
uses resolver context <code class="varname">ctx</code> to convert
getnamebyaddr request structure <code class="varname">req</code> to
canonical format. The packet header structure
<span class="type">lwres_gnbaresponse_t</span> to the lightweight resolver's
canonical format.
</p>
-
- <p><code class="function">lwres_gnbarequest_parse()</code>
+<p><code class="function">lwres_gnbarequest_parse()</code>
uses context <code class="varname">ctx</code> to convert the contents of
packet <code class="varname">pkt</code> to a
<span class="type">lwres_gnbarequest_t</span> structure. Buffer
semantics as <code class="function">lwres_gnbarequest_parse()</code>
except it yields a <span class="type">lwres_gnbaresponse_t</span> structure.
</p>
-
- <p><code class="function">lwres_gnbaresponse_free()</code>
+<p><code class="function">lwres_gnbaresponse_free()</code>
and <code class="function">lwres_gnbarequest_free()</code> release the
memory in resolver context <code class="varname">ctx</code> that was
allocated to the <span class="type">lwres_gnbaresponse_t</span> or
ancillary buffers and strings for those structures is also
discarded.
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
The getnamebyaddr opcode functions
<code class="function">lwres_gnbarequest_render()</code>,
<code class="function">lwres_gnbaresponse_render()</code>
<span class="type">lwres_lwpacket_t</span>
indicate that the packet is not a response to an earlier query.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_packet</span>(3)
- </span>.
+<p><span class="citerefentry"><span class="refentrytitle">lwres_packet</span>(3)</span>.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_herror, lwres_hstrerror \- lightweight resolver error message generation
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
-.sp
.HP \w'void\ lwres_herror('u
.BI "void lwres_herror(const\ char\ *" "s" ");"
.HP \w'const\ char\ *\ lwres_hstrerror('u
.BI "const char * lwres_hstrerror(int\ " "err" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_herror()\fR
prints the string
\fIs\fR
\fBlwres_hstrerror()\fR
for the error code stored in the global variable
\fBlwres_h_errno\fR\&.
- .PP
+.PP
\fBlwres_hstrerror()\fR
returns an appropriate string for the error code gievn by
\fIerr\fR\&. The values of the error codes and messages are as follows:
- .PP
+.PP
\fBNETDB_SUCCESS\fR
.RS 4
- Resolver Error 0 (no error)
- .RE
- .PP
+Resolver Error 0 (no error)
+.RE
+.PP
\fBHOST_NOT_FOUND\fR
.RS 4
- Unknown host
- .RE
- .PP
+Unknown host
+.RE
+.PP
\fBTRY_AGAIN\fR
.RS 4
- Host name lookup failure
- .RE
- .PP
+Host name lookup failure
+.RE
+.PP
\fBNO_RECOVERY\fR
.RS 4
- Unknown server error
- .RE
- .PP
+Unknown server error
+.RE
+.PP
\fBNO_DATA\fR
.RS 4
- No address associated with name
- .RE
- .SH "RETURN VALUES"
- .PP
+No address associated with name
+.RE
+.SH "RETURN VALUES"
+.PP
The string
Unknown resolver error
is returned by
when the value of
\fBlwres_h_errno\fR
is not a valid error code\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBherror\fR(3),
\fBlwres_hstrerror\fR(3)\&.
.SH "AUTHOR"
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_herror,
- lwres_hstrerror
- — lightweight resolver error message generation
- </p>
+<p>lwres_herror, lwres_hstrerror — lightweight resolver error message generation</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/netdb.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr>
<td><code class="funcdef">
</tr></table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p><code class="function">lwres_herror()</code>
+<p><code class="function">lwres_herror()</code>
prints the string <em class="parameter"><code>s</code></em> on
<span class="type">stderr</span> followed by the string generated by
<code class="function">lwres_hstrerror()</code> for the error code stored
in the global variable <code class="constant">lwres_h_errno</code>.
</p>
-
- <p><code class="function">lwres_hstrerror()</code>
+<p><code class="function">lwres_hstrerror()</code>
returns an appropriate string for the error code gievn by
<em class="parameter"><code>err</code></em>. The values of the error codes and
messages are as follows:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="errorcode">NETDB_SUCCESS</span></span></dt>
-<dd>
- <p><span class="errorname">Resolver Error 0 (no error)</span>
- </p>
- </dd>
+<dd><p><span class="errorname">Resolver Error 0 (no error)</span>
+ </p></dd>
<dt><span class="term"><span class="errorcode">HOST_NOT_FOUND</span></span></dt>
-<dd>
- <p><span class="errorname">Unknown host</span>
- </p>
- </dd>
+<dd><p><span class="errorname">Unknown host</span>
+ </p></dd>
<dt><span class="term"><span class="errorcode">TRY_AGAIN</span></span></dt>
-<dd>
- <p><span class="errorname">Host name lookup failure</span>
- </p>
- </dd>
+<dd><p><span class="errorname">Host name lookup failure</span>
+ </p></dd>
<dt><span class="term"><span class="errorcode">NO_RECOVERY</span></span></dt>
-<dd>
- <p><span class="errorname">Unknown server error</span>
- </p>
- </dd>
+<dd><p><span class="errorname">Unknown server error</span>
+ </p></dd>
<dt><span class="term"><span class="errorcode">NO_DATA</span></span></dt>
-<dd>
- <p><span class="errorname">No address associated with name</span>
- </p>
- </dd>
+<dd><p><span class="errorname">No address associated with name</span>
+ </p></dd>
</dl></div>
<p>
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
The string <span class="errorname">Unknown resolver error</span> is returned by
<code class="function">lwres_hstrerror()</code>
when the value of
<code class="constant">lwres_h_errno</code>
is not a valid error code.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">herror</span>(3)</span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">herror</span>(3)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">lwres_hstrerror</span>(3)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>.
</p>
-
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_net_ntop \- lightweight resolver IP address presentation
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/net\&.h>
.fi
.ft
-.sp
.HP \w'const\ char\ *\ lwres_net_ntop('u
.BI "const char * lwres_net_ntop(int\ " "af" ", const\ void\ *" "src" ", char\ *" "dst" ", size_t\ " "size" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_net_ntop()\fR
converts an IP address of protocol family
\fIaf\fR
\(em IPv4 or IPv6 \(em at location
\fIsrc\fR
from network format to its conventional representation as a string\&. For IPv4 addresses, that string would be a dotted\-decimal\&. An IPv6 address would be represented in colon notation as described in RFC1884\&.
- .PP
+.PP
The generated string is copied to
\fIdst\fR
provided
\fIsize\fR
indicates it is long enough to store the ASCII representation of the address\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
If successful, the function returns
\fIdst\fR: a pointer to a string containing the presentation format of the address\&.
\fBlwres_net_ntop()\fR
if the protocol family given in
\fIaf\fR
is not supported\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBRFC1884\fR(),
\fBinet_ntop\fR(3),
\fBerrno\fR(3)\&.
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_net_ntop
- — lightweight resolver IP address presentation
- </p>
+<p>lwres_net_ntop — lightweight resolver IP address presentation</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/net.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p><code class="function">lwres_net_ntop()</code>
+<p><code class="function">lwres_net_ntop()</code>
converts an IP address of protocol family
<em class="parameter"><code>af</code></em> — IPv4 or IPv6 — at
location <em class="parameter"><code>src</code></em> from network format to its
that string would be a dotted-decimal. An IPv6 address would be
represented in colon notation as described in RFC1884.
</p>
-
- <p>
+<p>
The generated string is copied to <em class="parameter"><code>dst</code></em>
provided
<em class="parameter"><code>size</code></em> indicates it is long enough to
store the
ASCII representation of the address.
</p>
-
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
-
- <p>
+<p>
If successful, the function returns <em class="parameter"><code>dst</code></em>:
a pointer to a string containing the presentation format of the
address. <code class="function">lwres_net_ntop()</code> returns
not
supported.
</p>
-
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">RFC1884</span>
- </span>,
- <span class="citerefentry">
- <span class="refentrytitle">inet_ntop</span>(3)
- </span>,
- <span class="citerefentry">
- <span class="refentrytitle">errno</span>(3)
- </span>.
+<p><span class="citerefentry"><span class="refentrytitle">RFC1884</span></span>,
+ <span class="citerefentry"><span class="refentrytitle">inet_ntop</span>(3)</span>,
+ <span class="citerefentry"><span class="refentrytitle">errno</span>(3)</span>.
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_nooprequest_render, lwres_noopresponse_render, lwres_nooprequest_parse, lwres_noopresponse_parse, lwres_noopresponse_free, lwres_nooprequest_free \- lightweight resolver no\-op message handling
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwres\&.h>
.fi
.ft
-.sp
.HP \w'lwres_result_t\ lwres_nooprequest_render('u
.BI "lwres_result_t lwres_nooprequest_render(lwres_context_t\ *" "ctx" ", lwres_nooprequest_t\ *" "req" ", lwres_lwpacket_t\ *" "pkt" ", lwres_buffer_t\ *" "b" ");"
.HP \w'lwres_result_t\ lwres_noopresponse_render('u
.BI "void lwres_noopresponse_free(lwres_context_t\ *" "ctx" ", lwres_noopresponse_t\ **" "structp" ");"
.HP \w'void\ lwres_nooprequest_free('u
.BI "void lwres_nooprequest_free(lwres_context_t\ *" "ctx" ", lwres_nooprequest_t\ **" "structp" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
These are low\-level routines for creating and parsing lightweight resolver no\-op request and response messages\&.
- .PP
+.PP
The no\-op message is analogous to a
\fBping\fR
packet: a packet is sent to the resolver daemon and is simply echoed back\&. The opcode is intended to allow a client to determine if the server is operational or not\&.
- .PP
+.PP
There are four main functions for the no\-op opcode\&. One render function converts a no\-op request structure \(em
\fBlwres_nooprequest_t\fR
\(em to the lightweight resolver\*(Aqs canonical format\&. It is complemented by a parse function that converts a packet in this canonical format to a no\-op request structure\&. Another render function converts the no\-op response structure \(em
\fBlwres_noopresponse_t\fR
to the canonical format\&. This is complemented by a parse function which converts a packet in canonical format to a no\-op response structure\&.
- .PP
+.PP
These structures are defined in
lwres/lwres\&.h\&. They are shown below\&.
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
Although the structures have different types, they are identical\&. This is because the no\-op opcode simply echos whatever data was sent: the response is therefore identical to the request\&.
- .PP
+.PP
\fBlwres_nooprequest_render()\fR
uses resolver context
\fIctx\fR
performs the same task, except it converts a no\-op response structure
\fBlwres_noopresponse_t\fR
to the lightweight resolver\*(Aqs canonical format\&.
- .PP
+.PP
\fBlwres_nooprequest_parse()\fR
uses context
\fIctx\fR
except it yields a
\fBlwres_noopresponse_t\fR
structure\&.
- .PP
+.PP
\fBlwres_noopresponse_free()\fR
and
\fBlwres_nooprequest_free()\fR
\fBlwres_nooprequest_t\fR
structures referenced via
\fIstructp\fR\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
The no\-op opcode functions
\fBlwres_nooprequest_render()\fR,
\fBlwres_noopresponse_render()\fR
in the packet header structure
\fBlwres_lwpacket_t\fR
indicate that the packet is not a response to an earlier query\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBlwres_packet\fR(3)
.SH "AUTHOR"
.PP
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_nooprequest_render,
- lwres_noopresponse_render,
- lwres_nooprequest_parse,
- lwres_noopresponse_parse,
- lwres_noopresponse_free,
- lwres_nooprequest_free
- — lightweight resolver no-op message handling
- </p>
+<p>lwres_nooprequest_render, lwres_noopresponse_render, lwres_nooprequest_parse, lwres_noopresponse_parse, lwres_noopresponse_free, lwres_nooprequest_free — lightweight resolver no-op message handling</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">
#include <lwres/lwres.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
</table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p>
+<p>
These are low-level routines for creating and parsing
lightweight resolver no-op request and response messages.
</p>
- <p>
+<p>
The no-op message is analogous to a <span class="command"><strong>ping</strong></span>
packet:
a packet is sent to the resolver daemon and is simply echoed back.
The opcode is intended to allow a client to determine if the server is
operational or not.
</p>
- <p>
+<p>
There are four main functions for the no-op opcode.
One render function converts a no-op request structure —
<span class="type">lwres_nooprequest_t</span> —
This is complemented by a parse function which converts a packet in
canonical format to a no-op response structure.
</p>
- <p>
+<p>
These structures are defined in
<code class="filename">lwres/lwres.h</code>.
They are shown below.
</p>
- <pre class="programlisting">
+<pre class="programlisting">
#define LWRES_OPCODE_NOOP 0x00000000U
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct {
uint16_t datalength;
unsigned char *data;
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct {
uint16_t datalength;
unsigned char *data;
</pre>
<p>
</p>
- <p>
+<p>
Although the structures have different types, they are identical.
This is because the no-op opcode simply echos whatever data was sent:
the response is therefore identical to the request.
</p>
-
- <p><code class="function">lwres_nooprequest_render()</code>
+<p><code class="function">lwres_nooprequest_render()</code>
uses resolver context <em class="parameter"><code>ctx</code></em> to convert
no-op request structure <em class="parameter"><code>req</code></em> to canonical
format. The packet header structure <em class="parameter"><code>pkt</code></em>
<span class="type">lwres_noopresponse_t</span> to the lightweight resolver's
canonical format.
</p>
-
- <p><code class="function">lwres_nooprequest_parse()</code>
+<p><code class="function">lwres_nooprequest_parse()</code>
uses context <em class="parameter"><code>ctx</code></em> to convert the contents
of packet <em class="parameter"><code>pkt</code></em> to a
<span class="type">lwres_nooprequest_t</span> structure. Buffer
semantics as <code class="function">lwres_nooprequest_parse()</code>
except it yields a <span class="type">lwres_noopresponse_t</span> structure.
</p>
-
- <p><code class="function">lwres_noopresponse_free()</code>
+<p><code class="function">lwres_noopresponse_free()</code>
and <code class="function">lwres_nooprequest_free()</code> release the
memory in resolver context <em class="parameter"><code>ctx</code></em> that was
allocated to the <span class="type">lwres_noopresponse_t</span> or
<span class="type">lwres_nooprequest_t</span> structures referenced via
<em class="parameter"><code>structp</code></em>.
</p>
-
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
The no-op opcode functions
<code class="function">lwres_nooprequest_render()</code>,
<span class="type">lwres_lwpacket_t</span>
indicate that the packet is not a response to an earlier query.
</p>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
-
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_packet</span>(3)
- </span>
+<p><span class="citerefentry"><span class="refentrytitle">lwres_packet</span>(3)</span>
</p>
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_lwpacket_renderheader, lwres_lwpacket_parseheader \- lightweight resolver packet handling functions
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwpacket\&.h>
.fi
.ft
-.sp
.HP \w'lwres_result_t\ lwres_lwpacket_renderheader('u
.BI "lwres_result_t lwres_lwpacket_renderheader(lwres_buffer_t\ *" "b" ", lwres_lwpacket_t\ *" "pkt" ");"
.HP \w'lwres_result_t\ lwres_lwpacket_parseheader('u
.BI "lwres_result_t lwres_lwpacket_parseheader(lwres_buffer_t\ *" "b" ", lwres_lwpacket_t\ *" "pkt" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
These functions rely on a
\fBstruct lwres_lwpacket\fR
which is defined in
lwres/lwpacket\&.h\&.
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
.if n \{\
.RS 4
.\}
.if n \{\
.RE
.\}
-.sp
- .PP
+.PP
The elements of this structure are:
- .PP
+.PP
\fBlength\fR
.RS 4
- the overall packet length, including the entire packet header\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&.
- .RE
- .PP
+the overall packet length, including the entire packet header\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&.
+.RE
+.PP
\fBversion\fR
.RS 4
- the header format\&. There is currently only one format,
+the header format\&. There is currently only one format,
\fBLWRES_LWPACKETVERSION_0\fR\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&.
- .RE
- .PP
+.RE
+.PP
\fBpktflags\fR
.RS 4
- library\-defined flags for this packet: for instance whether the packet is a request or a reply\&. Flag values can be set, but not defined by the caller\&. This field is filled in by the application with the exception of the LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library in the lwres_gabn_*() and lwres_gnba_*() calls\&.
- .RE
- .PP
+library\-defined flags for this packet: for instance whether the packet is a request or a reply\&. Flag values can be set, but not defined by the caller\&. This field is filled in by the application with the exception of the LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library in the lwres_gabn_*() and lwres_gnba_*() calls\&.
+.RE
+.PP
\fBserial\fR
.RS 4
- is set by the requestor and is returned in all replies\&. If two or more packets from the same source have the same serial number and are from the same source, they are assumed to be duplicates and the latter ones may be dropped\&. This field must be set by the application\&.
- .RE
- .PP
+is set by the requestor and is returned in all replies\&. If two or more packets from the same source have the same serial number and are from the same source, they are assumed to be duplicates and the latter ones may be dropped\&. This field must be set by the application\&.
+.RE
+.PP
\fBopcode\fR
.RS 4
- indicates the operation\&. Opcodes between 0x00000000 and 0x03ffffff are reserved for use by the lightweight resolver library\&. Opcodes between 0x04000000 and 0xffffffff are application defined\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&.
- .RE
- .PP
+indicates the operation\&. Opcodes between 0x00000000 and 0x03ffffff are reserved for use by the lightweight resolver library\&. Opcodes between 0x04000000 and 0xffffffff are application defined\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&.
+.RE
+.PP
\fBresult\fR
.RS 4
- is only valid for replies\&. Results between 0x04000000 and 0xffffffff are application defined\&. Results between 0x00000000 and 0x03ffffff are reserved for library use\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&.
- .RE
- .PP
+is only valid for replies\&. Results between 0x04000000 and 0xffffffff are application defined\&. Results between 0x00000000 and 0x03ffffff are reserved for library use\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&.
+.RE
+.PP
\fBrecvlength\fR
.RS 4
- is the maximum buffer size that the receiver can handle on requests and the size of the buffer needed to satisfy a request when the buffer is too large for replies\&. This field is supplied by the application\&.
- .RE
- .PP
+is the maximum buffer size that the receiver can handle on requests and the size of the buffer needed to satisfy a request when the buffer is too large for replies\&. This field is supplied by the application\&.
+.RE
+.PP
\fBauthtype\fR
.RS 4
- defines the packet level authentication that is used\&. Authorisation types between 0x1000 and 0xffff are application defined and types between 0x0000 and 0x0fff are reserved for library use\&. Currently these are not used and must be zero\&.
- .RE
- .PP
+defines the packet level authentication that is used\&. Authorisation types between 0x1000 and 0xffff are application defined and types between 0x0000 and 0x0fff are reserved for library use\&. Currently these are not used and must be zero\&.
+.RE
+.PP
\fBauthlen\fR
.RS 4
- gives the length of the authentication data\&. Since packet authentication is currently not used, this must be zero\&.
- .RE
- .PP
+gives the length of the authentication data\&. Since packet authentication is currently not used, this must be zero\&.
+.RE
+.PP
The following opcodes are currently defined:
- .PP
+.PP
\fBNOOP\fR
.RS 4
- Success is always returned and the packet contents are echoed\&. The lwres_noop_*() functions should be used for this type\&.
- .RE
- .PP
+Success is always returned and the packet contents are echoed\&. The lwres_noop_*() functions should be used for this type\&.
+.RE
+.PP
\fBGETADDRSBYNAME\fR
.RS 4
- returns all known addresses for a given name\&. The lwres_gabn_*() functions should be used for this type\&.
- .RE
- .PP
+returns all known addresses for a given name\&. The lwres_gabn_*() functions should be used for this type\&.
+.RE
+.PP
\fBGETNAMEBYADDR\fR
.RS 4
- return the hostname for the given address\&. The lwres_gnba_*() functions should be used for this type\&.
- .RE
- .PP
+return the hostname for the given address\&. The lwres_gnba_*() functions should be used for this type\&.
+.RE
+.PP
\fBlwres_lwpacket_renderheader()\fR
transfers the contents of lightweight resolver packet structure
\fBlwres_lwpacket_t\fR
\fI*pkt\fR
in network byte order to the lightweight resolver buffer,
\fI*b\fR\&.
- .PP
+.PP
\fBlwres_lwpacket_parseheader()\fR
performs the converse operation\&. It transfers data in network byte order from buffer
\fI*b\fR
\fIb\fR
should correspond to a
\fBlwres_lwpacket_t\fR\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
Successful calls to
\fBlwres_lwpacket_renderheader()\fR
and
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_lwpacket_renderheader,
- lwres_lwpacket_parseheader
- — lightweight resolver packet handling functions
- </p>
+<p>lwres_lwpacket_renderheader, lwres_lwpacket_parseheader — lightweight resolver packet handling functions</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/lwpacket.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
- <p>
+<p>
These functions rely on a
<span class="type">struct lwres_lwpacket</span>
which is defined in
<code class="filename">lwres/lwpacket.h</code>.
</p>
-
- <pre class="programlisting">
+<pre class="programlisting">
typedef struct lwres_lwpacket lwres_lwpacket_t;
</pre>
<p>
</p>
- <pre class="programlisting">
+<pre class="programlisting">
struct lwres_lwpacket {
uint32_t length;
uint16_t version;
</pre>
<p>
</p>
-
- <p>
+<p>
The elements of this structure are:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">length</code></span></dt>
-<dd>
- <p>
+<dd><p>
the overall packet length, including the entire packet header.
This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
calls.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">version</code></span></dt>
-<dd>
- <p>
+<dd><p>
the header format. There is currently only one format,
<span class="type">LWRES_LWPACKETVERSION_0</span>.
This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
calls.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">pktflags</code></span></dt>
-<dd>
- <p>
+<dd><p>
library-defined flags for this packet: for instance whether the
packet
is a request or a reply. Flag values can be set, but not defined
LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library in
the
lwres_gabn_*() and lwres_gnba_*() calls.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">serial</code></span></dt>
-<dd>
- <p>
+<dd><p>
is set by the requestor and is returned in all replies. If two
or more
packets from the same source have the same serial number and are
latter ones
may be dropped.
This field must be set by the application.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">opcode</code></span></dt>
-<dd>
- <p>
+<dd><p>
indicates the operation.
Opcodes between 0x00000000 and 0x03ffffff are
reserved for use by the lightweight resolver library. Opcodes
0x04000000 and 0xffffffff are application defined.
This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
calls.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">result</code></span></dt>
-<dd>
- <p>
+<dd><p>
is only valid for replies.
Results between 0x04000000 and 0xffffffff are application
defined.
library use.
This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
calls.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">recvlength</code></span></dt>
-<dd>
- <p>
+<dd><p>
is the maximum buffer size that the receiver can handle on
requests
and the size of the buffer needed to satisfy a request when the
buffer
is too large for replies.
This field is supplied by the application.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">authtype</code></span></dt>
-<dd>
- <p>
+<dd><p>
defines the packet level authentication that is used.
Authorisation types between 0x1000 and 0xffff are application
defined
and types between 0x0000 and 0x0fff are reserved for library
use.
Currently these are not used and must be zero.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">authlen</code></span></dt>
-<dd>
- <p>
+<dd><p>
gives the length of the authentication data.
Since packet authentication is currently not used, this must be
zero.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
- <p>
+<p>
The following opcodes are currently defined:
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><code class="constant">NOOP</code></span></dt>
-<dd>
- <p>
+<dd><p>
Success is always returned and the packet contents are echoed.
The lwres_noop_*() functions should be used for this type.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">GETADDRSBYNAME</code></span></dt>
-<dd>
- <p>
+<dd><p>
returns all known addresses for a given name.
The lwres_gabn_*() functions should be used for this type.
- </p>
- </dd>
+ </p></dd>
<dt><span class="term"><code class="constant">GETNAMEBYADDR</code></span></dt>
-<dd>
- <p>
+<dd><p>
return the hostname for the given address.
The lwres_gnba_*() functions should be used for this type.
- </p>
- </dd>
+ </p></dd>
</dl></div>
<p>
</p>
-
- <p><code class="function">lwres_lwpacket_renderheader()</code>
+<p><code class="function">lwres_lwpacket_renderheader()</code>
transfers the contents of lightweight resolver packet structure
<span class="type">lwres_lwpacket_t</span> <em class="parameter"><code>*pkt</code></em> in
network byte order to the lightweight resolver buffer,
<em class="parameter"><code>*b</code></em>.
</p>
-
- <p><code class="function">lwres_lwpacket_parseheader()</code>
+<p><code class="function">lwres_lwpacket_parseheader()</code>
performs the converse operation. It transfers data in network
byte order from buffer <em class="parameter"><code>*b</code></em> to resolver
packet <em class="parameter"><code>*pkt</code></em>. The contents of the buffer
<em class="parameter"><code>b</code></em> should correspond to a
<span class="type">lwres_lwpacket_t</span>.
</p>
-
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
Successful calls to
<code class="function">lwres_lwpacket_renderheader()</code> and
<code class="function">lwres_lwpacket_parseheader()</code> return
functions
return <span class="errorcode">LWRES_R_UNEXPECTEDEND</span>.
</p>
-
- </div>
+</div>
</div></body>
</html>
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
- .SH "NAME"
+.SH "NAME"
lwres_string_parse, lwres_addr_parse, lwres_getaddrsbyname, lwres_getnamebyaddr \- lightweight resolver utility functions
- .SH "SYNOPSIS"
+.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/lwres\&.h>
.fi
.ft
-.sp
.HP \w'lwres_result_t\ lwres_string_parse('u
.BI "lwres_result_t lwres_string_parse(lwres_buffer_t\ *" "b" ", char\ **" "c" ", uint16_t\ *" "len" ");"
.HP \w'lwres_result_t\ lwres_addr_parse('u
.BI "lwres_result_t lwres_getaddrsbyname(lwres_context_t\ *" "ctx" ", const\ char\ *" "name" ", uint32_t\ " "addrtypes" ", lwres_gabnresponse_t\ **" "structp" ");"
.HP \w'lwres_result_t\ lwres_getnamebyaddr('u
.BI "lwres_result_t lwres_getnamebyaddr(lwres_context_t\ *" "ctx" ", uint32_t\ " "addrtype" ", uint16_t\ " "addrlen" ", const\ unsigned\ char\ *" "addr" ", lwres_gnbaresponse_t\ **" "structp" ");"
- .SH "DESCRIPTION"
- .PP
+.SH "DESCRIPTION"
+.PP
\fBlwres_string_parse()\fR
retrieves a DNS\-encoded string starting the current pointer of lightweight resolver buffer
\fIb\fR: i\&.e\&.
\fI*len\fR\&. The buffer\*(Aqs current pointer is advanced to point at the character following the string length, the encoded string, and the trailing
\fBNULL\fR
character\&.
- .PP
+.PP
\fBlwres_addr_parse()\fR
extracts an address from the buffer
\fIb\fR\&. The buffer\*(Aqs current pointer
indicates the size in bytes of the address that was copied\&.
\fBb\->current\fR
is advanced to point at the next byte of available data in the buffer following the encoded address\&.
- .PP
+.PP
\fBlwres_getaddrsbyname()\fR
and
\fBlwres_getnamebyaddr()\fR
.if n \{\
.RE
.\}
- .PP
+.PP
The contents of this structure are not manipulated directly but they are controlled through the
\fBlwres_gabn\fR(3)
functions\&.
- .PP
+.PP
The lightweight resolver uses
\fBlwres_getaddrsbyname()\fR
to perform forward lookups\&. Hostname
\fBLWRES_ADDRTYPE_V6\fR
for IPv6 addresses\&. Results of the lookup are returned in
\fI*structp\fR\&.
- .PP
+.PP
\fBlwres_getnamebyaddr()\fR
performs reverse lookups\&. Resolver context
\fIctx\fR
\fIaddrlen\fR
bytes\&. The result of the function call is made available through
\fI*structp\fR\&.
- .SH "RETURN VALUES"
- .PP
+.SH "RETURN VALUES"
+.PP
Successful calls to
\fBlwres_string_parse()\fR
and
if the buffer is corrupt or
\fBLWRES_R_UNEXPECTEDEND\fR
if the buffer has less space than expected for the components of the encoded string or address\&.
- .PP
+.PP
\fBlwres_getaddrsbyname()\fR
returns
\fBLWRES_R_SUCCESS\fR
if the hostname
\fIname\fR
could not be found\&.
- .PP
+.PP
\fBLWRES_R_SUCCESS\fR
is returned by a successful call to
\fBlwres_getnamebyaddr()\fR\&.
- .PP
+.PP
Both
\fBlwres_getaddrsbyname()\fR
and
when memory allocation requests fail and
\fBLWRES_R_UNEXPECTEDEND\fR
if the buffers used for sending queries and receiving replies are too small\&.
- .SH "SEE ALSO"
- .PP
+.SH "SEE ALSO"
+.PP
\fBlwres_buffer\fR(3),
\fBlwres_gabn\fR(3)\&.
.SH "AUTHOR"
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="id-1"></a><div class="titlepage"></div>
-
-
-
-
-
-
-
- <div class="refnamediv">
+<div class="refnamediv">
<h2>Name</h2>
-<p>
- lwres_string_parse,
- lwres_addr_parse,
- lwres_getaddrsbyname,
- lwres_getnamebyaddr
- — lightweight resolver utility functions
- </p>
+<p>lwres_string_parse, lwres_addr_parse, lwres_getaddrsbyname, lwres_getnamebyaddr — lightweight resolver utility functions</p>
</div>
- <div class="refsynopsisdiv">
+<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <div class="funcsynopsis">
+<div class="funcsynopsis">
<pre class="funcsynopsisinfo">#include <lwres/lwres.h></pre>
<table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;">
<tr>
</table>
<div class="funcprototype-spacer"> </div>
</div>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
-
-
- <p><code class="function">lwres_string_parse()</code>
+<p><code class="function">lwres_string_parse()</code>
retrieves a DNS-encoded string starting the current pointer of
lightweight resolver buffer <em class="parameter"><code>b</code></em>: i.e.
<code class="constant">b->current</code>. When the function returns,
string length, the encoded string, and the trailing
<span class="type">NULL</span> character.
</p>
-
- <p><code class="function">lwres_addr_parse()</code>
+<p><code class="function">lwres_addr_parse()</code>
extracts an address from the buffer <em class="parameter"><code>b</code></em>.
The buffer's current pointer <code class="constant">b->current</code>
is presumed to point at an encoded address: the address preceded
next byte of available data in the buffer following the encoded
address.
</p>
-
- <p><code class="function">lwres_getaddrsbyname()</code>
+<p><code class="function">lwres_getaddrsbyname()</code>
and <code class="function">lwres_getnamebyaddr()</code> use the
<span class="type">lwres_gnbaresponse_t</span> structure defined below:
</p>
-
<pre class="programlisting">
typedef struct {
uint32_t flags;
size_t baselen;
} lwres_gabnresponse_t;
</pre>
-
- <p>
+<p>
The contents of this structure are not manipulated directly but
they are controlled through the
- <span class="citerefentry">
- <span class="refentrytitle">lwres_gabn</span>(3)
- </span>
+ <span class="citerefentry"><span class="refentrytitle">lwres_gabn</span>(3)</span>
functions.
</p>
-
- <p>
+<p>
The lightweight resolver uses
<code class="function">lwres_getaddrsbyname()</code> to perform
forward lookups.
<span class="type">LWRES_ADDRTYPE_V6</span> for IPv6 addresses. Results of the
lookup are returned in <em class="parameter"><code>*structp</code></em>.
</p>
-
- <p><code class="function">lwres_getnamebyaddr()</code>
+<p><code class="function">lwres_getnamebyaddr()</code>
performs reverse lookups. Resolver context
<em class="parameter"><code>ctx</code></em> is used for memory allocation. The
address type is indicated by <em class="parameter"><code>addrtype</code></em>:
function call is made available through
<em class="parameter"><code>*structp</code></em>.
</p>
- </div>
-
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.8"></a><h2>RETURN VALUES</h2>
-
- <p>
+<p>
Successful calls to
<code class="function">lwres_string_parse()</code>
and
if the buffer has less space than expected for the components of the
encoded string or address.
</p>
-
- <p><code class="function">lwres_getaddrsbyname()</code>
+<p><code class="function">lwres_getaddrsbyname()</code>
returns <span class="errorcode">LWRES_R_SUCCESS</span> on success and it
returns <span class="errorcode">LWRES_R_NOTFOUND</span> if the hostname
<em class="parameter"><code>name</code></em> could not be found.
</p>
- <p><span class="errorcode">LWRES_R_SUCCESS</span>
+<p><span class="errorcode">LWRES_R_SUCCESS</span>
is returned by a successful call to
<code class="function">lwres_getnamebyaddr()</code>.
</p>
-
- <p>
+<p>
Both
<code class="function">lwres_getaddrsbyname()</code>
and
if the buffers used for sending queries and receiving replies are too
small.
</p>
-
- </div>
- <div class="refsection">
+</div>
+<div class="refsection">
<a name="id-1.9"></a><h2>SEE ALSO</h2>
+<p><span class="citerefentry"><span class="refentrytitle">lwres_buffer</span>(3)</span>,
- <p><span class="citerefentry">
- <span class="refentrytitle">lwres_buffer</span>(3)
- </span>,
-
- <span class="citerefentry">
- <span class="refentrytitle">lwres_gabn</span>(3)
- </span>.
+ <span class="citerefentry"><span class="refentrytitle">lwres_gabn</span>(3)</span>.
</p>
-
- </div>
+</div>
</div></body>
</html>
DESCRIPTION="(Extended Support Version)"
MAJORVER=9
MINORVER=11
-PATCHVER=25
+PATCHVER=26
RELEASETYPE=
RELEASEVER=
EXTENSIONS=