2017-08-17 21:11:45 -04:00
. \" Copyright (C) 2000-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
2008-08-28 23:16:14 -04:00
. \"
2016-07-21 03:11:01 -04:00
. \" This Source Code Form is subject to the terms of the Mozilla Public
. \" License, v. 2.0. If a copy of the MPL was not distributed with this
. \" file, You can obtain one at http://mozilla.org/MPL/2.0/.
2008-08-28 23:16:14 -04:00
. \"
.hy 0
.ad l
2015-10-06 01:45:21 -04:00
'\" t
2009-06-09 21:12:51 -04:00
. \" Title: nsupdate
. \" Author:
2015-10-07 00:11:09 -04:00
. \" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
2015-10-06 01:45:21 -04:00
. \" Date: 2014-04-18
2009-06-09 21:12:51 -04:00
. \" Manual: BIND9
2015-10-06 01:45:21 -04:00
. \" Source: ISC
. \" Language: English
2009-06-09 21:12:51 -04:00
. \"
2015-10-06 01:45:21 -04:00
.TH "NSUPDATE" "1" "2014\-04\-18" "ISC" "BIND9"
. \" -----------------------------------------------------------------
. \" * Define some portability stuff
. \" -----------------------------------------------------------------
. \" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
. \" http://bugs.debian.org/507673
. \" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
. \" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n (.g .ds Aq \(aq
.el .ds Aq '
. \" -----------------------------------------------------------------
. \" * set default formatting
. \" -----------------------------------------------------------------
2009-06-09 21:12:51 -04:00
. \" disable hyphenation
.nh
. \" disable justification (adjust text to left margin only)
.ad l
2015-10-06 01:45:21 -04:00
. \" -----------------------------------------------------------------
. \" * MAIN CONTENT STARTS HERE *
. \" -----------------------------------------------------------------
2009-06-09 21:12:51 -04:00
.SH "NAME"
2008-08-28 23:16:14 -04:00
nsupdate \- Dynamic DNS update utility
2008-08-31 21:44:30 -04:00
.SH "SYNOPSIS"
2015-10-07 00:11:09 -04:00
.HP \w '\fBnsupdate\fR\ 'u
2017-08-29 21:12:14 -04:00
\fB nsupdate\fR [\fB \- d\fR ] [\fB \- D\fR ] [\fB \- i\fR ] [\fB \- L\ \fR \fB \fI level\fR \fR ] [[\fB \- g\fR ] | [\fB \- o\fR ] | [\fB \- l\fR ] | [\fB \- y\ \fR \fB \fI [hmac:]\fR \fI keyname:secret\fR \fR ] | [\fB \- k\ \fR \fB \fI keyfile\fR \fR ]] [\fB \- t\ \fR \fB \fI timeout\fR \fR ] [\fB \- u\ \fR \fB \fI udptimeout\fR \fR ] [\fB \- r\ \fR \fB \fI udpretries\fR \fR ] [\fB \- R\ \fR \fB \fI randomdev\fR \fR ] [\fB \- v\fR ] [\fB \- T\fR ] [\fB \- P\fR ] [\fB \- V\fR ] [[\fB \- 4\fR ] | [\fB \- 6\fR ]] [filename]
2008-08-28 23:16:14 -04:00
.SH "DESCRIPTION"
.PP
2009-06-09 21:12:51 -04:00
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
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\& .
2008-08-28 23:16:14 -04:00
.PP
2009-06-09 21:12:51 -04:00
Zones that are under dynamic control via
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
or a DHCP server should not be edited by hand\& . Manual edits could conflict with dynamic updates and cause data to be lost\& .
2008-08-28 23:16:14 -04:00
.PP
2009-06-09 21:12:51 -04:00
The resource records that are dynamically added or removed with
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
have to be in the same zone\& . Requests are sent to the zone\* (Aqs master server\& . This is identified by the MNAME field of the zone\* (Aqs SOA record\& .
2008-08-28 23:16:14 -04:00
.PP
2015-10-06 01:45:21 -04:00
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\& .
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
TSIG relies on a shared secret that should only be known to
2009-06-09 21:12:51 -04:00
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
and the name server\& . For instance, suitable
2009-06-09 21:12:51 -04:00
\fB key\fR
and
\fB server\fR
statements would be added to
2015-10-06 01:45:21 -04:00
/etc/named\& .conf
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\& . You can use
2015-02-27 20:05:06 -05:00
\fB ddns\- confgen\fR
2015-10-06 01:45:21 -04:00
to generate suitable configuration fragments\& .
2009-06-09 21:12:51 -04:00
\fB nsupdate\fR
2015-02-27 20:05:06 -05:00
uses the
\fB \- y\fR
or
\fB \- k\fR
2015-10-06 01:45:21 -04:00
options to provide the TSIG shared secret\& . These options are mutually exclusive\& .
2015-02-27 20:05:06 -05:00
.PP
2015-10-06 01:45:21 -04:00
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\& .
2009-10-16 00:20:49 -04:00
.PP
2015-10-06 01:45:21 -04:00
GSS\- TSIG uses Kerberos credentials\& . Standard GSS\- TSIG mode is switched on with the
2009-10-16 00:20:49 -04:00
\fB \- g\fR
2015-10-06 01:45:21 -04:00
flag\& . A non\- standards\- compliant variant of GSS\- TSIG used by Windows 2000 can be switched on with the
2009-10-16 00:20:49 -04:00
\fB \- o\fR
2015-10-06 01:45:21 -04:00
flag\& .
2015-02-27 20:05:06 -05:00
.SH "OPTIONS"
2008-08-28 23:16:14 -04:00
.PP
2017-08-29 21:12:14 -04:00
\- 4
.RS 4
Use IPv4 only\& .
.RE
.PP
\- 6
.RS 4
Use IPv6 only\& .
.RE
.PP
2015-02-27 20:05:06 -05:00
\- d
.RS 4
2015-10-06 01:45:21 -04:00
Debug mode\& . This provides tracing information about the update requests that are made and the replies received from the name server\& .
2015-02-27 20:05:06 -05:00
.RE
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
\- D
.RS 4
2015-10-06 01:45:21 -04:00
Extra debug mode\& .
2015-02-27 20:05:06 -05:00
.RE
2009-03-09 21:12:31 -04:00
.PP
2017-08-17 21:11:45 -04:00
\- i
.RS 4
Force interactive mode, even when standard input is not a terminal\& .
.RE
.PP
2015-02-27 20:05:06 -05:00
\- k \fI keyfile\fR
.RS 4
2015-10-06 01:45:21 -04:00
The file containing the TSIG authentication key\& . Keyfiles may be in two formats: a single file containing a
named\& .conf\- format
2009-06-09 21:12:51 -04:00
\fB key\fR
statement, which may be generated automatically by
\fB ddns\- confgen\fR , or a pair of files whose names are of the format
2015-10-06 01:45:21 -04:00
K{name}\& .+157\& .+{random}\& .key
2009-06-09 21:12:51 -04:00
and
2015-10-06 01:45:21 -04:00
K{name}\& .+157\& .+{random}\& .private, which can be generated by
\fB dnssec\- keygen\fR \& . The
2009-06-09 21:12:51 -04:00
\fB \- k\fR
2015-10-06 01:45:21 -04:00
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\& .
2015-02-27 20:05:06 -05:00
.RE
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
\- l
.RS 4
2015-10-06 01:45:21 -04:00
Local\- host only mode\& . This sets the server address to localhost (disabling the
2009-06-09 21:12:51 -04:00
\fB server\fR
2015-10-06 01:45:21 -04:00
so that the server address cannot be overridden)\& . Connections to the local server will use a TSIG key found in
/var/run/named/session\& .key, which is automatically generated by
2009-06-09 21:12:51 -04:00
\fB named\fR
2009-07-14 21:13:11 -04:00
if any local master zone has set
\fB update\- policy\fR
to
2015-10-06 01:45:21 -04:00
\fB local\fR \& . The location of this key file can be overridden with the
2009-06-09 21:12:51 -04:00
\fB \- k\fR
2015-10-06 01:45:21 -04:00
option\& .
2015-02-27 20:05:06 -05:00
.RE
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
\- L \fI level\fR
.RS 4
2015-10-06 01:45:21 -04:00
Set the logging debug level\& . If zero, logging is disabled\& .
2015-02-27 20:05:06 -05:00
.RE
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
\- p \fI port\fR
.RS 4
2015-10-06 01:45:21 -04:00
Set the port to use for connections to a name server\& . The default is 53\& .
2015-02-27 20:05:06 -05:00
.RE
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
\- P
.RS 4
Print the list of private BIND\- specific resource record types whose format is understood by
2015-10-06 01:45:21 -04:00
\fB nsupdate\fR \& . See also the
2015-02-27 20:05:06 -05:00
\fB \- T\fR
2015-10-06 01:45:21 -04:00
option\& .
2015-02-27 20:05:06 -05:00
.RE
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
\- r \fI udpretries\fR
.RS 4
2015-10-06 01:45:21 -04:00
The number of UDP retries\& . The default is 3\& . If zero, only one update request will be made\& .
2015-02-27 20:05:06 -05:00
.RE
2008-08-28 23:16:14 -04:00
.PP
2015-02-27 20:05:06 -05:00
\- R \fI randomdev\fR
.RS 4
2015-10-06 01:45:21 -04:00
Where to obtain randomness\& . If the operating system does not provide a
/dev/random
or equivalent device, the default source of randomness is keyboard input\& .
randomdev
specifies the name of a character device or file containing random data to be used instead of the default\& . The special value
keyboard
indicates that keyboard input should be used\& . This option may be specified multiple times\& .
2015-02-27 20:05:06 -05:00
.RE
2012-03-06 20:41:11 -05:00
.PP
2015-02-27 20:05:06 -05:00
\- t \fI timeout\fR
.RS 4
2015-10-06 01:45:21 -04:00
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\& .
2015-02-27 20:05:06 -05:00
.RE
2012-03-06 20:41:11 -05:00
.PP
2015-02-27 20:05:06 -05:00
\- T
.RS 4
Print the list of IANA standard resource record types whose format is understood by
2015-10-06 01:45:21 -04:00
\fB nsupdate\fR \& .
2015-02-27 20:05:06 -05:00
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
will exit after the lists are printed\& . The
2012-03-06 20:41:11 -05:00
\fB \- T\fR
2015-02-27 20:05:06 -05:00
option can be combined with the
2012-03-06 20:41:11 -05:00
\fB \- P\fR
2015-10-06 01:45:21 -04:00
option\& .
2015-02-27 20:05:06 -05:00
.sp
2015-10-06 01:45:21 -04:00
Other types can be entered using "TYPEXXXXX" where "XXXXX" is the decimal value of the type with no leading zeros\& . The rdata, if present, will be parsed using the UNKNOWN rdata format, (<backslash> <hash> <space> <length> <space> <hexstring>)\& .
2015-02-27 20:05:06 -05:00
.RE
.PP
\- u \fI udptimeout\fR
.RS 4
2015-10-06 01:45:21 -04:00
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\& .
2015-02-27 20:05:06 -05:00
.RE
2014-03-03 20:05:04 -05:00
.PP
2015-02-27 20:05:06 -05:00
\- v
.RS 4
2015-10-06 01:45:21 -04:00
Use TCP even for small update requests\& . By default,
2014-03-03 20:05:04 -05:00
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
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\& . TCP may be preferable when a batch of update requests is made\& .
2015-02-27 20:05:06 -05:00
.RE
.PP
\- V
.RS 4
2015-10-06 01:45:21 -04:00
Print the version number and exit\& .
2015-02-27 20:05:06 -05:00
.RE
.PP
\- y \fI [hmac:]\fR \fI keyname:secret\fR
.RS 4
2015-10-06 01:45:21 -04:00
Literal TSIG authentication key\& .
2015-02-27 20:05:06 -05:00
\fI keyname\fR
is the name of the key, and
\fI secret\fR
2015-10-06 01:45:21 -04:00
is the base64 encoded shared secret\& .
2015-02-27 20:05:06 -05:00
\fI hmac\fR
is the name of the key algorithm; valid choices are
hmac\- md5,
hmac\- sha1,
hmac\- sha224,
hmac\- sha256,
hmac\- sha384, or
2015-10-06 01:45:21 -04:00
hmac\- sha512\& . If
2015-02-27 20:05:06 -05:00
\fI hmac\fR
is not specified, the default is
2016-08-18 21:04:52 -04:00
hmac\- md5
or if MD5 was disabled
hmac\- sha256\& .
2015-02-27 20:05:06 -05:00
.sp
NOTE: Use of the
\fB \- y\fR
2015-10-06 01:45:21 -04:00
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
2015-02-27 20:05:06 -05:00
\fB ps\fR (1)
2015-10-06 01:45:21 -04:00
or in a history file maintained by the user\* (Aqs shell\& .
2015-02-27 20:05:06 -05:00
.RE
2009-06-09 20:27:22 -04:00
.SH "INPUT FORMAT"
2008-08-28 23:16:14 -04:00
.PP
2009-06-09 21:12:51 -04:00
\fB nsupdate\fR
reads input from
\fI filename\fR
2015-10-06 01:45:21 -04:00
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\& .
2009-06-09 21:12:51 -04:00
.PP
2015-10-06 01:45:21 -04: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
2009-06-09 21:12:51 -04:00
\fB send\fR
2015-10-06 01:45:21 -04:00
command) causes the accumulated commands to be sent as one Dynamic DNS update request to the name server\& .
2008-08-28 23:16:14 -04:00
.PP
2009-06-09 21:12:51 -04:00
The command formats and their meaning are as follows:
2008-08-28 23:16:14 -04:00
.PP
2009-06-09 20:27:22 -04:00
\fB server\fR {servername} [port]
2009-06-09 21:12:51 -04:00
.RS 4
Sends all dynamic update requests to the name server
2015-10-06 01:45:21 -04:00
\fI servername\fR \& . When no server statement is provided,
2009-06-09 21:12:51 -04:00
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
will send updates to the master server of the correct zone\& . The MNAME field of that zone\* (Aqs SOA record will identify the master server for that zone\& .
2009-06-09 21:12:51 -04:00
\fI port\fR
is the port number on
\fI servername\fR
2015-10-06 01:45:21 -04:00
where the dynamic update requests get sent\& . If no port number is specified, the default DNS port number of 53 is used\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2009-06-09 20:27:22 -04:00
\fB local\fR {address} [port]
2009-06-09 21:12:51 -04:00
.RS 4
Sends all dynamic update requests using the local
2015-10-06 01:45:21 -04:00
\fI address\fR \& . When no local statement is provided,
2009-06-09 21:12:51 -04:00
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
will send updates using an address and port chosen by the system\& .
2009-06-09 21:12:51 -04:00
\fI port\fR
2015-10-06 01:45:21 -04:00
can additionally be used to make requests come from a specific port\& . If no port number is specified, the system will assign one\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2008-08-28 23:16:14 -04:00
\fB zone\fR {zonename}
2009-06-09 21:12:51 -04:00
.RS 4
Specifies that all updates are to be made to the zone
2015-10-06 01:45:21 -04:00
\fI zonename\fR \& . If no
2009-06-09 21:12:51 -04:00
\fI zone\fR
statement is provided,
\fB nsupdate\fR
2015-10-06 01:45:21 -04:00
will attempt determine the correct zone to update based on the rest of the input\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2008-08-28 23:16:14 -04:00
\fB class\fR {classname}
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
Specify the default class\& . If no
2009-06-09 21:12:51 -04:00
\fI class\fR
is specified, the default class is
2015-10-06 01:45:21 -04:00
\fI IN\fR \& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2008-09-25 00:45:05 -04:00
\fB ttl\fR {seconds}
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
Specify the default time to live for records to be added\& . The value
2009-06-09 21:12:51 -04:00
\fI none\fR
2015-10-06 01:45:21 -04:00
will clear the default ttl\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2014-04-19 21:05:19 -04:00
\fB key\fR [hmac:] {keyname} {secret}
2009-06-09 21:12:51 -04:00
.RS 4
Specifies that all updates are to be TSIG\- signed using the
2015-10-07 00:11:09 -04:00
\fI keyname\fR \fI secret\fR
2015-10-06 01:45:21 -04:00
pair\& . If
2014-04-19 21:05:19 -04:00
\fI hmac\fR
is specified, then it sets the signing algorithm in use; the default is
2016-08-18 21:04:52 -04:00
hmac\- md5
or if MD5 was disabled
hmac\- sha256\& . The
2009-06-09 21:12:51 -04:00
\fB key\fR
command overrides any key specified on the command line via
\fB \- y\fR
or
2015-10-06 01:45:21 -04:00
\fB \- k\fR \& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2010-07-09 21:14:20 -04:00
\fB gsstsig\fR
.RS 4
2015-10-06 01:45:21 -04:00
Use GSS\- TSIG to sign the updated\& . This is equivalent to specifying
2010-07-09 21:14:20 -04:00
\fB \- g\fR
2015-10-06 01:45:21 -04:00
on the command line\& .
2010-07-09 21:14:20 -04:00
.RE
.PP
\fB oldgsstsig\fR
.RS 4
2015-10-06 01:45:21 -04:00
Use the Windows 2000 version of GSS\- TSIG to sign the updated\& . This is equivalent to specifying
2010-07-09 21:14:20 -04:00
\fB \- o\fR
2015-10-06 01:45:21 -04:00
on the command line\& .
2010-07-09 21:14:20 -04:00
.RE
.PP
\fB realm\fR {[realm_name]}
.RS 4
When using GSS\- TSIG use
\fI realm_name\fR
rather than the default realm in
2015-10-06 01:45:21 -04:00
krb5\& .conf\& . If no realm is specified the saved realm is cleared\& .
2010-07-09 21:14:20 -04:00
.RE
.PP
2014-10-01 21:05:48 -04:00
\fB check\- names\fR {[yes_or_no]}
.RS 4
2015-10-06 01:45:21 -04:00
Turn on or off check\- names processing on records to be added\& . Check\- names has no effect on prerequisites or records to be deleted\& . By default check\- names processing is on\& . If check\- names processing fails the record will not be added to the UPDATE message\& .
2014-10-01 21:05:48 -04:00
.RE
.PP
2011-12-16 20:14:51 -05:00
\fB [prereq]\fR \fB nxdomain\fR {domain\- name}
2009-06-09 21:12:51 -04:00
.RS 4
Requires that no resource record of any type exists with name
2015-10-06 01:45:21 -04:00
\fI domain\- name\fR \& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2011-12-16 20:14:51 -05:00
\fB [prereq]\fR \fB yxdomain\fR {domain\- name}
2009-06-09 21:12:51 -04:00
.RS 4
Requires that
\fI domain\- name\fR
2015-10-06 01:45:21 -04:00
exists (has as at least one resource record, of any type)\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2011-12-16 20:14:51 -05:00
\fB [prereq]\fR \fB nxrrset\fR {domain\- name} [class] {type}
2009-06-09 21:12:51 -04:00
.RS 4
Requires that no resource record exists of the specified
\fI type\fR ,
\fI class\fR
and
2015-10-06 01:45:21 -04:00
\fI domain\- name\fR \& . If
2009-06-09 21:12:51 -04:00
\fI class\fR
2015-10-06 01:45:21 -04:00
is omitted, IN (internet) is assumed\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2011-12-16 20:14:51 -05:00
\fB [prereq]\fR \fB yxrrset\fR {domain\- name} [class] {type}
2009-06-09 21:12:51 -04:00
.RS 4
This requires that a resource record of the specified
\fI type\fR ,
\fI class\fR
and
\fI domain\- name\fR
2015-10-06 01:45:21 -04:00
must exist\& . If
2009-06-09 21:12:51 -04:00
\fI class\fR
2015-10-06 01:45:21 -04:00
is omitted, IN (internet) is assumed\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2011-12-16 20:14:51 -05:00
\fB [prereq]\fR \fB yxrrset\fR {domain\- name} [class] {type} {data...}
2009-06-09 21:12:51 -04:00
.RS 4
The
\fI data\fR
from each set of prerequisites of this form sharing a common
\fI type\fR ,
\fI class\fR , and
\fI domain\- name\fR
2015-10-06 01:45:21 -04:00
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
2009-06-09 21:12:51 -04:00
\fI type\fR ,
\fI class\fR , and
2015-10-06 01:45:21 -04:00
\fI domain\- name\fR \& . The
2009-06-09 21:12:51 -04:00
\fI data\fR
2015-10-06 01:45:21 -04:00
are written in the standard text representation of the resource record\* (Aqs RDATA\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2011-12-16 20:14:51 -05:00
\fB [update]\fR \fB del\fR \fB [ete]\fR {domain\- name} [ttl] [class] [type\ [data...]]
2009-06-09 21:12:51 -04:00
.RS 4
Deletes any resource records named
2015-10-06 01:45:21 -04:00
\fI domain\- name\fR \& . If
2009-06-09 21:12:51 -04:00
\fI type\fR
and
\fI data\fR
2015-10-06 01:45:21 -04:00
is provided, only matching resource records will be removed\& . The internet class is assumed if
2009-06-09 21:12:51 -04:00
\fI class\fR
2015-10-06 01:45:21 -04:00
is not supplied\& . The
2009-06-09 21:12:51 -04:00
\fI ttl\fR
2015-10-06 01:45:21 -04:00
is ignored, and is only allowed for compatibility\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2011-12-16 20:14:51 -05:00
\fB [update]\fR \fB add\fR {domain\- name} {ttl} [class] {type} {data...}
2009-06-09 21:12:51 -04:00
.RS 4
Adds a new resource record with the specified
\fI ttl\fR ,
\fI class\fR
and
2015-10-06 01:45:21 -04:00
\fI data\fR \& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2008-08-28 23:16:14 -04:00
\fB show\fR
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
Displays the current message, containing all of the prerequisites and updates specified since the last send\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2008-08-28 23:16:14 -04:00
\fB send\fR
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
Sends the current message\& . This is equivalent to entering a blank line\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2008-08-28 23:16:14 -04:00
\fB answer\fR
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
Displays the answer\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2008-09-25 00:45:05 -04:00
\fB debug\fR
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
Turn on debugging\& .
2009-06-09 21:12:51 -04:00
.RE
2008-09-25 00:45:05 -04:00
.PP
2014-03-03 20:05:04 -05:00
\fB version\fR
.RS 4
2015-10-06 01:45:21 -04:00
Print version number\& .
2014-03-03 20:05:04 -05:00
.RE
.PP
\fB help\fR
.RS 4
2015-10-06 01:45:21 -04:00
Print a list of commands\& .
2014-03-03 20:05:04 -05:00
.RE
.PP
2015-10-06 01:45:21 -04:00
Lines beginning with a semicolon are comments and are ignored\& .
2008-08-28 23:16:14 -04:00
.SH "EXAMPLES"
.PP
2009-06-09 21:12:51 -04:00
The examples below show how
\fB nsupdate\fR
could be used to insert and delete resource records from the
2015-10-06 01:45:21 -04:00
\fB example\& .com\fR
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
\fB example\& .com\fR \& .
2009-06-09 21:12:51 -04:00
.sp
2015-10-06 01:45:21 -04:00
.if n \{ \
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
. \}
2008-08-28 23:16:14 -04:00
.nf
# nsupdate
2015-10-06 01:45:21 -04:00
> update delete oldhost\& .example\& .com A
> update add newhost\& .example\& .com 86400 A 172\& .16\& .1\& .1
2008-08-28 23:16:14 -04:00
> send
.fi
2015-10-06 01:45:21 -04:00
.if n \{ \
2009-06-09 21:12:51 -04:00
.RE
2015-10-06 01:45:21 -04:00
. \}
2008-08-28 23:16:14 -04:00
.PP
2009-06-09 21:12:51 -04:00
Any A records for
2015-10-06 01:45:21 -04:00
\fB oldhost\& .example\& .com\fR
are deleted\& . And an A record for
\fB newhost\& .example\& .com\fR
with IP address 172\& .16\& .1\& .1 is added\& . The newly\- added record has a 1 day TTL (86400 seconds)\& .
2009-06-09 21:12:51 -04:00
.sp
2015-10-06 01:45:21 -04:00
.if n \{ \
2009-06-09 21:12:51 -04:00
.RS 4
2015-10-06 01:45:21 -04:00
. \}
2008-08-28 23:16:14 -04:00
.nf
# nsupdate
2015-10-06 01:45:21 -04:00
> prereq nxdomain nickname\& .example\& .com
> update add nickname\& .example\& .com 86400 CNAME somehost\& .example\& .com
2008-08-28 23:16:14 -04:00
> send
.fi
2015-10-06 01:45:21 -04:00
.if n \{ \
2009-06-09 21:12:51 -04:00
.RE
2015-10-06 01:45:21 -04:00
. \}
2008-08-28 23:16:14 -04:00
.PP
2009-06-09 21:12:51 -04:00
The prerequisite condition gets the name server to check that there are no resource records of any type for
2015-10-06 01:45:21 -04:00
\fB nickname\& .example\& .com\fR \& . 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\& .)
2008-08-28 23:16:14 -04:00
.SH "FILES"
2009-06-09 21:12:51 -04:00
.PP
2015-10-06 01:45:21 -04:00
\fB /etc/resolv\& .conf\fR
2009-06-09 21:12:51 -04:00
.RS 4
2008-08-28 23:16:14 -04:00
used to identify default name server
2009-06-09 21:12:51 -04:00
.RE
.PP
2015-10-06 01:45:21 -04:00
\fB /var/run/named/session\& .key\fR
2009-06-09 21:12:51 -04:00
.RS 4
2009-06-09 20:27:22 -04:00
sets the default TSIG key for use in local\- only mode
2009-06-09 21:12:51 -04:00
.RE
.PP
2015-10-06 01:45:21 -04:00
\fB K{name}\& .+157\& .+{random}\& .key\fR
2009-06-09 21:12:51 -04:00
.RS 4
base\- 64 encoding of HMAC\- MD5 key created by
2015-10-06 01:45:21 -04:00
\fB dnssec-keygen\fR (8)\& .
2009-06-09 21:12:51 -04:00
.RE
.PP
2015-10-06 01:45:21 -04:00
\fB K{name}\& .+157\& .+{random}\& .private\fR
2009-06-09 21:12:51 -04:00
.RS 4
base\- 64 encoding of HMAC\- MD5 key created by
2015-10-06 01:45:21 -04:00
\fB dnssec-keygen\fR (8)\& .
2009-06-09 21:12:51 -04:00
.RE
2008-08-28 23:16:14 -04:00
.SH "SEE ALSO"
.PP
2009-10-16 00:20:49 -04:00
RFC 2136,
RFC 3007,
RFC 2104,
RFC 2845,
RFC 1034,
RFC 2535,
RFC 2931,
2009-06-09 21:12:51 -04:00
\fB named\fR (8),
2015-10-06 01:45:21 -04:00
\fB ddns-confgen\fR (8),
\fB dnssec-keygen\fR (8)\& .
2008-08-28 23:16:14 -04:00
.SH "BUGS"
.PP
2015-10-06 01:45:21 -04: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\& .
.SH "AUTHOR"
.PP
\fB Internet Systems Consortium, Inc\& .\fR
2009-06-09 21:12:51 -04:00
.SH "COPYRIGHT"
.br
2017-08-17 21:11:45 -04:00
Copyright \(co 2000-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
2009-06-09 21:12:51 -04:00
.br