nsupdate.html revision 803b50652fd6ad81d04d18fc04332c8a94f8fe9a
2N/A<!--
2N/A - Copyright (C) 2000, 2001 Internet Software Consortium.
2N/A -
2N/A - Permission to use, copy, modify, and distribute this software for any
2N/A - purpose with or without fee is hereby granted, provided that the above
2N/A - copyright notice and this permission notice appear in all copies.
2N/A -
2N/A - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
2N/A - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
2N/A - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
2N/A - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
2N/A - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
2N/A - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
2N/A - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
2N/A - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2N/A-->
2N/A<HTML
2N/A><HEAD
2N/A><TITLE
2N/A>nsupdate</TITLE
2N/A><META
2N/ANAME="GENERATOR"
2N/ACONTENT="Modular DocBook HTML Stylesheet Version 1.61
2N/A"></HEAD
2N/A><BODY
2N/ACLASS="REFENTRY"
2N/ABGCOLOR="#FFFFFF"
2N/ATEXT="#000000"
2N/ALINK="#0000FF"
2N/AVLINK="#840084"
2N/AALINK="#0000FF"
2N/A><H1
2N/A><A
2N/ANAME="AEN1"
2N/A>nsupdate</A
2N/A></H1
2N/A><DIV
2N/ACLASS="REFNAMEDIV"
2N/A><A
2N/ANAME="AEN8"
2N/A></A
2N/A><H2
2N/A>Name</H2
2N/A>nsupdate&nbsp;--&nbsp;Dynamic DNS update utility</DIV
2N/A><DIV
2N/ACLASS="REFSYNOPSISDIV"
2N/A><A
2N/ANAME="AEN11"
2N/A></A
2N/A><H2
2N/A>Synopsis</H2
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A> [<TT
2N/ACLASS="OPTION"
2N/A>-d</TT
2N/A>] [<TT
2N/ACLASS="OPTION"
2N/A>-y <TT
2N/ACLASS="REPLACEABLE"
2N/A><I
2N/A>keyname:secret</I
2N/A></TT
2N/A></TT
2N/A> | <TT
2N/ACLASS="OPTION"
2N/A>-k <TT
2N/ACLASS="REPLACEABLE"
2N/A><I
2N/A>keyfile</I
2N/A></TT
2N/A></TT
2N/A>] [<TT
2N/ACLASS="OPTION"
2N/A>-v</TT
2N/A>] [filename]</P
2N/A></DIV
2N/A><DIV
2N/ACLASS="REFSECT1"
2N/A><A
2N/ANAME="AEN26"
2N/A></A
2N/A><H2
2N/A>DESCRIPTION</H2
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Ais used to submit Dynamic DNS Update requests as defined in RFC2136
2N/Ato a name server.
2N/AThis allows resource records to be added or removed from a zone
2N/Awithout manually editing the zone file.
2N/AA single update request can contain requests to add or remove more than one
2N/Aresource record.</P
2N/A><P
2N/A>Zones that are under dynamic control via
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Aor a DHCP server should not be edited by hand.
2N/AManual edits could
2N/Aconflict with dynamic updates and cause data to be lost.</P
2N/A><P
2N/A>The resource records that are dynamically added or removed with
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Ahave to be in the same zone.
2N/ARequests are sent to the zone's master server.
2N/AThis is identified by the MNAME field of the zone's SOA record.</P
2N/A><P
2N/A>The
2N/A<TT
2N/ACLASS="OPTION"
2N/A>-d</TT
2N/A>
2N/Aoption makes
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Aoperate in debug mode.
2N/AThis provides tracing information about the update requests that are
2N/Amade and the replies received from the name server.</P
2N/A><P
2N/A>Transaction signatures can be used to authenticate the Dynamic DNS
2N/Aupdates.
2N/AThese use the TSIG resource record type described in RFC2845.
2N/AThe signatures rely on a shared secret that should only be known to
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Aand the name server.
2N/ACurrently, the only supported encryption algorithm for TSIG is
2N/AHMAC-MD5, which is defined in RFC 2104.
2N/AOnce other algorithms are defined for TSIG, applications will need to
2N/Aensure they select the appropriate algorithm as well as the key when
2N/Aauthenticating each other.
2N/AFor instance suitable
2N/A<SPAN
2N/ACLASS="TYPE"
2N/A>key</SPAN
2N/A>
2N/Aand
2N/A<SPAN
2N/ACLASS="TYPE"
2N/A>server</SPAN
2N/A>
2N/Astatements would be added to
2N/A<TT
2N/ACLASS="FILENAME"
2N/A>/etc/named.conf</TT
2N/A>
2N/Aso that the name server can associate the appropriate secret key
2N/Aand algorithm with the IP address of the
2N/Aclient application that will be using TSIG authentication.
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Adoes not read
2N/A<TT
2N/ACLASS="FILENAME"
2N/A>/etc/named.conf</TT
2N/A>.</P
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Auses the
2N/A<TT
2N/ACLASS="OPTION"
2N/A>-y</TT
2N/A>
2N/Aor
2N/A<TT
2N/ACLASS="OPTION"
2N/A>-k</TT
2N/A>
2N/Aoption to provide the shared secret needed to generate a TSIG record
2N/Afor authenticating Dynamic DNS update requests.
2N/AThese options are mutually exclusive.
2N/AWith the
2N/A<TT
2N/ACLASS="OPTION"
2N/A>-k</TT
2N/A>
2N/Aoption,
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Areads the shared secret from the file
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>keyfile</I
2N/A></TT
2N/A>,
2N/Awhose name is of the form
2N/A<TT
2N/ACLASS="FILENAME"
2N/A>K{name}.+157.+{random}.private</TT
2N/A>.
2N/AFor historical
2N/Areasons, the file
2N/A<TT
2N/ACLASS="FILENAME"
2N/A>K{name}.+157.+{random}.key</TT
2N/A>
2N/Amust also be present. When the
2N/A<TT
2N/ACLASS="OPTION"
2N/A>-y</TT
2N/A>
2N/Aoption is used, a signature is generated from
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>keyname:secret.</I
2N/A></TT
2N/A>
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>keyname</I
2N/A></TT
2N/A>
2N/Ais the name of the key,
2N/Aand
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>secret</I
2N/A></TT
2N/A>
2N/Ais the base64 encoded shared secret.
2N/AUse of the
2N/A<TT
2N/ACLASS="OPTION"
2N/A>-y</TT
2N/A>
2N/Aoption is discouraged because the shared secret is supplied as a command
2N/Aline argument in clear text.
2N/AThis may be visible in the output from
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>ps</SPAN
2N/A>(1)</SPAN
2N/A>
2N/Aor in a history file maintained by the user's shell.</P
2N/A><P
2N/A>By default
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Auses UDP to send update requests to the name server.
2N/AThe
2N/A<TT
2N/ACLASS="OPTION"
2N/A>-v</TT
2N/A>
2N/Aoption makes
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Ause a TCP connection.
2N/AThis may be preferable when a batch of update requests is made.</P
2N/A></DIV
2N/A><DIV
2N/ACLASS="REFSECT1"
2N/A><A
2N/ANAME="AEN65"
2N/A></A
2N/A><H2
2N/A>INPUT FORMAT</H2
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Areads input from
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>filename</I
2N/A></TT
2N/A>
2N/Aor standard input.
2N/AEach command is supplied on exactly one line of input.
2N/ASome commands are for administrative purposes.
2N/AThe others are either update instructions or prerequisite checks on the
2N/Acontents of the zone.
2N/AThese checks set conditions that some name or set of
2N/Aresource records (RRset) either exists or is absent from the zone.
2N/AThese conditions must be met if the entire update request is to succeed.
2N/AUpdates will be rejected if the tests for the prerequisite conditions fail.</P
2N/A><P
2N/A>Every update request consists of zero or more prerequisites
2N/Aand zero or more updates.
2N/AThis allows a suitably authenticated update request to proceed if some
2N/Aspecified resource records are present or missing from the zone.
2N/AA blank input line causes the accumulated commands to be sent as one Dynamic
2N/ADNS update request to the name server.</P
2N/A><P
2N/A>The command formats and their meaning are as follows:
2N/A<P
2N/A></P
2N/A><DIV
2N/ACLASS="VARIABLELIST"
2N/A><DL
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>server</B
2N/A> {servername} [port]</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Sends all dynamic update requests to the name server
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>servername</I
2N/A></TT
2N/A>.
2N/AWhen no server statement is provided,
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Awill send updates to the master server of the correct zone.
2N/AThe MNAME field of that zone's SOA record will identify the master
2N/Aserver for that zone.
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>port</I
2N/A></TT
2N/A>
2N/Ais the port number on
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>servername</I
2N/A></TT
2N/A>
2N/Awhere the dynamic update requests get sent.
2N/AIf no port number is specified, the default DNS port number of 53 is
2N/Aused.</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>local</B
2N/A> {address} [port]</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Sends all dynamic update requests using the local
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>address</I
2N/A></TT
2N/A>.
2N/A
2N/AWhen no local statement is provided,
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Awill send updates using an address and port choosen by the system.
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>port</I
2N/A></TT
2N/A>
2N/Acan additionally be used to make requests come from a specific port.
2N/AIf no port number is specified, the system will assign one.&#13;</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>zone</B
2N/A> {zonename}</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Specifies that all updates are to be made to the zone
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>zonename</I
2N/A></TT
2N/A>.
2N/AIf no
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>zone</I
2N/A></TT
2N/A>
2N/Astatement is provided,
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Awill attempt determine the correct zone to update based on the rest of the input.</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>prereq nxdomain</B
2N/A> {domain-name}</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Requires that no resource record of any type exists with name
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>domain-name</I
2N/A></TT
2N/A>.</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>prereq yxdomain</B
2N/A> {domain-name}</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Requires that
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>domain-name</I
2N/A></TT
2N/A>
2N/Aexists (has as at least one resource record, of any type).</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>prereq nxrrset</B
2N/A> {domain-name} [class] {type}</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Requires that no resource record exists of the specified
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>type</I
2N/A></TT
2N/A>,
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>
2N/Aand
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>domain-name</I
2N/A></TT
2N/A>.
2N/AIf
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>
2N/Ais omitted, IN (internet) is assumed.
2N/A&#13;</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>prereq yxrrset</B
2N/A> {domain-name} [class] {type}</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>This requires that a resource record of the specified
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>type</I
2N/A></TT
2N/A>,
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>
2N/Aand
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>domain-name</I
2N/A></TT
2N/A>
2N/Amust exist.
2N/AIf
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>
2N/Ais omitted, IN (internet) is assumed.</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>prereq yxrrset</B
2N/A> {domain-name} [class] {type} {data...}</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>The
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>data</I
2N/A></TT
2N/A>
2N/Afrom each set of prerequisites of this form
2N/Asharing a common
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>type</I
2N/A></TT
2N/A>,
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>,
2N/Aand
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>domain-name</I
2N/A></TT
2N/A>
2N/Aare combined to form a set of RRs. This set of RRs must
2N/Aexactly match the set of RRs existing in the zone at the
2N/Agiven
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>type</I
2N/A></TT
2N/A>,
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>,
2N/Aand
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>domain-name</I
2N/A></TT
2N/A>.
2N/AThe
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>data</I
2N/A></TT
2N/A>
2N/Aare written in the standard text representation of the resource record's
2N/ARDATA.</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>update delete</B
2N/A> {domain-name} [class] [type [data...]]</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Deletes any resource records named
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>domain-name</I
2N/A></TT
2N/A>.
2N/AIf
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>type</I
2N/A></TT
2N/A>
2N/Aand
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>data</I
2N/A></TT
2N/A>
2N/Ais provided, only matching resource records will be removed.
2N/AThe internet class is assumed if
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>
2N/Ais not supplied.</P
2N/A></DD
2N/A><DT
2N/A><P
2N/A><B
2N/ACLASS="COMMAND"
2N/A>update add</B
2N/A> {domain-name} {ttl} [class] {type} {data...}</P
2N/A></DT
2N/A><DD
2N/A><P
2N/A>Adds a new resource record with the specified
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>ttl</I
2N/A></TT
2N/A>,
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>class</I
2N/A></TT
2N/A>
2N/Aand
2N/A<TT
2N/ACLASS="PARAMETER"
2N/A><I
2N/A>data</I
2N/A></TT
2N/A>.</P
2N/A></DD
2N/A></DL
2N/A></DIV
2N/A></P
2N/A></DIV
2N/A><DIV
2N/ACLASS="REFSECT1"
2N/A><A
2N/ANAME="AEN194"
2N/A></A
2N/A><H2
2N/A>EXAMPLES</H2
2N/A><P
2N/A>The examples below show how
2N/A<B
2N/ACLASS="COMMAND"
2N/A>nsupdate</B
2N/A>
2N/Acould be used to insert and delete resource records from the
2N/A<SPAN
2N/ACLASS="TYPE"
2N/A>example.com</SPAN
2N/A>
2N/Azone.
2N/ANotice that the input in each example contains a trailing blank line so that
2N/Aa group of commands are sent as one dynamic update request to the
2N/Amaster name server for
2N/A<SPAN
2N/ACLASS="TYPE"
2N/A>example.com</SPAN
2N/A>.
2N/A
2N/A<PRE
2N/ACLASS="PROGRAMLISTING"
2N/A># nsupdate
2N/A&#62; update delete oldhost.example.com A
2N/A&#62; update add newhost.example.com 86400 A 172.16.1.1
2N/A&#62;</PRE
2N/A></P
2N/A><P
2N/A>Any A records for
2N/A<SPAN
2N/ACLASS="TYPE"
2N/A>oldhost.example.com</SPAN
2N/A>
2N/Aare deleted.
2N/Aand an A record for
2N/A<SPAN
2N/ACLASS="TYPE"
2N/A>newhost.example.com</SPAN
2N/A>
2N/Ait IP address 172.16.1.1 is added.
2N/AThe newly-added record has a 1 day TTL (86400 seconds)
2N/A<PRE
2N/ACLASS="PROGRAMLISTING"
2N/A># nsupdate
2N/A&#62; prereq nxdomain nickname.example.com
2N/A&#62; update add nickname.example.com CNAME somehost.example.com
2N/A&#62;</PRE
2N/A></P
2N/A><P
2N/A>The prerequisite condition gets the name server to check that there
2N/Aare no resource records of any type for
2N/A<SPAN
2N/ACLASS="TYPE"
2N/A>nickname.example.com</SPAN
2N/A>.
2N/A
2N/AIf there are, the update request fails.
2N/AIf this name does not exist, a CNAME for it is added.
2N/AThis ensures that when the CNAME is added, it cannot conflict with the
2N/Along-standing rule in RFC1034 that a name must not exist as any other
2N/Arecord type if it exists as a CNAME.
2N/A(The rule has been updated for DNSSEC in RFC2535 to allow CNAMEs to have
2N/ASIG, KEY and NXT records.)</P
2N/A><P
2N/A></P
2N/A></DIV
2N/A><DIV
2N/ACLASS="REFSECT1"
2N/A><A
2N/ANAME="AEN208"
2N/A></A
2N/A><H2
2N/A>FILES</H2
2N/A><P
2N/A></P
2N/A><DIV
2N/ACLASS="VARIABLELIST"
2N/A><DL
2N/A><DT
2N/A><TT
2N/ACLASS="CONSTANT"
2N/A>/etc/resolv.conf</TT
2N/A></DT
2N/A><DD
2N/A><P
2N/A></P
2N/A><P
2N/A>used to identify default name server</P
2N/A></DD
2N/A><DT
2N/A><TT
2N/ACLASS="CONSTANT"
2N/A>K{name}.+157.+{random}.key</TT
2N/A></DT
2N/A><DD
2N/A><P
2N/A>base-64 encoding of HMAC-MD5 key created by
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>dnssec-keygen</SPAN
2N/A>(8)</SPAN
2N/A>.&#13;</P
2N/A></DD
2N/A><DT
2N/A><TT
2N/ACLASS="CONSTANT"
2N/A>K{name}.+157.+{random}.private</TT
2N/A></DT
2N/A><DD
2N/A><P
2N/A>base-64 encoding of HMAC-MD5 key created by
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>dnssec-keygen</SPAN
2N/A>(8)</SPAN
2N/A>.&#13;</P
2N/A></DD
2N/A></DL
2N/A></DIV
2N/A></DIV
2N/A><DIV
2N/ACLASS="REFSECT1"
2N/A><A
2N/ANAME="AEN233"
2N/A></A
2N/A><H2
2N/A>SEE ALSO</H2
2N/A><P
2N/A><SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>RFC2136</SPAN
2N/A></SPAN
2N/A>,
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>RFC2137</SPAN
2N/A></SPAN
2N/A>,
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>RFC2104</SPAN
2N/A></SPAN
2N/A>,
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>RFC2845</SPAN
2N/A></SPAN
2N/A>,
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>RFC1034</SPAN
2N/A></SPAN
2N/A>,
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>RFC2535</SPAN
2N/A></SPAN
2N/A>,
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>named</SPAN
2N/A>(8)</SPAN
2N/A>,
2N/A<SPAN
2N/ACLASS="CITEREFENTRY"
2N/A><SPAN
2N/ACLASS="REFENTRYTITLE"
2N/A>dnssec-keygen</SPAN
2N/A>(8)</SPAN
2N/A>.&#13;</P
2N/A></DIV
2N/A><DIV
2N/ACLASS="REFSECT1"
2N/A><A
2N/ANAME="AEN254"
2N/A></A
2N/A><H2
2N/A>BUGS</H2
2N/A><P
2N/A>The TSIG key is redundantly stored in two separate files.
2N/AThis is a consequence of nsupdate using the DST library
2N/Afor its cryptographic operations, and may change in future
2N/Areleases.</P
2N/A></DIV
2N/A></BODY
2N/A></HTML
2N/A>