7afecc12f4
This version has many new features, see /usr/share/doc/bind9/README for details.
769 lines
26 KiB
Plaintext
769 lines
26 KiB
Plaintext
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
|
[<!ENTITY mdash "—">]>
|
|
<!--
|
|
- Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
|
|
- Copyright (C) 2000-2003 Internet Software Consortium.
|
|
-
|
|
- Permission to use, copy, modify, and/or distribute this software for any
|
|
- purpose with or without fee is hereby granted, provided that the above
|
|
- copyright notice and this permission notice appear in all copies.
|
|
-
|
|
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
|
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
|
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
- PERFORMANCE OF THIS SOFTWARE.
|
|
-->
|
|
|
|
<!-- $Id: nsupdate.docbook,v 1.44 2010-07-09 23:46:51 tbox Exp $ -->
|
|
<refentry id="man.nsupdate">
|
|
<refentryinfo>
|
|
<date>Aug 25, 2009</date>
|
|
</refentryinfo>
|
|
<refmeta>
|
|
<refentrytitle><application>nsupdate</application></refentrytitle>
|
|
<manvolnum>1</manvolnum>
|
|
<refmiscinfo>BIND9</refmiscinfo>
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname><application>nsupdate</application></refname>
|
|
<refpurpose>Dynamic DNS update utility</refpurpose>
|
|
</refnamediv>
|
|
|
|
<docinfo>
|
|
<copyright>
|
|
<year>2004</year>
|
|
<year>2005</year>
|
|
<year>2006</year>
|
|
<year>2007</year>
|
|
<year>2008</year>
|
|
<year>2009</year>
|
|
<year>2010</year>
|
|
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
|
</copyright>
|
|
<copyright>
|
|
<year>2000</year>
|
|
<year>2001</year>
|
|
<year>2002</year>
|
|
<year>2003</year>
|
|
<holder>Internet Software Consortium.</holder>
|
|
</copyright>
|
|
</docinfo>
|
|
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>nsupdate</command>
|
|
<arg><option>-d</option></arg>
|
|
<arg><option>-D</option></arg>
|
|
<group>
|
|
<arg><option>-g</option></arg>
|
|
<arg><option>-o</option></arg>
|
|
<arg><option>-l</option></arg>
|
|
<arg><option>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></option></arg>
|
|
<arg><option>-k <replaceable class="parameter">keyfile</replaceable></option></arg>
|
|
</group>
|
|
<arg><option>-t <replaceable class="parameter">timeout</replaceable></option></arg>
|
|
<arg><option>-u <replaceable class="parameter">udptimeout</replaceable></option></arg>
|
|
<arg><option>-r <replaceable class="parameter">udpretries</replaceable></option></arg>
|
|
<arg><option>-R <replaceable class="parameter">randomdev</replaceable></option></arg>
|
|
<arg><option>-v</option></arg>
|
|
<arg>filename</arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>DESCRIPTION</title>
|
|
<para><command>nsupdate</command>
|
|
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.
|
|
</para>
|
|
<para>
|
|
Zones that are under dynamic control via
|
|
<command>nsupdate</command>
|
|
or a DHCP server should not be edited by hand.
|
|
Manual edits could
|
|
conflict with dynamic updates and cause data to be lost.
|
|
</para>
|
|
<para>
|
|
The resource records that are dynamically added or removed with
|
|
<command>nsupdate</command>
|
|
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.
|
|
</para>
|
|
<para>
|
|
The
|
|
<option>-d</option>
|
|
option makes
|
|
<command>nsupdate</command>
|
|
operate in debug mode.
|
|
This provides tracing information about the update requests that are
|
|
made and the replies received from the name server.
|
|
</para>
|
|
<para>
|
|
The <option>-D</option> option makes <command>nsupdate</command>
|
|
report additional debugging information to <option>-d</option>.
|
|
</para>
|
|
<para>
|
|
The <option>-L</option> option with an integer argument of zero or
|
|
higher sets the logging debug level. If zero, logging is disabled.
|
|
</para>
|
|
<para>
|
|
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. TSIG relies on
|
|
a shared secret that should only be known to
|
|
<command>nsupdate</command> and the name server. Currently,
|
|
the only supported encryption algorithm for TSIG is HMAC-MD5,
|
|
which is defined in RFC 2104. Once other algorithms are
|
|
defined for TSIG, applications will need to ensure they select
|
|
the appropriate algorithm as well as the key when authenticating
|
|
each other. For instance, suitable <type>key</type> and
|
|
<type>server</type> statements would be added to
|
|
<filename>/etc/named.conf</filename> so that the name server
|
|
can associate the appropriate secret key and algorithm with
|
|
the IP address of the client application that will be using
|
|
TSIG authentication. 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.
|
|
<command>nsupdate</command> does not read
|
|
<filename>/etc/named.conf</filename>.
|
|
</para>
|
|
<para>
|
|
GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode
|
|
is switched on with the <option>-g</option> flag. A
|
|
non-standards-compliant variant of GSS-TSIG used by Windows
|
|
2000 can be switched on with the <option>-o</option> flag.
|
|
</para>
|
|
<para><command>nsupdate</command>
|
|
uses the <option>-y</option> or <option>-k</option> option
|
|
to provide the shared secret needed to generate a TSIG record
|
|
for authenticating Dynamic DNS update requests, default type
|
|
HMAC-MD5. These options are mutually exclusive.
|
|
</para>
|
|
<para>
|
|
When the <option>-y</option> option is used, a signature is
|
|
generated from
|
|
<optional><parameter>hmac:</parameter></optional><parameter>keyname:secret.</parameter>
|
|
<parameter>keyname</parameter> is the name of the key, and
|
|
<parameter>secret</parameter> is the base64 encoded shared secret.
|
|
Use of the <option>-y</option> 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
|
|
<citerefentry>
|
|
<refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum>
|
|
</citerefentry>
|
|
or in a history file maintained by the user's shell.
|
|
</para>
|
|
<para>
|
|
With the
|
|
<option>-k</option> option, <command>nsupdate</command> reads
|
|
the shared secret from the file <parameter>keyfile</parameter>.
|
|
Keyfiles may be in two formats: a single file containing
|
|
a <filename>named.conf</filename>-format <command>key</command>
|
|
statement, which may be generated automatically by
|
|
<command>ddns-confgen</command>, or a pair of files whose names are
|
|
of the format <filename>K{name}.+157.+{random}.key</filename> and
|
|
<filename>K{name}.+157.+{random}.private</filename>, which can be
|
|
generated by <command>dnssec-keygen</command>.
|
|
The <option>-k</option> 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.
|
|
</para>
|
|
<para>
|
|
<command>nsupdate</command> can be run in a local-host only mode
|
|
using the <option>-l</option> flag. This sets the server address to
|
|
localhost (disabling the <command>server</command> so that the server
|
|
address cannot be overridden). Connections to the local server will
|
|
use a TSIG key found in <filename>/var/run/named/session.key</filename>,
|
|
which is automatically generated by <command>named</command> if any
|
|
local master zone has set <command>update-policy</command> to
|
|
<command>local</command>. The location of this key file can be
|
|
overridden with the <option>-k</option> option.
|
|
</para>
|
|
<para>
|
|
By default, <command>nsupdate</command>
|
|
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.
|
|
The
|
|
<option>-v</option>
|
|
option makes
|
|
<command>nsupdate</command>
|
|
use a TCP connection.
|
|
This may be preferable when a batch of update requests is made.
|
|
</para>
|
|
<para>
|
|
The <option>-p</option> sets the default port number to use for
|
|
connections to a name server. The default is 53.
|
|
</para>
|
|
<para>
|
|
The <option>-t</option> option sets 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.
|
|
</para>
|
|
<para>
|
|
The <option>-u</option> option sets 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.
|
|
</para>
|
|
<para>
|
|
The <option>-r</option> option sets the number of UDP retries. The
|
|
default is
|
|
3. If zero, only one update request will be made.
|
|
</para>
|
|
<para>
|
|
The <option>-R <replaceable
|
|
class="parameter">randomdev</replaceable></option> option
|
|
specifies a source of randomness. If the operating system
|
|
does not provide a <filename>/dev/random</filename> or
|
|
equivalent device, the default source of randomness is keyboard
|
|
input. <filename>randomdev</filename> specifies the name of
|
|
a character device or file containing random data to be used
|
|
instead of the default. The special value
|
|
<filename>keyboard</filename> indicates that keyboard input
|
|
should be used. This option may be specified multiple times.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>INPUT FORMAT</title>
|
|
<para><command>nsupdate</command>
|
|
reads input from
|
|
<parameter>filename</parameter>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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 <command>send</command> command)
|
|
causes the
|
|
accumulated commands to be sent as one Dynamic DNS update request to the
|
|
name server.
|
|
</para>
|
|
<para>
|
|
The command formats and their meaning are as follows:
|
|
<variablelist>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>server</command>
|
|
<arg choice="req">servername</arg>
|
|
<arg choice="opt">port</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Sends all dynamic update requests to the name server
|
|
<parameter>servername</parameter>.
|
|
When no server statement is provided,
|
|
<command>nsupdate</command>
|
|
will send updates to the master server of the correct zone.
|
|
The MNAME field of that zone's SOA record will identify the
|
|
master
|
|
server for that zone.
|
|
<parameter>port</parameter>
|
|
is the port number on
|
|
<parameter>servername</parameter>
|
|
where the dynamic update requests get sent.
|
|
If no port number is specified, the default DNS port number of
|
|
53 is
|
|
used.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>local</command>
|
|
<arg choice="req">address</arg>
|
|
<arg choice="opt">port</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Sends all dynamic update requests using the local
|
|
<parameter>address</parameter>.
|
|
|
|
When no local statement is provided,
|
|
<command>nsupdate</command>
|
|
will send updates using an address and port chosen by the
|
|
system.
|
|
<parameter>port</parameter>
|
|
can additionally be used to make requests come from a specific
|
|
port.
|
|
If no port number is specified, the system will assign one.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>zone</command>
|
|
<arg choice="req">zonename</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Specifies that all updates are to be made to the zone
|
|
<parameter>zonename</parameter>.
|
|
If no
|
|
<parameter>zone</parameter>
|
|
statement is provided,
|
|
<command>nsupdate</command>
|
|
will attempt determine the correct zone to update based on the
|
|
rest of the input.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>class</command>
|
|
<arg choice="req">classname</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Specify the default class.
|
|
If no <parameter>class</parameter> is specified, the
|
|
default class is
|
|
<parameter>IN</parameter>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>ttl</command>
|
|
<arg choice="req">seconds</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Specify the default time to live for records to be added.
|
|
The value <parameter>none</parameter> will clear the default
|
|
ttl.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>key</command>
|
|
<arg choice="req">name</arg>
|
|
<arg choice="req">secret</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Specifies that all updates are to be TSIG-signed using the
|
|
<parameter>keyname</parameter> <parameter>keysecret</parameter> pair.
|
|
The <command>key</command> command
|
|
overrides any key specified on the command line via
|
|
<option>-y</option> or <option>-k</option>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>gsstsig</command>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Use GSS-TSIG to sign the updated. This is equivalent to
|
|
specifying <option>-g</option> on the commandline.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>oldgsstsig</command>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Use the Windows 2000 version of GSS-TSIG to sign the updated.
|
|
This is equivalent to specifying <option>-o</option> on the
|
|
commandline.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>realm</command>
|
|
<arg choice="req"><optional>realm_name</optional></arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
When using GSS-TSIG use <parameter>realm_name</parameter> rather
|
|
than the default realm in <filename>krb5.conf</filename>. If no
|
|
realm is specified the saved realm is cleared.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>prereq nxdomain</command>
|
|
<arg choice="req">domain-name</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Requires that no resource record of any type exists with name
|
|
<parameter>domain-name</parameter>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>prereq yxdomain</command>
|
|
<arg choice="req">domain-name</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Requires that
|
|
<parameter>domain-name</parameter>
|
|
exists (has as at least one resource record, of any type).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>prereq nxrrset</command>
|
|
<arg choice="req">domain-name</arg>
|
|
<arg choice="opt">class</arg>
|
|
<arg choice="req">type</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Requires that no resource record exists of the specified
|
|
<parameter>type</parameter>,
|
|
<parameter>class</parameter>
|
|
and
|
|
<parameter>domain-name</parameter>.
|
|
If
|
|
<parameter>class</parameter>
|
|
is omitted, IN (internet) is assumed.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>prereq yxrrset</command>
|
|
<arg choice="req">domain-name</arg>
|
|
<arg choice="opt">class</arg>
|
|
<arg choice="req">type</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
This requires that a resource record of the specified
|
|
<parameter>type</parameter>,
|
|
<parameter>class</parameter>
|
|
and
|
|
<parameter>domain-name</parameter>
|
|
must exist.
|
|
If
|
|
<parameter>class</parameter>
|
|
is omitted, IN (internet) is assumed.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>prereq yxrrset</command>
|
|
<arg choice="req">domain-name</arg>
|
|
<arg choice="opt">class</arg>
|
|
<arg choice="req">type</arg>
|
|
<arg choice="req" rep="repeat">data</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
The
|
|
<parameter>data</parameter>
|
|
from each set of prerequisites of this form
|
|
sharing a common
|
|
<parameter>type</parameter>,
|
|
<parameter>class</parameter>,
|
|
and
|
|
<parameter>domain-name</parameter>
|
|
are combined to form a set of RRs. This set of RRs must
|
|
exactly match the set of RRs existing in the zone at the
|
|
given
|
|
<parameter>type</parameter>,
|
|
<parameter>class</parameter>,
|
|
and
|
|
<parameter>domain-name</parameter>.
|
|
The
|
|
<parameter>data</parameter>
|
|
are written in the standard text representation of the resource
|
|
record's
|
|
RDATA.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>update delete</command>
|
|
<arg choice="req">domain-name</arg>
|
|
<arg choice="opt">ttl</arg>
|
|
<arg choice="opt">class</arg>
|
|
<arg choice="opt">type <arg choice="opt" rep="repeat">data</arg></arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Deletes any resource records named
|
|
<parameter>domain-name</parameter>.
|
|
If
|
|
<parameter>type</parameter>
|
|
and
|
|
<parameter>data</parameter>
|
|
is provided, only matching resource records will be removed.
|
|
The internet class is assumed if
|
|
<parameter>class</parameter>
|
|
is not supplied. The
|
|
<parameter>ttl</parameter>
|
|
is ignored, and is only allowed for compatibility.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>update add</command>
|
|
<arg choice="req">domain-name</arg>
|
|
<arg choice="req">ttl</arg>
|
|
<arg choice="opt">class</arg>
|
|
<arg choice="req">type</arg>
|
|
<arg choice="req" rep="repeat">data</arg>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Adds a new resource record with the specified
|
|
<parameter>ttl</parameter>,
|
|
<parameter>class</parameter>
|
|
and
|
|
<parameter>data</parameter>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>show</command>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Displays the current message, containing all of the
|
|
prerequisites and
|
|
updates specified since the last send.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>send</command>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Sends the current message. This is equivalent to entering a
|
|
blank line.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>answer</command>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Displays the answer.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<command>debug</command>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Turn on debugging.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
Lines beginning with a semicolon are comments and are ignored.
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>EXAMPLES</title>
|
|
<para>
|
|
The examples below show how
|
|
<command>nsupdate</command>
|
|
could be used to insert and delete resource records from the
|
|
<type>example.com</type>
|
|
zone.
|
|
Notice that the input in each example contains a trailing blank line so
|
|
that
|
|
a group of commands are sent as one dynamic update request to the
|
|
master name server for
|
|
<type>example.com</type>.
|
|
|
|
<programlisting>
|
|
# nsupdate
|
|
> update delete oldhost.example.com A
|
|
> update add newhost.example.com 86400 A 172.16.1.1
|
|
> send
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
Any A records for
|
|
<type>oldhost.example.com</type>
|
|
are deleted.
|
|
And an A record for
|
|
<type>newhost.example.com</type>
|
|
with IP address 172.16.1.1 is added.
|
|
The newly-added record has a 1 day TTL (86400 seconds).
|
|
<programlisting>
|
|
# nsupdate
|
|
> prereq nxdomain nickname.example.com
|
|
> update add nickname.example.com 86400 CNAME somehost.example.com
|
|
> send
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
The prerequisite condition gets the name server to check that there
|
|
are no resource records of any type for
|
|
<type>nickname.example.com</type>.
|
|
|
|
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.)
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>FILES</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><constant>/etc/resolv.conf</constant></term>
|
|
<listitem>
|
|
<para>
|
|
used to identify default name server
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><constant>/var/run/named/session.key</constant></term>
|
|
<listitem>
|
|
<para>
|
|
sets the default TSIG key for use in local-only mode
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><constant>K{name}.+157.+{random}.key</constant></term>
|
|
<listitem>
|
|
<para>
|
|
base-64 encoding of HMAC-MD5 key created by
|
|
<citerefentry>
|
|
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
|
|
</citerefentry>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><constant>K{name}.+157.+{random}.private</constant></term>
|
|
<listitem>
|
|
<para>
|
|
base-64 encoding of HMAC-MD5 key created by
|
|
<citerefentry>
|
|
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
|
|
</citerefentry>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>SEE ALSO</title>
|
|
<para>
|
|
<citetitle>RFC 2136</citetitle>,
|
|
<citetitle>RFC 3007</citetitle>,
|
|
<citetitle>RFC 2104</citetitle>,
|
|
<citetitle>RFC 2845</citetitle>,
|
|
<citetitle>RFC 1034</citetitle>,
|
|
<citetitle>RFC 2535</citetitle>,
|
|
<citetitle>RFC 2931</citetitle>,
|
|
<citerefentry>
|
|
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>ddns-confgen</refentrytitle><manvolnum>8</manvolnum>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
|
|
</citerefentry>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>BUGS</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</refsect1>
|
|
</refentry><!--
|
|
- Local variables:
|
|
- mode: sgml
|
|
- End:
|
|
-->
|