nsupdate.docbook revision 6ad1eab597456687386f5e41d17d0bceeacef2d2
10139N/A<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
10139N/A "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
10139N/A [<!ENTITY mdash "&#8212;">]>
17185N/A<!--
18593N/A - Copyright (C) 2004-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
18632N/A - Copyright (C) 2000-2003 Internet Software Consortium.
18593N/A -
13600N/A - Permission to use, copy, modify, and/or distribute this software for any
10139N/A - purpose with or without fee is hereby granted, provided that the above
10139N/A - copyright notice and this permission notice appear in all copies.
10139N/A -
10139N/A - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10139N/A - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10139N/A - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
10139N/A - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
19825N/A - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
19825N/A - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
10139N/A - PERFORMANCE OF THIS SOFTWARE.
18632N/A-->
18632N/A
10139N/A<refentry id="man.nsupdate">
10139N/A <refentryinfo>
18593N/A <date>April 18, 2014</date>
17338N/A </refentryinfo>
10139N/A <refmeta>
10139N/A <refentrytitle><application>nsupdate</application></refentrytitle>
15536N/A <manvolnum>1</manvolnum>
17811N/A <refmiscinfo>BIND9</refmiscinfo>
17811N/A </refmeta>
17811N/A <refnamediv>
15761N/A <refname><application>nsupdate</application></refname>
16554N/A <refpurpose>Dynamic DNS update utility</refpurpose>
17811N/A </refnamediv>
16554N/A
10139N/A <docinfo>
18384N/A <copyright>
19105N/A <year>2004</year>
19105N/A <year>2005</year>
18384N/A <year>2006</year>
19105N/A <year>2007</year>
19105N/A <year>2008</year>
18384N/A <year>2009</year>
18384N/A <year>2010</year>
16633N/A <year>2011</year>
11999N/A <year>2012</year>
15536N/A <year>2014</year>
10139N/A <year>2015</year>
10139N/A <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
10139N/A </copyright>
15536N/A <copyright>
10139N/A <year>2000</year>
12830N/A <year>2001</year>
12830N/A <year>2002</year>
17811N/A <year>2003</year>
12830N/A <holder>Internet Software Consortium.</holder>
13914N/A </copyright>
13915N/A </docinfo>
17811N/A
14425N/A <refsynopsisdiv>
16680N/A <cmdsynopsis>
17811N/A <command>nsupdate</command>
17811N/A <arg><option>-d</option></arg>
15190N/A <arg><option>-D</option></arg>
16597N/A <arg><option>-L <replaceable class="parameter">level</replaceable></option></arg>
15536N/A <group>
17811N/A <arg><option>-g</option></arg>
15216N/A <arg><option>-o</option></arg>
15418N/A <arg><option>-l</option></arg>
19825N/A <arg><option>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></option></arg>
17811N/A <arg><option>-k <replaceable class="parameter">keyfile</replaceable></option></arg>
15418N/A </group>
16554N/A <arg><option>-t <replaceable class="parameter">timeout</replaceable></option></arg>
16554N/A <arg><option>-u <replaceable class="parameter">udptimeout</replaceable></option></arg>
17811N/A <arg><option>-r <replaceable class="parameter">udpretries</replaceable></option></arg>
16554N/A <arg><option>-R <replaceable class="parameter">randomdev</replaceable></option></arg>
16554N/A <arg><option>-v</option></arg>
16597N/A <arg><option>-T</option></arg>
17811N/A <arg><option>-P</option></arg>
17811N/A <arg><option>-V</option></arg>
15516N/A <arg>filename</arg>
17338N/A </cmdsynopsis>
17811N/A </refsynopsisdiv>
17811N/A
17811N/A <refsect1>
17811N/A <title>DESCRIPTION</title>
17811N/A <para><command>nsupdate</command>
17338N/A is used to submit Dynamic DNS Update requests as defined in RFC 2136
15536N/A to a name server.
17811N/A This allows resource records to be added or removed from a zone
15529N/A without manually editing the zone file.
17811N/A A single update request can contain requests to add or remove more than
17811N/A one
15761N/A resource record.
16020N/A </para>
16020N/A <para>
17811N/A Zones that are under dynamic control via
16020N/A <command>nsupdate</command>
16020N/A or a DHCP server should not be edited by hand.
17964N/A Manual edits could
17811N/A conflict with dynamic updates and cause data to be lost.
17811N/A </para>
17811N/A <para>
17811N/A The resource records that are dynamically added or removed with
16549N/A <command>nsupdate</command>
17811N/A have to be in the same zone.
19825N/A Requests are sent to the zone's master server.
17811N/A This is identified by the MNAME field of the zone's SOA record.
16532N/A </para>
17811N/A <para>
19825N/A Transaction signatures can be used to authenticate the Dynamic
17811N/A DNS updates. These use the TSIG resource record type described
17811N/A in RFC 2845 or the SIG(0) record described in RFC 2535 and
17964N/A RFC 2931 or GSS-TSIG as described in RFC 3645.
17964N/A </para>
17964N/A <para>
18036N/A TSIG relies on
18036N/A a shared secret that should only be known to
18036N/A <command>nsupdate</command> and the name server.
18036N/A For instance, suitable <type>key</type> and
18190N/A <type>server</type> statements would be added to
18190N/A <filename>/etc/named.conf</filename> so that the name server
18190N/A can associate the appropriate secret key and algorithm with
18251N/A the IP address of the client application that will be using
18251N/A TSIG authentication. You can use <command>ddns-confgen</command>
18251N/A to generate suitable configuration fragments.
18251N/A <command>nsupdate</command>
18384N/A uses the <option>-y</option> or <option>-k</option> options
18384N/A to provide the TSIG shared secret. These options are mutually exclusive.
18384N/A </para>
18384N/A <para>
18384N/A SIG(0) uses public key cryptography.
18384N/A To use a SIG(0) key, the public key must be stored in a KEY
18384N/A record in a zone served by the name server.
18384N/A </para>
18384N/A <para>
18384N/A GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode
18384N/A is switched on with the <option>-g</option> flag. A
18384N/A non-standards-compliant variant of GSS-TSIG used by Windows
18384N/A 2000 can be switched on with the <option>-o</option> flag.
18384N/A </para>
18384N/A </refsect1>
18384N/A
18384N/A <refsect1>
19127N/A <title>OPTIONS</title>
19127N/A
19127N/A <variablelist>
19127N/A <varlistentry>
19825N/A <term>-d</term>
19825N/A <listitem>
19825N/A <para>
15536N/A Debug mode. This provides tracing information about the
10139N/A update requests that are made and the replies received
10139N/A from the name server.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A <varlistentry>
10139N/A <term>-D</term>
10139N/A <listitem>
10139N/A <para>
10139N/A Extra debug mode.
10139N/A </para>
16554N/A </listitem>
10139N/A </varlistentry>
13898N/A
13898N/A <varlistentry>
13898N/A <term>-k <replaceable class="parameter">keyfile</replaceable></term>
10139N/A <listitem>
10139N/A <para>
10139N/A The file containing the TSIG authentication key.
10139N/A Keyfiles may be in two formats: a single file containing
10139N/A a <filename>named.conf</filename>-format <command>key</command>
10139N/A statement, which may be generated automatically by
10139N/A <command>ddns-confgen</command>, or a pair of files whose names are
10139N/A of the format <filename>K{name}.+157.+{random}.key</filename> and
10139N/A <filename>K{name}.+157.+{random}.private</filename>, which can be
10139N/A generated by <command>dnssec-keygen</command>.
10139N/A The <option>-k</option> may also be used to specify a SIG(0) key used
10139N/A to authenticate Dynamic DNS update requests. In this case, the key
10139N/A specified is not an HMAC-MD5 key.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
17811N/A
15536N/A <varlistentry>
10139N/A <term>-l</term>
15536N/A <listitem>
17811N/A <para>
10139N/A Local-host only mode. This sets the server address to
15536N/A localhost (disabling the <command>server</command> so that the server
15536N/A address cannot be overridden). Connections to the local server will
10139N/A use a TSIG key found in <filename>/var/run/named/session.key</filename>,
15536N/A which is automatically generated by <command>named</command> if any
17811N/A local master zone has set <command>update-policy</command> to
17811N/A <command>local</command>. The location of this key file can be
10139N/A overridden with the <option>-k</option> option.
17338N/A </para>
17811N/A </listitem>
17811N/A </varlistentry>
17811N/A
15536N/A <varlistentry>
18036N/A <term>-L <replaceable class="parameter">level</replaceable></term>
18190N/A <listitem>
18251N/A <para>
18384N/A Set the logging debug level. If zero, logging is disabled.
18384N/A </para>
18384N/A </listitem>
18384N/A </varlistentry>
19127N/A
19825N/A <varlistentry>
16050N/A <term>-p <replaceable class="parameter">port</replaceable></term>
16020N/A <listitem>
17811N/A <para>
16020N/A Set the port to use for connections to a name server. The
10139N/A default is 53.
16554N/A </para>
17811N/A </listitem>
16554N/A </varlistentry>
16554N/A
10139N/A <varlistentry>
10139N/A <term>-P</term>
10139N/A <listitem>
10139N/A <para>
10139N/A Print the list of private BIND-specific resource record
17811N/A types whose format is understood
10139N/A by <command>nsupdate</command>. See also
10139N/A the <option>-T</option> option.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
15536N/A
10139N/A <varlistentry>
10139N/A <term>-r <replaceable class="parameter">udpretries</replaceable></term>
10139N/A <listitem>
10139N/A <para>
10139N/A The number of UDP retries. The default is 3. If zero, only
10139N/A one update request will be made.
13898N/A </para>
13898N/A </listitem>
19111N/A </varlistentry>
19111N/A
19111N/A <varlistentry>
19111N/A <term>-R <replaceable class="parameter">randomdev</replaceable></term>
19111N/A <listitem>
19111N/A <para>
19111N/A Where to obtain randomness. If the operating system
14526N/A does not provide a <filename>/dev/random</filename> or
10139N/A equivalent device, the default source of randomness is keyboard
13898N/A input. <filename>randomdev</filename> specifies the name of
18918N/A a character device or file containing random data to be used
13898N/A instead of the default. The special value
13898N/A <filename>keyboard</filename> indicates that keyboard input
17965N/A should be used. This option may be specified multiple times.
17965N/A </para>
15189N/A </listitem>
13898N/A </varlistentry>
16554N/A
16554N/A <varlistentry>
16554N/A <term>-t <replaceable class="parameter">timeout</replaceable></term>
16554N/A <listitem>
18384N/A <para>
17964N/A The maximum time an update request can take before it is
10139N/A aborted. The default is 300 seconds. Zero can be used to
10139N/A disable the timeout.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A <varlistentry>
10139N/A <term>-T</term>
13898N/A <listitem>
13898N/A <para>
13898N/A Print the list of IANA standard resource record types
13898N/A whose format is understood by <command>nsupdate</command>.
13898N/A <command>nsupdate</command> will exit after the lists are
10139N/A printed. The <option>-T</option> option can be combined
16554N/A with the <option>-P</option> option.
17811N/A </para>
16554N/A <para>
16554N/A Other types can be entered using "TYPEXXXXX" where "XXXXX" is the
16554N/A decimal value of the type with no leading zeros. The rdata,
16554N/A if present, will be parsed using the UNKNOWN rdata format,
16554N/A (&lt;backslash&gt; &lt;hash&gt; &lt;space&gt; &lt;length&gt;
18384N/A &lt;space&gt; &lt;hexstring&gt;).
18384N/A </para>
18384N/A </listitem>
18384N/A </varlistentry>
18384N/A
18384N/A <varlistentry>
18384N/A <term>-u <replaceable class="parameter">udptimeout</replaceable></term>
17811N/A <listitem>
17811N/A <para>
14124N/A The UDP retry interval. The default is 3 seconds. If zero,
13898N/A the interval will be computed from the timeout interval and
12834N/A number of UDP retries.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
13898N/A <varlistentry>
13898N/A <term>-v</term>
13898N/A <listitem>
13898N/A <para>
13898N/A Use TCP even for small update requests.
13898N/A By default, <command>nsupdate</command>
13898N/A uses UDP to send update requests to the name server unless they are too
13898N/A large to fit in a UDP request in which case TCP will be used.
13898N/A TCP may be preferable when a batch of update requests is made.
13898N/A </para>
13898N/A </listitem>
13898N/A </varlistentry>
13898N/A
13898N/A <varlistentry>
13898N/A <term>-V</term>
13898N/A <listitem>
13898N/A <para>
13898N/A Print the version number and exit.
13898N/A </para>
14376N/A </listitem>
13898N/A </varlistentry>
13898N/A
13898N/A <varlistentry>
13898N/A <term>-y <replaceable class="parameter"><optional>hmac:</optional>keyname:secret</replaceable></term>
14376N/A <listitem>
13898N/A <para>
13898N/A Literal TSIG authentication key.
13898N/A <parameter>keyname</parameter> is the name of the key, and
10139N/A <parameter>secret</parameter> is the base64 encoded shared secret.
10139N/A <parameter>hmac</parameter> is the name of the key algorithm;
10139N/A valid choices are <literal>hmac-md5</literal>,
10139N/A <literal>hmac-sha1</literal>, <literal>hmac-sha224</literal>,
10139N/A <literal>hmac-sha256</literal>, <literal>hmac-sha384</literal>, or
10139N/A <literal>hmac-sha512</literal>. If <parameter>hmac</parameter>
10139N/A is not specified, the default is <literal>hmac-md5</literal>.
10139N/A </para>
10139N/A <para>
15536N/A NOTE: Use of the <option>-y</option> option is discouraged because the
13898N/A shared secret is supplied as a command line argument in clear text.
10139N/A This may be visible in the output from
10139N/A <citerefentry>
13898N/A <refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum>
13898N/A </citerefentry>
13898N/A or in a history file maintained by the user's shell.
13898N/A </para>
13898N/A </listitem>
13898N/A </varlistentry>
13898N/A
13898N/A </variablelist>
13898N/A </refsect1>
16617N/A
17811N/A <refsect1>
16617N/A <title>INPUT FORMAT</title>
16617N/A <para><command>nsupdate</command>
16617N/A reads input from
16617N/A <parameter>filename</parameter>
16617N/A or standard input.
16617N/A Each command is supplied on exactly one line of input.
16617N/A Some commands are for administrative purposes.
16617N/A The others are either update instructions or prerequisite checks on the
16617N/A contents of the zone.
17811N/A These checks set conditions that some name or set of
14376N/A resource records (RRset) either exists or is absent from the zone.
13898N/A These conditions must be met if the entire update request is to succeed.
13898N/A Updates will be rejected if the tests for the prerequisite conditions
13898N/A fail.
13898N/A </para>
15536N/A <para>
15536N/A Every update request consists of zero or more prerequisites
15536N/A and zero or more updates.
17811N/A This allows a suitably authenticated update request to proceed if some
14376N/A specified resource records are present or missing from the zone.
13898N/A A blank input line (or the <command>send</command> command)
13898N/A causes the
13898N/A accumulated commands to be sent as one Dynamic DNS update request to the
13898N/A name server.
15536N/A </para>
15536N/A <para>
15536N/A The command formats and their meaning are as follows:
16617N/A <variablelist>
17811N/A
16617N/A <varlistentry>
16617N/A <term>
16617N/A <command>server</command>
16617N/A <arg choice="req">servername</arg>
16617N/A <arg choice="opt">port</arg>
16617N/A </term>
16617N/A <listitem>
16617N/A <para>
16617N/A Sends all dynamic update requests to the name server
17811N/A <parameter>servername</parameter>.
14376N/A When no server statement is provided,
13898N/A <command>nsupdate</command>
13898N/A will send updates to the master server of the correct zone.
16958N/A The MNAME field of that zone's SOA record will identify the
16958N/A master
14376N/A server for that zone.
13898N/A <parameter>port</parameter>
10550N/A is the port number on
10550N/A <parameter>servername</parameter>
15536N/A where the dynamic update requests get sent.
10550N/A If no port number is specified, the default DNS port number of
15453N/A 53 is
15453N/A used.
15453N/A </para>
15453N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A <varlistentry>
10139N/A <term>
19825N/A <command>local</command>
19825N/A <arg choice="req">address</arg>
19127N/A <arg choice="opt">port</arg>
19127N/A </term>
19068N/A <listitem>
19068N/A <para>
19041N/A Sends all dynamic update requests using the local
19041N/A <parameter>address</parameter>.
18955N/A
18955N/A When no local statement is provided,
18936N/A <command>nsupdate</command>
18936N/A will send updates using an address and port chosen by the
18548N/A system.
18548N/A <parameter>port</parameter>
18384N/A can additionally be used to make requests come from a specific
18384N/A port.
18270N/A If no port number is specified, the system will assign one.
18270N/A </para>
18251N/A </listitem>
18251N/A </varlistentry>
18190N/A
18190N/A <varlistentry>
18176N/A <term>
18176N/A <command>zone</command>
18149N/A <arg choice="req">zonename</arg>
18149N/A </term>
18036N/A <listitem>
18036N/A <para>
18036N/A Specifies that all updates are to be made to the zone
17964N/A <parameter>zonename</parameter>.
17965N/A If no
17965N/A <parameter>zone</parameter>
17964N/A statement is provided,
17964N/A <command>nsupdate</command>
17964N/A will attempt determine the correct zone to update based on the
17811N/A rest of the input.
17811N/A </para>
17676N/A </listitem>
17676N/A </varlistentry>
17634N/A
17634N/A <varlistentry>
17633N/A <term>
17633N/A <command>class</command>
17450N/A <arg choice="req">classname</arg>
17450N/A </term>
17450N/A <listitem>
17416N/A <para>
17420N/A Specify the default class.
17338N/A If no <parameter>class</parameter> is specified, the
17338N/A default class is
17338N/A <parameter>IN</parameter>.
17338N/A </para>
16954N/A </listitem>
16954N/A </varlistentry>
16954N/A
16954N/A <varlistentry>
16954N/A <term>
16952N/A <command>ttl</command>
16952N/A <arg choice="req">seconds</arg>
16952N/A </term>
16916N/A <listitem>
16916N/A <para>
16801N/A Specify the default time to live for records to be added.
16801N/A The value <parameter>none</parameter> will clear the default
16795N/A ttl.
16795N/A </para>
16795N/A </listitem>
16794N/A </varlistentry>
16794N/A
16766N/A <varlistentry>
16766N/A <term>
16758N/A <command>key</command>
16758N/A <arg choice="opt">hmac:</arg><arg choice="req">keyname</arg>
16732N/A <arg choice="req">secret</arg>
16732N/A </term>
16712N/A <listitem>
16712N/A <para>
16702N/A Specifies that all updates are to be TSIG-signed using the
16702N/A <parameter>keyname</parameter> <parameter>secret</parameter> pair.
16689N/A If <parameter>hmac</parameter> is specified, then it sets the
16689N/A signing algorithm in use; the default is
16680N/A <literal>hmac-md5</literal>. The <command>key</command>
16680N/A command overrides any key specified on the command line via
16656N/A <option>-y</option> or <option>-k</option>.
16656N/A </para>
16656N/A </listitem>
16643N/A </varlistentry>
16643N/A
16639N/A <varlistentry>
16639N/A <term>
16608N/A <command>gsstsig</command>
16617N/A </term>
16617N/A <listitem>
16608N/A <para>
16608N/A Use GSS-TSIG to sign the updated. This is equivalent to
16601N/A specifying <option>-g</option> on the command line.
16553N/A </para>
16554N/A </listitem>
16554N/A </varlistentry>
16554N/A
16554N/A <varlistentry>
16553N/A <term>
16549N/A <command>oldgsstsig</command>
16549N/A </term>
16549N/A <listitem>
16549N/A <para>
16437N/A Use the Windows 2000 version of GSS-TSIG to sign the updated.
16437N/A This is equivalent to specifying <option>-o</option> on the
16437N/A command line.
16283N/A </para>
16283N/A </listitem>
16283N/A </varlistentry>
16279N/A
16279N/A <varlistentry>
16279N/A <term>
16207N/A <command>realm</command>
16207N/A <arg choice="req"><optional>realm_name</optional></arg>
16061N/A </term>
16061N/A <listitem>
16050N/A <para>
16050N/A When using GSS-TSIG use <parameter>realm_name</parameter> rather
16020N/A than the default realm in <filename>krb5.conf</filename>. If no
16020N/A realm is specified the saved realm is cleared.
15902N/A </para>
15902N/A </listitem>
15797N/A </varlistentry>
15797N/A
15761N/A <varlistentry>
15761N/A <term>
15747N/A <command>check-names</command>
15747N/A <arg choice="req"><optional>yes_or_no</optional></arg>
15606N/A </term>
15606N/A <listitem>
15606N/A <para>
15548N/A Turn on or off check-names processing on records to
15548N/A be added. Check-names has no effect on prerequisites
15548N/A or records to be deleted. By default check-names
15536N/A processing is on. If check-names processing fails
15536N/A the record will not be added to the UPDATE message.
15535N/A </para>
15535N/A </listitem>
15529N/A </varlistentry>
15536N/A
15529N/A <varlistentry>
15529N/A <term>
15529N/A <command><optional>prereq</optional> nxdomain</command>
15525N/A <arg choice="req">domain-name</arg>
15536N/A </term>
15529N/A <listitem>
15529N/A <para>
15529N/A Requires that no resource record of any type exists with name
15529N/A <parameter>domain-name</parameter>.
15529N/A </para>
15525N/A </listitem>
15516N/A </varlistentry>
15516N/A
15516N/A
15516N/A <varlistentry>
15516N/A <term>
15516N/A <command><optional>prereq</optional> yxdomain</command>
15516N/A <arg choice="req">domain-name</arg>
15516N/A </term>
15516N/A <listitem>
15516N/A <para>
15516N/A Requires that
15516N/A <parameter>domain-name</parameter>
15516N/A exists (has as at least one resource record, of any type).
15516N/A </para>
15516N/A </listitem>
15516N/A </varlistentry>
15516N/A
15453N/A <varlistentry>
15453N/A <term>
15453N/A <command><optional>prereq</optional> nxrrset</command>
15453N/A <arg choice="req">domain-name</arg>
15418N/A <arg choice="opt">class</arg>
15418N/A <arg choice="req">type</arg>
15418N/A </term>
15365N/A <listitem>
15365N/A <para>
15216N/A Requires that no resource record exists of the specified
15216N/A <parameter>type</parameter>,
15190N/A <parameter>class</parameter>
15191N/A and
15191N/A <parameter>domain-name</parameter>.
15190N/A If
15190N/A <parameter>class</parameter>
15190N/A is omitted, IN (internet) is assumed.
15190N/A </para>
15189N/A </listitem>
15189N/A </varlistentry>
14526N/A
14526N/A
14526N/A <varlistentry>
14425N/A <term>
14425N/A <command><optional>prereq</optional> yxrrset</command>
14425N/A <arg choice="req">domain-name</arg>
14376N/A <arg choice="opt">class</arg>
14376N/A <arg choice="req">type</arg>
14376N/A </term>
14376N/A <listitem>
14376N/A <para>
14376N/A This requires that a resource record of the specified
14376N/A <parameter>type</parameter>,
14190N/A <parameter>class</parameter>
14190N/A and
14124N/A <parameter>domain-name</parameter>
14124N/A must exist.
14099N/A If
14099N/A <parameter>class</parameter>
14033N/A is omitted, IN (internet) is assumed.
14033N/A </para>
14033N/A </listitem>
13996N/A </varlistentry>
13926N/A
13926N/A <varlistentry>
13914N/A <term>
13914N/A <command><optional>prereq</optional> yxrrset</command>
13914N/A <arg choice="req">domain-name</arg>
13914N/A <arg choice="opt">class</arg>
13914N/A <arg choice="req">type</arg>
13898N/A <arg choice="req" rep="repeat">data</arg>
13898N/A </term>
13898N/A <listitem>
13898N/A <para>
13898N/A The
13898N/A <parameter>data</parameter>
13898N/A from each set of prerequisites of this form
13898N/A sharing a common
13898N/A <parameter>type</parameter>,
13600N/A <parameter>class</parameter>,
13600N/A and
13898N/A <parameter>domain-name</parameter>
13898N/A are combined to form a set of RRs. This set of RRs must
13898N/A exactly match the set of RRs existing in the zone at the
13898N/A given
13577N/A <parameter>type</parameter>,
13898N/A <parameter>class</parameter>,
13898N/A and
13898N/A <parameter>domain-name</parameter>.
13898N/A The
13898N/A <parameter>data</parameter>
13898N/A are written in the standard text representation of the resource
13898N/A record's
13898N/A RDATA.
13898N/A </para>
13898N/A </listitem>
13898N/A </varlistentry>
13898N/A
13898N/A <varlistentry>
13898N/A <term>
13898N/A <command><optional>update</optional> del<optional>ete</optional></command>
13898N/A <arg choice="req">domain-name</arg>
13268N/A <arg choice="opt">ttl</arg>
13268N/A <arg choice="opt">class</arg>
13268N/A <arg choice="opt">type <arg choice="opt" rep="repeat">data</arg></arg>
13898N/A </term>
13898N/A <listitem>
13898N/A <para>
13898N/A Deletes any resource records named
13898N/A <parameter>domain-name</parameter>.
13898N/A If
13898N/A <parameter>type</parameter>
13898N/A and
13898N/A <parameter>data</parameter>
12830N/A is provided, only matching resource records will be removed.
13898N/A The internet class is assumed if
12830N/A <parameter>class</parameter>
13898N/A is not supplied. The
13898N/A <parameter>ttl</parameter>
13898N/A is ignored, and is only allowed for compatibility.
13898N/A </para>
13898N/A </listitem>
13898N/A </varlistentry>
13898N/A
13898N/A <varlistentry>
13898N/A <term>
12169N/A <command><optional>update</optional> add</command>
13898N/A <arg choice="req">domain-name</arg>
12169N/A <arg choice="req">ttl</arg>
12169N/A <arg choice="opt">class</arg>
12102N/A <arg choice="req">type</arg>
12102N/A <arg choice="req" rep="repeat">data</arg>
12097N/A </term>
12097N/A <listitem>
12097N/A <para>
12018N/A Adds a new resource record with the specified
12018N/A <parameter>ttl</parameter>,
11999N/A <parameter>class</parameter>
11999N/A and
11999N/A <parameter>data</parameter>.
11996N/A </para>
11996N/A </listitem>
11908N/A </varlistentry>
11910N/A
11910N/A <varlistentry>
11854N/A <term>
11854N/A <command>show</command>
11440N/A </term>
11440N/A <listitem>
11425N/A <para>
11425N/A Displays the current message, containing all of the
11314N/A prerequisites and
11314N/A updates specified since the last send.
11280N/A </para>
11280N/A </listitem>
11004N/A </varlistentry>
11004N/A
10946N/A <varlistentry>
10946N/A <term>
10946N/A <command>send</command>
10844N/A </term>
10844N/A <listitem>
10844N/A <para>
10711N/A Sends the current message. This is equivalent to entering a
10711N/A blank line.
10685N/A </para>
10685N/A </listitem>
10550N/A </varlistentry>
10550N/A
10544N/A <varlistentry>
10544N/A <term>
10465N/A <command>answer</command>
10465N/A </term>
10465N/A <listitem>
10447N/A <para>
10447N/A Displays the answer.
10404N/A </para>
10404N/A </listitem>
10340N/A </varlistentry>
10340N/A
10330N/A <varlistentry>
10330N/A <term>
10330N/A <command>debug</command>
10330N/A </term>
10330N/A <listitem>
10161N/A <para>
10161N/A Turn on debugging.
10161N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A <varlistentry>
10139N/A <term>
10139N/A <command>version</command>
10139N/A </term>
10139N/A <listitem>
10139N/A <para>
10139N/A Print version number.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A <varlistentry>
10139N/A <term>
10139N/A <command>help</command>
10139N/A </term>
10139N/A <listitem>
10139N/A <para>
10139N/A Print a list of commands.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A </variablelist>
10139N/A </para>
10139N/A
10139N/A <para>
10139N/A Lines beginning with a semicolon are comments and are ignored.
10139N/A </para>
10139N/A
10139N/A </refsect1>
10139N/A
10139N/A <refsect1>
10139N/A <title>EXAMPLES</title>
10139N/A <para>
10139N/A The examples below show how
10139N/A <command>nsupdate</command>
10139N/A could be used to insert and delete resource records from the
10139N/A <type>example.com</type>
10139N/A zone.
10139N/A Notice that the input in each example contains a trailing blank line so
10139N/A that
10139N/A a group of commands are sent as one dynamic update request to the
10139N/A master name server for
10139N/A <type>example.com</type>.
10139N/A
10139N/A <programlisting>
10139N/A# nsupdate
10139N/A&gt; update delete oldhost.example.com A
10139N/A&gt; update add newhost.example.com 86400 A 172.16.1.1
10139N/A&gt; send
10139N/A</programlisting>
10139N/A </para>
10139N/A <para>
10139N/A Any A records for
10139N/A <type>oldhost.example.com</type>
10139N/A are deleted.
10139N/A And an A record for
10139N/A <type>newhost.example.com</type>
10139N/A with IP address 172.16.1.1 is added.
10139N/A The newly-added record has a 1 day TTL (86400 seconds).
10139N/A <programlisting>
10139N/A# nsupdate
10139N/A&gt; prereq nxdomain nickname.example.com
10139N/A&gt; update add nickname.example.com 86400 CNAME somehost.example.com
10139N/A&gt; send
10139N/A</programlisting>
10139N/A </para>
10139N/A <para>
10139N/A The prerequisite condition gets the name server to check that there
10139N/A are no resource records of any type for
10139N/A <type>nickname.example.com</type>.
10139N/A
10139N/A If there are, the update request fails.
10139N/A If this name does not exist, a CNAME for it is added.
10139N/A This ensures that when the CNAME is added, it cannot conflict with the
10139N/A long-standing rule in RFC 1034 that a name must not exist as any other
10139N/A record type if it exists as a CNAME.
10139N/A (The rule has been updated for DNSSEC in RFC 2535 to allow CNAMEs to have
10139N/A RRSIG, DNSKEY and NSEC records.)
10139N/A </para>
10139N/A </refsect1>
10139N/A
10139N/A <refsect1>
10139N/A <title>FILES</title>
10139N/A
10139N/A <variablelist>
10139N/A <varlistentry>
10139N/A <term><constant>/etc/resolv.conf</constant></term>
10139N/A <listitem>
10139N/A <para>
10139N/A used to identify default name server
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A <varlistentry>
10139N/A <term><constant>/var/run/named/session.key</constant></term>
10139N/A <listitem>
10139N/A <para>
10139N/A sets the default TSIG key for use in local-only mode
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A <varlistentry>
10139N/A <term><constant>K{name}.+157.+{random}.key</constant></term>
10139N/A <listitem>
10139N/A <para>
10139N/A base-64 encoding of HMAC-MD5 key created by
10139N/A <citerefentry>
10139N/A <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
10139N/A </citerefentry>.
10139N/A </para>
10139N/A </listitem>
11314N/A </varlistentry>
11314N/A
11314N/A <varlistentry>
10139N/A <term><constant>K{name}.+157.+{random}.private</constant></term>
10139N/A <listitem>
10139N/A <para>
10139N/A base-64 encoding of HMAC-MD5 key created by
10139N/A <citerefentry>
10139N/A <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
10139N/A </citerefentry>.
10139N/A </para>
10139N/A </listitem>
10139N/A </varlistentry>
10139N/A
10139N/A </variablelist>
10139N/A </refsect1>
10139N/A
10139N/A <refsect1>
10139N/A <title>SEE ALSO</title>
10139N/A <para>
10139N/A <citetitle>RFC 2136</citetitle>,
10139N/A <citetitle>RFC 3007</citetitle>,
10139N/A <citetitle>RFC 2104</citetitle>,
10139N/A <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:
-->