2004-09-19 01:30:24 +00:00
|
|
|
<!--
|
2007-06-02 23:21:47 +00:00
|
|
|
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
2005-12-29 04:22:58 +00:00
|
|
|
- Copyright (C) 2000-2003 Internet Software Consortium.
|
|
|
|
-
|
2004-09-19 01:30:24 +00:00
|
|
|
- Permission to use, copy, modify, and 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.
|
2005-12-29 04:22:58 +00:00
|
|
|
-
|
2004-09-19 01:30:24 +00:00
|
|
|
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
|
|
|
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
2005-12-29 04:22:58 +00:00
|
|
|
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
2004-09-19 01:30:24 +00:00
|
|
|
- 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.
|
|
|
|
-->
|
2007-12-02 19:10:41 +00:00
|
|
|
<!-- $Id: nsupdate.html,v 1.14.18.22 2007/05/09 03:33:13 marka Exp $ -->
|
2005-12-29 04:22:58 +00:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
|
|
<title>nsupdate</title>
|
2007-06-02 23:21:47 +00:00
|
|
|
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
|
2005-12-29 04:22:58 +00:00
|
|
|
</head>
|
|
|
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
|
2007-06-02 23:21:47 +00:00
|
|
|
<a name="id2476275"></a><div class="titlepage"></div>
|
2005-12-29 04:22:58 +00:00
|
|
|
<div class="refnamediv">
|
|
|
|
<h2>Name</h2>
|
|
|
|
<p>nsupdate — Dynamic DNS update utility</p>
|
|
|
|
</div>
|
|
|
|
<div class="refsynopsisdiv">
|
|
|
|
<h2>Synopsis</h2>
|
2007-06-02 23:21:47 +00:00
|
|
|
<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</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">-v</code>] [filename]</p></div>
|
2005-12-29 04:22:58 +00:00
|
|
|
</div>
|
|
|
|
<div class="refsect1" lang="en">
|
2007-06-02 23:21:47 +00:00
|
|
|
<a name="id2543417"></a><h2>DESCRIPTION</h2>
|
|
|
|
<p><span><strong class="command">nsupdate</strong></span>
|
|
|
|
is used to submit Dynamic DNS Update requests as defined in RFC2136
|
|
|
|
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.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Zones that are under dynamic control via
|
|
|
|
<span><strong class="command">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>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
The resource records that are dynamically added or removed with
|
|
|
|
<span><strong class="command">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>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
The
|
|
|
|
<code class="option">-d</code>
|
|
|
|
option makes
|
|
|
|
<span><strong class="command">nsupdate</strong></span>
|
|
|
|
operate in debug mode.
|
|
|
|
This provides tracing information about the update requests that are
|
|
|
|
made and the replies received from the name server.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Transaction signatures can be used to authenticate the Dynamic DNS
|
|
|
|
updates.
|
|
|
|
These use the TSIG resource record type described in RFC2845 or the
|
|
|
|
SIG(0) record described in RFC3535 and RFC2931.
|
|
|
|
TSIG relies on a shared secret that should only be known to
|
|
|
|
<span><strong class="command">nsupdate</strong></span> 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.
|
2007-12-02 19:10:41 +00:00
|
|
|
For instance, suitable
|
2007-06-02 23:21:47 +00:00
|
|
|
<span class="type">key</span>
|
|
|
|
and
|
|
|
|
<span class="type">server</span>
|
|
|
|
statements would be added to
|
|
|
|
<code class="filename">/etc/named.conf</code>
|
|
|
|
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.
|
|
|
|
<span><strong class="command">nsupdate</strong></span>
|
|
|
|
does not read
|
|
|
|
<code class="filename">/etc/named.conf</code>.
|
|
|
|
</p>
|
|
|
|
<p><span><strong class="command">nsupdate</strong></span>
|
|
|
|
uses the <code class="option">-y</code> or <code class="option">-k</code> 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. With the
|
|
|
|
<code class="option">-k</code> option, <span><strong class="command">nsupdate</strong></span> reads
|
|
|
|
the shared secret from the file <em class="parameter"><code>keyfile</code></em>,
|
|
|
|
whose name is of the form
|
|
|
|
<code class="filename">K{name}.+157.+{random}.private</code>. For
|
|
|
|
historical reasons, the file
|
|
|
|
<code class="filename">K{name}.+157.+{random}.key</code> must also be
|
|
|
|
present. When the <code class="option">-y</code> option is used, a
|
|
|
|
signature is generated from
|
|
|
|
[<span class="optional"><em class="parameter"><code>hmac:</code></em></span>]<em class="parameter"><code>keyname:secret.</code></em>
|
|
|
|
<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. 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> or in a history file maintained by the user's
|
|
|
|
shell.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
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>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
By default
|
|
|
|
<span><strong class="command">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.
|
|
|
|
The
|
|
|
|
<code class="option">-v</code>
|
|
|
|
option makes
|
|
|
|
<span><strong class="command">nsupdate</strong></span>
|
|
|
|
use a TCP connection.
|
|
|
|
This may be preferable when a batch of update requests is made.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-12-02 19:10:41 +00:00
|
|
|
The <code class="option">-t</code> option sets the maximum time an update request
|
2007-06-02 23:21:47 +00:00
|
|
|
can
|
|
|
|
take before it is aborted. The default is 300 seconds. Zero can be
|
|
|
|
used
|
|
|
|
to disable the timeout.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
The <code class="option">-u</code> option sets the UDP retry interval. The default
|
|
|
|
is
|
2007-12-02 19:10:41 +00:00
|
|
|
3 seconds. If zero, the interval will be computed from the timeout
|
2007-06-02 23:21:47 +00:00
|
|
|
interval
|
|
|
|
and number of UDP retries.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
The <code class="option">-r</code> option sets the number of UDP retries. The
|
|
|
|
default is
|
2007-12-02 19:10:41 +00:00
|
|
|
3. If zero, only one update request will be made.
|
2007-06-02 23:21:47 +00:00
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
</div>
|
|
|
|
<div class="refsect1" lang="en">
|
2007-06-02 23:21:47 +00:00
|
|
|
<a name="id2543645"></a><h2>INPUT FORMAT</h2>
|
|
|
|
<p><span><strong class="command">nsupdate</strong></span>
|
|
|
|
reads input from
|
|
|
|
<em class="parameter"><code>filename</code></em>
|
|
|
|
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.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
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 <span><strong class="command">send</strong></span> command)
|
|
|
|
causes the
|
|
|
|
accumulated commands to be sent as one Dynamic DNS update request to the
|
|
|
|
name server.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
The command formats and their meaning are as follows:
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<div class="variablelist"><dl>
|
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">server</strong></span>
|
|
|
|
{servername}
|
|
|
|
[port]
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Sends all dynamic update requests to the name server
|
|
|
|
<em class="parameter"><code>servername</code></em>.
|
|
|
|
When no server statement is provided,
|
|
|
|
<span><strong class="command">nsupdate</strong></span>
|
|
|
|
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.
|
|
|
|
<em class="parameter"><code>port</code></em>
|
|
|
|
is the port number on
|
|
|
|
<em class="parameter"><code>servername</code></em>
|
|
|
|
where the dynamic update requests get sent.
|
|
|
|
If no port number is specified, the default DNS port number of
|
|
|
|
53 is
|
|
|
|
used.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">local</strong></span>
|
|
|
|
{address}
|
|
|
|
[port]
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Sends all dynamic update requests using the local
|
|
|
|
<em class="parameter"><code>address</code></em>.
|
2004-09-19 01:30:24 +00:00
|
|
|
|
2007-06-02 23:21:47 +00:00
|
|
|
When no local statement is provided,
|
|
|
|
<span><strong class="command">nsupdate</strong></span>
|
|
|
|
will send updates using an address and port chosen by the
|
|
|
|
system.
|
|
|
|
<em class="parameter"><code>port</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>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">zone</strong></span>
|
|
|
|
{zonename}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Specifies that all updates are to be made to the zone
|
|
|
|
<em class="parameter"><code>zonename</code></em>.
|
|
|
|
If no
|
|
|
|
<em class="parameter"><code>zone</code></em>
|
|
|
|
statement is provided,
|
|
|
|
<span><strong class="command">nsupdate</strong></span>
|
|
|
|
will attempt determine the correct zone to update based on the
|
|
|
|
rest of the input.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">class</strong></span>
|
|
|
|
{classname}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Specify the default class.
|
2007-12-02 19:10:41 +00:00
|
|
|
If no <em class="parameter"><code>class</code></em> is specified, the
|
2007-06-02 23:21:47 +00:00
|
|
|
default class is
|
|
|
|
<em class="parameter"><code>IN</code></em>.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">key</strong></span>
|
|
|
|
{name}
|
|
|
|
{secret}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-12-02 19:10:41 +00:00
|
|
|
Specifies that all updates are to be TSIG-signed using the
|
2007-06-02 23:21:47 +00:00
|
|
|
<em class="parameter"><code>keyname</code></em> <em class="parameter"><code>keysecret</code></em> pair.
|
|
|
|
The <span><strong class="command">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>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">prereq nxdomain</strong></span>
|
|
|
|
{domain-name}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Requires that no resource record of any type exists with name
|
|
|
|
<em class="parameter"><code>domain-name</code></em>.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">prereq yxdomain</strong></span>
|
|
|
|
{domain-name}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Requires that
|
|
|
|
<em class="parameter"><code>domain-name</code></em>
|
|
|
|
exists (has as at least one resource record, of any type).
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">prereq nxrrset</strong></span>
|
|
|
|
{domain-name}
|
|
|
|
[class]
|
|
|
|
{type}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Requires that no resource record exists of the specified
|
|
|
|
<em class="parameter"><code>type</code></em>,
|
|
|
|
<em class="parameter"><code>class</code></em>
|
|
|
|
and
|
|
|
|
<em class="parameter"><code>domain-name</code></em>.
|
|
|
|
If
|
|
|
|
<em class="parameter"><code>class</code></em>
|
|
|
|
is omitted, IN (internet) is assumed.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">prereq yxrrset</strong></span>
|
|
|
|
{domain-name}
|
|
|
|
[class]
|
|
|
|
{type}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
This requires that a resource record of the specified
|
|
|
|
<em class="parameter"><code>type</code></em>,
|
|
|
|
<em class="parameter"><code>class</code></em>
|
|
|
|
and
|
|
|
|
<em class="parameter"><code>domain-name</code></em>
|
|
|
|
must exist.
|
|
|
|
If
|
|
|
|
<em class="parameter"><code>class</code></em>
|
|
|
|
is omitted, IN (internet) is assumed.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">prereq yxrrset</strong></span>
|
|
|
|
{domain-name}
|
|
|
|
[class]
|
|
|
|
{type}
|
|
|
|
{data...}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
The
|
|
|
|
<em class="parameter"><code>data</code></em>
|
|
|
|
from each set of prerequisites of this form
|
|
|
|
sharing a common
|
|
|
|
<em class="parameter"><code>type</code></em>,
|
|
|
|
<em class="parameter"><code>class</code></em>,
|
|
|
|
and
|
|
|
|
<em class="parameter"><code>domain-name</code></em>
|
|
|
|
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
|
|
|
|
<em class="parameter"><code>type</code></em>,
|
|
|
|
<em class="parameter"><code>class</code></em>,
|
|
|
|
and
|
|
|
|
<em class="parameter"><code>domain-name</code></em>.
|
|
|
|
The
|
|
|
|
<em class="parameter"><code>data</code></em>
|
|
|
|
are written in the standard text representation of the resource
|
|
|
|
record's
|
|
|
|
RDATA.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">update delete</strong></span>
|
|
|
|
{domain-name}
|
|
|
|
[ttl]
|
|
|
|
[class]
|
|
|
|
[type [data...]]
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Deletes any resource records named
|
|
|
|
<em class="parameter"><code>domain-name</code></em>.
|
|
|
|
If
|
|
|
|
<em class="parameter"><code>type</code></em>
|
|
|
|
and
|
|
|
|
<em class="parameter"><code>data</code></em>
|
|
|
|
is provided, only matching resource records will be removed.
|
|
|
|
The internet class is assumed if
|
|
|
|
<em class="parameter"><code>class</code></em>
|
|
|
|
is not supplied. The
|
|
|
|
<em class="parameter"><code>ttl</code></em>
|
|
|
|
is ignored, and is only allowed for compatibility.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">update add</strong></span>
|
|
|
|
{domain-name}
|
|
|
|
{ttl}
|
|
|
|
[class]
|
|
|
|
{type}
|
|
|
|
{data...}
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
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>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">show</strong></span>
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Displays the current message, containing all of the
|
|
|
|
prerequisites and
|
|
|
|
updates specified since the last send.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">send</strong></span>
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Sends the current message. This is equivalent to entering a
|
|
|
|
blank line.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term">
|
2007-06-02 23:21:47 +00:00
|
|
|
<span><strong class="command">answer</strong></span>
|
|
|
|
</span></dt>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Displays the answer.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
</dl></div>
|
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Lines beginning with a semicolon are comments and are ignored.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
</div>
|
|
|
|
<div class="refsect1" lang="en">
|
2007-12-02 19:10:41 +00:00
|
|
|
<a name="id2544648"></a><h2>EXAMPLES</h2>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
The examples below show how
|
|
|
|
<span><strong class="command">nsupdate</strong></span>
|
|
|
|
could be used to insert and delete resource records from the
|
|
|
|
<span class="type">example.com</span>
|
|
|
|
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
|
|
|
|
<span class="type">example.com</span>.
|
2004-09-19 01:30:24 +00:00
|
|
|
|
2007-06-02 23:21:47 +00:00
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<pre class="programlisting">
|
|
|
|
# nsupdate
|
|
|
|
> update delete oldhost.example.com A
|
|
|
|
> update add newhost.example.com 86400 A 172.16.1.1
|
|
|
|
> send
|
|
|
|
</pre>
|
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
Any A records for
|
|
|
|
<span class="type">oldhost.example.com</span>
|
|
|
|
are deleted.
|
2007-12-02 19:10:41 +00:00
|
|
|
And an A record for
|
2007-06-02 23:21:47 +00:00
|
|
|
<span class="type">newhost.example.com</span>
|
2007-12-02 19:10:41 +00:00
|
|
|
with IP address 172.16.1.1 is added.
|
|
|
|
The newly-added record has a 1 day TTL (86400 seconds).
|
2007-06-02 23:21:47 +00:00
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<pre class="programlisting">
|
|
|
|
# nsupdate
|
|
|
|
> prereq nxdomain nickname.example.com
|
|
|
|
> update add nickname.example.com 86400 CNAME somehost.example.com
|
|
|
|
> send
|
|
|
|
</pre>
|
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
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>.
|
2004-09-19 01:30:24 +00:00
|
|
|
|
2007-06-02 23:21:47 +00:00
|
|
|
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 RFC1034 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 RFC2535 to allow CNAMEs to have
|
|
|
|
RRSIG, DNSKEY and NSEC records.)
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
</div>
|
|
|
|
<div class="refsect1" lang="en">
|
2007-12-02 19:10:41 +00:00
|
|
|
<a name="id2544692"></a><h2>FILES</h2>
|
2005-12-29 04:22:58 +00:00
|
|
|
<div class="variablelist"><dl>
|
|
|
|
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
|
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
used to identify default name server
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.key</code></span></dt>
|
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
base-64 encoding of HMAC-MD5 key created by
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
<dt><span class="term"><code class="constant">K{name}.+157.+{random}.private</code></span></dt>
|
|
|
|
<dd><p>
|
2007-06-02 23:21:47 +00:00
|
|
|
base-64 encoding of HMAC-MD5 key created by
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
|
|
|
|
</p></dd>
|
2005-12-29 04:22:58 +00:00
|
|
|
</dl></div>
|
|
|
|
</div>
|
|
|
|
<div class="refsect1" lang="en">
|
2007-12-02 19:10:41 +00:00
|
|
|
<a name="id2544829"></a><h2>SEE ALSO</h2>
|
2007-06-02 23:21:47 +00:00
|
|
|
<p><span class="citerefentry"><span class="refentrytitle">RFC2136</span></span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">RFC3007</span></span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">RFC2104</span></span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">RFC2845</span></span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">RFC1034</span></span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">RFC2535</span></span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">RFC2931</span></span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
|
|
|
|
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
|
|
|
|
</p>
|
2005-12-29 04:22:58 +00:00
|
|
|
</div>
|
|
|
|
<div class="refsect1" lang="en">
|
2007-12-02 19:10:41 +00:00
|
|
|
<a name="id2544900"></a><h2>BUGS</h2>
|
2005-12-29 04:22:58 +00:00
|
|
|
<p>
|
2007-06-02 23:21:47 +00:00
|
|
|
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>
|
2005-12-29 04:22:58 +00:00
|
|
|
</div>
|
|
|
|
</div></body>
|
|
|
|
</html>
|