summaryrefslogtreecommitdiff
path: root/usr.sbin/bind/bin/nsupdate/nsupdate.html
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/bind/bin/nsupdate/nsupdate.html')
-rw-r--r--usr.sbin/bind/bin/nsupdate/nsupdate.html471
1 files changed, 237 insertions, 234 deletions
diff --git a/usr.sbin/bind/bin/nsupdate/nsupdate.html b/usr.sbin/bind/bin/nsupdate/nsupdate.html
index e3c67d4a1d4..7697ead9982 100644
--- a/usr.sbin/bind/bin/nsupdate/nsupdate.html
+++ b/usr.sbin/bind/bin/nsupdate/nsupdate.html
@@ -1,27 +1,30 @@
<!--
- - Copyright (C) 2000, 2001 Internet Software Consortium.
- -
+ - Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
+ - Copyright (C) 2001-2003 Internet Software Consortium.
+ -
- 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.
- -
- - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- - INTERNET SOFTWARE CONSORTIUM 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.
+ -
+ - 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.
-->
+
+<!-- $ISC: nsupdate.html,v 1.9.2.3.2.5 2004/08/22 23:38:59 marka Exp $ -->
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML
><HEAD
><TITLE
>nsupdate</TITLE
><META
NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.73
-"></HEAD
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
@@ -32,8 +35,8 @@ ALINK="#0000FF"
><H1
><A
NAME="AEN1"
->nsupdate</A
-></H1
+></A
+>nsupdate</H1
><DIV
CLASS="REFNAMEDIV"
><A
@@ -53,34 +56,48 @@ NAME="AEN11"
><B
CLASS="COMMAND"
>nsupdate</B
-> [<TT
+> [<VAR
+CLASS="OPTION"
+>-d</VAR
+>] [<VAR
+CLASS="OPTION"
+>-y <VAR
+CLASS="REPLACEABLE"
+>keyname:secret</VAR
+></VAR
+> | <VAR
CLASS="OPTION"
->-d</TT
->] [<TT
+>-k <VAR
+CLASS="REPLACEABLE"
+>keyfile</VAR
+></VAR
+>] [<VAR
+CLASS="OPTION"
+>-t <VAR
+CLASS="REPLACEABLE"
+>timeout</VAR
+></VAR
+>] [<VAR
CLASS="OPTION"
->-y <TT
+>-u <VAR
CLASS="REPLACEABLE"
-><I
->keyname:secret</I
-></TT
-></TT
-> | <TT
+>udptimeout</VAR
+></VAR
+>] [<VAR
CLASS="OPTION"
->-k <TT
+>-r <VAR
CLASS="REPLACEABLE"
-><I
->keyfile</I
-></TT
-></TT
->] [<TT
+>udpretries</VAR
+></VAR
+>] [<VAR
CLASS="OPTION"
->-v</TT
+>-v</VAR
>] [filename]</P
></DIV
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN26"
+NAME="AEN35"
></A
><H2
>DESCRIPTION</H2
@@ -115,9 +132,9 @@ Requests are sent to the zone's master server.
This is identified by the MNAME field of the zone's SOA record.</P
><P
>The
-<TT
+<VAR
CLASS="OPTION"
->-d</TT
+>-d</VAR
>
option makes
<B
@@ -130,13 +147,13 @@ made and the replies received from the name server.</P
><P
>Transaction signatures can be used to authenticate the Dynamic DNS
updates.
-These use the TSIG resource record type described in RFC2845.
-The signatures rely on a shared secret that should only be known to
+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
<B
CLASS="COMMAND"
>nsupdate</B
->
-and the name server.
+> 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
@@ -160,6 +177,8 @@ CLASS="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.
<B
CLASS="COMMAND"
>nsupdate</B
@@ -175,22 +194,22 @@ CLASS="COMMAND"
>nsupdate</B
>
uses the
-<TT
+<VAR
CLASS="OPTION"
->-y</TT
+>-y</VAR
>
or
-<TT
+<VAR
CLASS="OPTION"
->-k</TT
+>-k</VAR
>
-option to provide the shared secret needed to generate a TSIG record
-for authenticating Dynamic DNS update requests.
+option (with an HMAC-MD5 key) to provide the shared secret needed to generate
+a TSIG record for authenticating Dynamic DNS update requests.
These options are mutually exclusive.
With the
-<TT
+<VAR
CLASS="OPTION"
->-k</TT
+>-k</VAR
>
option,
<B
@@ -198,11 +217,9 @@ CLASS="COMMAND"
>nsupdate</B
>
reads the shared secret from the file
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->keyfile</I
-></TT
+>keyfile</VAR
>,
whose name is of the form
<TT
@@ -216,36 +233,30 @@ CLASS="FILENAME"
>K{name}.+157.+{random}.key</TT
>
must also be present. When the
-<TT
+<VAR
CLASS="OPTION"
->-y</TT
+>-y</VAR
>
option is used, a signature is generated from
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->keyname:secret.</I
-></TT
+>keyname:secret.</VAR
>
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->keyname</I
-></TT
+>keyname</VAR
>
is the name of the key,
and
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->secret</I
-></TT
+>secret</VAR
>
is the base64 encoded shared secret.
Use of the
-<TT
+<VAR
CLASS="OPTION"
->-y</TT
+>-y</VAR
>
option is discouraged because the shared secret is supplied as a command
line argument in clear text.
@@ -259,16 +270,24 @@ CLASS="REFENTRYTITLE"
>
or in a history file maintained by the user's shell.</P
><P
+>The <VAR
+CLASS="OPTION"
+>-k</VAR
+> 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
+><P
>By default
<B
CLASS="COMMAND"
>nsupdate</B
>
-uses UDP to send update requests to the name server.
+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
-<TT
+<VAR
CLASS="OPTION"
->-v</TT
+>-v</VAR
>
option makes
<B
@@ -277,11 +296,31 @@ CLASS="COMMAND"
>
use a TCP connection.
This may be preferable when a batch of update requests is made.</P
+><P
+>The <VAR
+CLASS="OPTION"
+>-t</VAR
+> option sets the maximum time a update request can
+take before it is aborted. The default is 300 seconds. Zero can be used
+to disable the timeout.</P
+><P
+>The <VAR
+CLASS="OPTION"
+>-u</VAR
+> 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.</P
+><P
+>The <VAR
+CLASS="OPTION"
+>-r</VAR
+> option sets the number of UDP retries. The default is
+3. If zero only one update request will be made.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN65"
+NAME="AEN82"
></A
><H2
>INPUT FORMAT</H2
@@ -291,11 +330,9 @@ CLASS="COMMAND"
>nsupdate</B
>
reads input from
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->filename</I
-></TT
+>filename</VAR
>
or standard input.
Each command is supplied on exactly one line of input.
@@ -334,11 +371,9 @@ CLASS="COMMAND"
><DD
><P
>Sends all dynamic update requests to the name server
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->servername</I
-></TT
+>servername</VAR
>.
When no server statement is provided,
<B
@@ -348,18 +383,14 @@ CLASS="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.
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->port</I
-></TT
+>port</VAR
>
is the port number on
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->servername</I
-></TT
+>servername</VAR
>
where the dynamic update requests get sent.
If no port number is specified, the default DNS port number of 53 is
@@ -375,11 +406,9 @@ CLASS="COMMAND"
><DD
><P
>Sends all dynamic update requests using the local
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->address</I
-></TT
+>address</VAR
>.
When no local statement is provided,
@@ -388,11 +417,9 @@ CLASS="COMMAND"
>nsupdate</B
>
will send updates using an address and port chosen by the system.
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->port</I
-></TT
+>port</VAR
>
can additionally be used to make requests come from a specific port.
If no port number is specified, the system will assign one.&#13;</P
@@ -407,18 +434,14 @@ CLASS="COMMAND"
><DD
><P
>Specifies that all updates are to be made to the zone
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->zonename</I
-></TT
+>zonename</VAR
>.
If no
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->zone</I
-></TT
+>zone</VAR
>
statement is provided,
<B
@@ -431,34 +454,49 @@ will attempt determine the correct zone to update based on the rest of the input
><P
><B
CLASS="COMMAND"
+>class</B
+> {classname}</P
+></DT
+><DD
+><P
+>Specify the default class.
+If no <VAR
+CLASS="PARAMETER"
+>class</VAR
+> is specified the default class is
+<VAR
+CLASS="PARAMETER"
+>IN</VAR
+>.</P
+></DD
+><DT
+><P
+><B
+CLASS="COMMAND"
>key</B
> {name} {secret}</P
></DT
><DD
><P
>Specifies that all updates are to be TSIG signed using the
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->keyname</I
-></TT
-> <TT
+>keyname</VAR
+> <VAR
CLASS="PARAMETER"
-><I
->keysecret</I
-></TT
+>keysecret</VAR
> pair.
The <B
CLASS="COMMAND"
>key</B
> command
overrides any key specified on the command line via
-<TT
+<VAR
CLASS="OPTION"
->-y</TT
-> or <TT
+>-y</VAR
+> or <VAR
CLASS="OPTION"
->-k</TT
+>-k</VAR
>.</P
></DD
><DT
@@ -471,11 +509,9 @@ CLASS="COMMAND"
><DD
><P
>Requires that no resource record of any type exists with name
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->domain-name</I
-></TT
+>domain-name</VAR
>.</P
></DD
><DT
@@ -488,11 +524,9 @@ CLASS="COMMAND"
><DD
><P
>Requires that
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->domain-name</I
-></TT
+>domain-name</VAR
>
exists (has as at least one resource record, of any type).</P
></DD
@@ -506,34 +540,25 @@ CLASS="COMMAND"
><DD
><P
>Requires that no resource record exists of the specified
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->type</I
-></TT
+>type</VAR
>,
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>
and
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->domain-name</I
-></TT
+>domain-name</VAR
>.
If
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>
-is omitted, IN (internet) is assumed.
-&#13;</P
+is omitted, IN (internet) is assumed.</P
></DD
><DT
><P
@@ -545,32 +570,24 @@ CLASS="COMMAND"
><DD
><P
>This requires that a resource record of the specified
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->type</I
-></TT
+>type</VAR
>,
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>
and
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->domain-name</I
-></TT
+>domain-name</VAR
>
must exist.
If
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>
is omitted, IN (internet) is assumed.</P
></DD
@@ -584,61 +601,45 @@ CLASS="COMMAND"
><DD
><P
>The
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->data</I
-></TT
+>data</VAR
>
from each set of prerequisites of this form
sharing a common
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->type</I
-></TT
+>type</VAR
>,
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>,
and
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->domain-name</I
-></TT
+>domain-name</VAR
>
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
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->type</I
-></TT
+>type</VAR
>,
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>,
and
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->domain-name</I
-></TT
+>domain-name</VAR
>.
The
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->data</I
-></TT
+>data</VAR
>
are written in the standard text representation of the resource record's
RDATA.</P
@@ -653,40 +654,30 @@ CLASS="COMMAND"
><DD
><P
>Deletes any resource records named
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->domain-name</I
-></TT
+>domain-name</VAR
>.
If
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->type</I
-></TT
+>type</VAR
>
and
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->data</I
-></TT
+>data</VAR
>
is provided, only matching resource records will be removed.
The internet class is assumed if
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>
is not supplied. The
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->ttl</I
-></TT
+>ttl</VAR
>
is ignored, and is only allowed for compatibility.</P
></DD
@@ -700,24 +691,18 @@ CLASS="COMMAND"
><DD
><P
>Adds a new resource record with the specified
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->ttl</I
-></TT
+>ttl</VAR
>,
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->class</I
-></TT
+>class</VAR
>
and
-<TT
+<VAR
CLASS="PARAMETER"
-><I
->data</I
-></TT
+>data</VAR
>.</P
></DD
><DT
@@ -743,16 +728,27 @@ CLASS="COMMAND"
><P
>Sends the current message. This is equivalent to entering a blank line.</P
></DD
+><DT
+><P
+><B
+CLASS="COMMAND"
+>answer</B
+> </P
+></DT
+><DD
+><P
+>Displays the answer.</P
+></DD
></DL
></DIV
>&#13;</P
><P
->Lines beginning with a semicolon are comments, and are ignored.</P
+>Lines beginning with a semicolon are comments and are ignored.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN223"
+NAME="AEN255"
></A
><H2
>EXAMPLES</H2
@@ -781,7 +777,7 @@ CLASS="PROGRAMLISTING"
># nsupdate
&#62; update delete oldhost.example.com A
&#62; update add newhost.example.com 86400 A 172.16.1.1
-&#62;</PRE
+&#62; send</PRE
></P
><P
>Any A records for
@@ -802,7 +798,7 @@ CLASS="PROGRAMLISTING"
># nsupdate
&#62; prereq nxdomain nickname.example.com
&#62; update add nickname.example.com 86400 CNAME somehost.example.com
-&#62;</PRE
+&#62; send</PRE
></P
><P
>The prerequisite condition gets the name server to check that there
@@ -818,12 +814,12 @@ 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
-SIG, KEY and NXT records.)</P
+RRSIG, DNSKEY and NSEC records.)</P
></DIV
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN236"
+NAME="AEN268"
></A
><H2
>FILES</H2
@@ -833,18 +829,18 @@ NAME="AEN236"
CLASS="VARIABLELIST"
><DL
><DT
-><TT
+><CODE
CLASS="CONSTANT"
->/etc/resolv.conf</TT
+>/etc/resolv.conf</CODE
></DT
><DD
><P
>used to identify default name server</P
></DD
><DT
-><TT
+><CODE
CLASS="CONSTANT"
->K{name}.+157.+{random}.key</TT
+>K{name}.+157.+{random}.key</CODE
></DT
><DD
><P
@@ -858,9 +854,9 @@ CLASS="REFENTRYTITLE"
>.</P
></DD
><DT
-><TT
+><CODE
CLASS="CONSTANT"
->K{name}.+157.+{random}.private</TT
+>K{name}.+157.+{random}.private</CODE
></DT
><DD
><P
@@ -879,7 +875,7 @@ CLASS="REFENTRYTITLE"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN260"
+NAME="AEN292"
></A
><H2
>SEE ALSO</H2
@@ -930,6 +926,13 @@ CLASS="REFENTRYTITLE"
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
+>RFC2931</SPAN
+></SPAN
+>,
+<SPAN
+CLASS="CITEREFENTRY"
+><SPAN
+CLASS="REFENTRYTITLE"
>named</SPAN
>(8)</SPAN
>,
@@ -944,7 +947,7 @@ CLASS="REFENTRYTITLE"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN281"
+NAME="AEN315"
></A
><H2
>BUGS</H2