1*00b67f09SDavid van Moolenbroek<!-- 2*00b67f09SDavid van Moolenbroek - Copyright (C) 2004-2012, 2014 Internet Systems Consortium, Inc. ("ISC") 3*00b67f09SDavid van Moolenbroek - Copyright (C) 2000-2003 Internet Software Consortium. 4*00b67f09SDavid van Moolenbroek - 5*00b67f09SDavid van Moolenbroek - Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek - purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek - copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek - 9*00b67f09SDavid van Moolenbroek - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek - PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek--> 17*00b67f09SDavid van Moolenbroek<!-- Id --> 18*00b67f09SDavid van Moolenbroek<html> 19*00b67f09SDavid van Moolenbroek<head> 20*00b67f09SDavid van Moolenbroek<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 21*00b67f09SDavid van Moolenbroek<title>nsupdate</title> 22*00b67f09SDavid van Moolenbroek<meta name="generator" content="DocBook XSL Stylesheets V1.71.1"> 23*00b67f09SDavid van Moolenbroek</head> 24*00b67f09SDavid van Moolenbroek<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"> 25*00b67f09SDavid van Moolenbroek<a name="man.nsupdate"></a><div class="titlepage"></div> 26*00b67f09SDavid van Moolenbroek<div class="refnamediv"> 27*00b67f09SDavid van Moolenbroek<h2>Name</h2> 28*00b67f09SDavid van Moolenbroek<p><span class="application">nsupdate</span> — Dynamic DNS update utility</p> 29*00b67f09SDavid van Moolenbroek</div> 30*00b67f09SDavid van Moolenbroek<div class="refsynopsisdiv"> 31*00b67f09SDavid van Moolenbroek<h2>Synopsis</h2> 32*00b67f09SDavid van Moolenbroek<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</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">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [<code class="option">-T</code>] [<code class="option">-P</code>] [<code class="option">-V</code>] [filename]</p></div> 33*00b67f09SDavid van Moolenbroek</div> 34*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 35*00b67f09SDavid van Moolenbroek<a name="id2543485"></a><h2>DESCRIPTION</h2> 36*00b67f09SDavid van Moolenbroek<p><span><strong class="command">nsupdate</strong></span> 37*00b67f09SDavid van Moolenbroek is used to submit Dynamic DNS Update requests as defined in RFC 2136 38*00b67f09SDavid van Moolenbroek to a name server. 39*00b67f09SDavid van Moolenbroek This allows resource records to be added or removed from a zone 40*00b67f09SDavid van Moolenbroek without manually editing the zone file. 41*00b67f09SDavid van Moolenbroek A single update request can contain requests to add or remove more than 42*00b67f09SDavid van Moolenbroek one 43*00b67f09SDavid van Moolenbroek resource record. 44*00b67f09SDavid van Moolenbroek </p> 45*00b67f09SDavid van Moolenbroek<p> 46*00b67f09SDavid van Moolenbroek Zones that are under dynamic control via 47*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 48*00b67f09SDavid van Moolenbroek or a DHCP server should not be edited by hand. 49*00b67f09SDavid van Moolenbroek Manual edits could 50*00b67f09SDavid van Moolenbroek conflict with dynamic updates and cause data to be lost. 51*00b67f09SDavid van Moolenbroek </p> 52*00b67f09SDavid van Moolenbroek<p> 53*00b67f09SDavid van Moolenbroek The resource records that are dynamically added or removed with 54*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 55*00b67f09SDavid van Moolenbroek have to be in the same zone. 56*00b67f09SDavid van Moolenbroek Requests are sent to the zone's master server. 57*00b67f09SDavid van Moolenbroek This is identified by the MNAME field of the zone's SOA record. 58*00b67f09SDavid van Moolenbroek </p> 59*00b67f09SDavid van Moolenbroek<p> 60*00b67f09SDavid van Moolenbroek The 61*00b67f09SDavid van Moolenbroek <code class="option">-d</code> 62*00b67f09SDavid van Moolenbroek option makes 63*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 64*00b67f09SDavid van Moolenbroek operate in debug mode. 65*00b67f09SDavid van Moolenbroek This provides tracing information about the update requests that are 66*00b67f09SDavid van Moolenbroek made and the replies received from the name server. 67*00b67f09SDavid van Moolenbroek </p> 68*00b67f09SDavid van Moolenbroek<p> 69*00b67f09SDavid van Moolenbroek The <code class="option">-D</code> option makes <span><strong class="command">nsupdate</strong></span> 70*00b67f09SDavid van Moolenbroek report additional debugging information to <code class="option">-d</code>. 71*00b67f09SDavid van Moolenbroek </p> 72*00b67f09SDavid van Moolenbroek<p> 73*00b67f09SDavid van Moolenbroek The <code class="option">-L</code> option with an integer argument of zero or 74*00b67f09SDavid van Moolenbroek higher sets the logging debug level. If zero, logging is disabled. 75*00b67f09SDavid van Moolenbroek </p> 76*00b67f09SDavid van Moolenbroek<p> 77*00b67f09SDavid van Moolenbroek Transaction signatures can be used to authenticate the Dynamic 78*00b67f09SDavid van Moolenbroek DNS updates. These use the TSIG resource record type described 79*00b67f09SDavid van Moolenbroek in RFC 2845 or the SIG(0) record described in RFC 2535 and 80*00b67f09SDavid van Moolenbroek RFC 2931 or GSS-TSIG as described in RFC 3645. TSIG relies on 81*00b67f09SDavid van Moolenbroek a shared secret that should only be known to 82*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> and the name server. Currently, 83*00b67f09SDavid van Moolenbroek the only supported encryption algorithm for TSIG is HMAC-MD5, 84*00b67f09SDavid van Moolenbroek which is defined in RFC 2104. Once other algorithms are 85*00b67f09SDavid van Moolenbroek defined for TSIG, applications will need to ensure they select 86*00b67f09SDavid van Moolenbroek the appropriate algorithm as well as the key when authenticating 87*00b67f09SDavid van Moolenbroek each other. For instance, suitable <span class="type">key</span> and 88*00b67f09SDavid van Moolenbroek <span class="type">server</span> statements would be added to 89*00b67f09SDavid van Moolenbroek <code class="filename">/etc/named.conf</code> so that the name server 90*00b67f09SDavid van Moolenbroek can associate the appropriate secret key and algorithm with 91*00b67f09SDavid van Moolenbroek the IP address of the client application that will be using 92*00b67f09SDavid van Moolenbroek TSIG authentication. SIG(0) uses public key cryptography. 93*00b67f09SDavid van Moolenbroek To use a SIG(0) key, the public key must be stored in a KEY 94*00b67f09SDavid van Moolenbroek record in a zone served by the name server. 95*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> does not read 96*00b67f09SDavid van Moolenbroek <code class="filename">/etc/named.conf</code>. 97*00b67f09SDavid van Moolenbroek </p> 98*00b67f09SDavid van Moolenbroek<p> 99*00b67f09SDavid van Moolenbroek GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode 100*00b67f09SDavid van Moolenbroek is switched on with the <code class="option">-g</code> flag. A 101*00b67f09SDavid van Moolenbroek non-standards-compliant variant of GSS-TSIG used by Windows 102*00b67f09SDavid van Moolenbroek 2000 can be switched on with the <code class="option">-o</code> flag. 103*00b67f09SDavid van Moolenbroek </p> 104*00b67f09SDavid van Moolenbroek<p><span><strong class="command">nsupdate</strong></span> 105*00b67f09SDavid van Moolenbroek uses the <code class="option">-y</code> or <code class="option">-k</code> option 106*00b67f09SDavid van Moolenbroek to provide the shared secret needed to generate a TSIG record 107*00b67f09SDavid van Moolenbroek for authenticating Dynamic DNS update requests, default type 108*00b67f09SDavid van Moolenbroek HMAC-MD5. These options are mutually exclusive. 109*00b67f09SDavid van Moolenbroek </p> 110*00b67f09SDavid van Moolenbroek<p> 111*00b67f09SDavid van Moolenbroek When the <code class="option">-y</code> option is used, a signature is 112*00b67f09SDavid van Moolenbroek generated from 113*00b67f09SDavid van Moolenbroek [<span class="optional"><em class="parameter"><code>hmac:</code></em></span>]<em class="parameter"><code>keyname:secret.</code></em> 114*00b67f09SDavid van Moolenbroek <em class="parameter"><code>keyname</code></em> is the name of the key, and 115*00b67f09SDavid van Moolenbroek <em class="parameter"><code>secret</code></em> is the base64 encoded shared secret. 116*00b67f09SDavid van Moolenbroek <em class="parameter"><code>hmac</code></em> is the name of the key algorithm; 117*00b67f09SDavid van Moolenbroek valid choices are <code class="literal">hmac-md5</code>, 118*00b67f09SDavid van Moolenbroek <code class="literal">hmac-sha1</code>, <code class="literal">hmac-sha224</code>, 119*00b67f09SDavid van Moolenbroek <code class="literal">hmac-sha256</code>, <code class="literal">hmac-sha384</code>, or 120*00b67f09SDavid van Moolenbroek <code class="literal">hmac-sha512</code>. If <em class="parameter"><code>hmac</code></em> 121*00b67f09SDavid van Moolenbroek is not specified, the default is <code class="literal">hmac-md5</code>. 122*00b67f09SDavid van Moolenbroek NOTE: Use of the <code class="option">-y</code> option is discouraged because the 123*00b67f09SDavid van Moolenbroek shared secret is supplied as a command line argument in clear text. 124*00b67f09SDavid van Moolenbroek This may be visible in the output from 125*00b67f09SDavid van Moolenbroek <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span> 126*00b67f09SDavid van Moolenbroek or in a history file maintained by the user's shell. 127*00b67f09SDavid van Moolenbroek </p> 128*00b67f09SDavid van Moolenbroek<p> 129*00b67f09SDavid van Moolenbroek With the 130*00b67f09SDavid van Moolenbroek <code class="option">-k</code> option, <span><strong class="command">nsupdate</strong></span> reads 131*00b67f09SDavid van Moolenbroek the shared secret from the file <em class="parameter"><code>keyfile</code></em>. 132*00b67f09SDavid van Moolenbroek Keyfiles may be in two formats: a single file containing 133*00b67f09SDavid van Moolenbroek a <code class="filename">named.conf</code>-format <span><strong class="command">key</strong></span> 134*00b67f09SDavid van Moolenbroek statement, which may be generated automatically by 135*00b67f09SDavid van Moolenbroek <span><strong class="command">ddns-confgen</strong></span>, or a pair of files whose names are 136*00b67f09SDavid van Moolenbroek of the format <code class="filename">K{name}.+157.+{random}.key</code> and 137*00b67f09SDavid van Moolenbroek <code class="filename">K{name}.+157.+{random}.private</code>, which can be 138*00b67f09SDavid van Moolenbroek generated by <span><strong class="command">dnssec-keygen</strong></span>. 139*00b67f09SDavid van Moolenbroek The <code class="option">-k</code> may also be used to specify a SIG(0) key used 140*00b67f09SDavid van Moolenbroek to authenticate Dynamic DNS update requests. In this case, the key 141*00b67f09SDavid van Moolenbroek specified is not an HMAC-MD5 key. 142*00b67f09SDavid van Moolenbroek </p> 143*00b67f09SDavid van Moolenbroek<p> 144*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> can be run in a local-host only mode 145*00b67f09SDavid van Moolenbroek using the <code class="option">-l</code> flag. This sets the server address to 146*00b67f09SDavid van Moolenbroek localhost (disabling the <span><strong class="command">server</strong></span> so that the server 147*00b67f09SDavid van Moolenbroek address cannot be overridden). Connections to the local server will 148*00b67f09SDavid van Moolenbroek use a TSIG key found in <code class="filename">/var/run/named/session.key</code>, 149*00b67f09SDavid van Moolenbroek which is automatically generated by <span><strong class="command">named</strong></span> if any 150*00b67f09SDavid van Moolenbroek local master zone has set <span><strong class="command">update-policy</strong></span> to 151*00b67f09SDavid van Moolenbroek <span><strong class="command">local</strong></span>. The location of this key file can be 152*00b67f09SDavid van Moolenbroek overridden with the <code class="option">-k</code> option. 153*00b67f09SDavid van Moolenbroek </p> 154*00b67f09SDavid van Moolenbroek<p> 155*00b67f09SDavid van Moolenbroek By default, <span><strong class="command">nsupdate</strong></span> 156*00b67f09SDavid van Moolenbroek uses UDP to send update requests to the name server unless they are too 157*00b67f09SDavid van Moolenbroek large to fit in a UDP request in which case TCP will be used. 158*00b67f09SDavid van Moolenbroek The 159*00b67f09SDavid van Moolenbroek <code class="option">-v</code> 160*00b67f09SDavid van Moolenbroek option makes 161*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 162*00b67f09SDavid van Moolenbroek use a TCP connection. 163*00b67f09SDavid van Moolenbroek This may be preferable when a batch of update requests is made. 164*00b67f09SDavid van Moolenbroek </p> 165*00b67f09SDavid van Moolenbroek<p> 166*00b67f09SDavid van Moolenbroek The <code class="option">-p</code> sets the default port number to use for 167*00b67f09SDavid van Moolenbroek connections to a name server. The default is 53. 168*00b67f09SDavid van Moolenbroek </p> 169*00b67f09SDavid van Moolenbroek<p> 170*00b67f09SDavid van Moolenbroek The <code class="option">-t</code> option sets the maximum time an update request 171*00b67f09SDavid van Moolenbroek can 172*00b67f09SDavid van Moolenbroek take before it is aborted. The default is 300 seconds. Zero can be 173*00b67f09SDavid van Moolenbroek used 174*00b67f09SDavid van Moolenbroek to disable the timeout. 175*00b67f09SDavid van Moolenbroek </p> 176*00b67f09SDavid van Moolenbroek<p> 177*00b67f09SDavid van Moolenbroek The <code class="option">-u</code> option sets the UDP retry interval. The default 178*00b67f09SDavid van Moolenbroek is 179*00b67f09SDavid van Moolenbroek 3 seconds. If zero, the interval will be computed from the timeout 180*00b67f09SDavid van Moolenbroek interval 181*00b67f09SDavid van Moolenbroek and number of UDP retries. 182*00b67f09SDavid van Moolenbroek </p> 183*00b67f09SDavid van Moolenbroek<p> 184*00b67f09SDavid van Moolenbroek The <code class="option">-r</code> option sets the number of UDP retries. The 185*00b67f09SDavid van Moolenbroek default is 186*00b67f09SDavid van Moolenbroek 3. If zero, only one update request will be made. 187*00b67f09SDavid van Moolenbroek </p> 188*00b67f09SDavid van Moolenbroek<p> 189*00b67f09SDavid van Moolenbroek The <code class="option">-R <em class="replaceable"><code>randomdev</code></em></code> option 190*00b67f09SDavid van Moolenbroek specifies a source of randomness. If the operating system 191*00b67f09SDavid van Moolenbroek does not provide a <code class="filename">/dev/random</code> or 192*00b67f09SDavid van Moolenbroek equivalent device, the default source of randomness is keyboard 193*00b67f09SDavid van Moolenbroek input. <code class="filename">randomdev</code> specifies the name of 194*00b67f09SDavid van Moolenbroek a character device or file containing random data to be used 195*00b67f09SDavid van Moolenbroek instead of the default. The special value 196*00b67f09SDavid van Moolenbroek <code class="filename">keyboard</code> indicates that keyboard input 197*00b67f09SDavid van Moolenbroek should be used. This option may be specified multiple times. 198*00b67f09SDavid van Moolenbroek </p> 199*00b67f09SDavid van Moolenbroek<p> 200*00b67f09SDavid van Moolenbroek Other types can be entered using "TYPEXXXXX" where "XXXXX" is the 201*00b67f09SDavid van Moolenbroek decimal value of the type with no leading zeros. The rdata, 202*00b67f09SDavid van Moolenbroek if present, will be parsed using the UNKNOWN rdata format, 203*00b67f09SDavid van Moolenbroek (<backslash> <hash> <space> <length> 204*00b67f09SDavid van Moolenbroek <space> <hexstring>). 205*00b67f09SDavid van Moolenbroek </p> 206*00b67f09SDavid van Moolenbroek<p> 207*00b67f09SDavid van Moolenbroek The <code class="option">-T</code> and <code class="option">-P</code> options print out 208*00b67f09SDavid van Moolenbroek lists of non-meta types for which the type-specific presentation 209*00b67f09SDavid van Moolenbroek formats are known. <code class="option">-T</code> prints out the list of 210*00b67f09SDavid van Moolenbroek IANA-assigned types. <code class="option">-P</code> prints out the list of 211*00b67f09SDavid van Moolenbroek private types specific to <span><strong class="command">named</strong></span>. These options 212*00b67f09SDavid van Moolenbroek may be combined. <span><strong class="command">nsupdate</strong></span> will exit after the 213*00b67f09SDavid van Moolenbroek lists are printed. 214*00b67f09SDavid van Moolenbroek </p> 215*00b67f09SDavid van Moolenbroek<p> 216*00b67f09SDavid van Moolenbroek The -V option causes <span><strong class="command">nsupdate</strong></span> to print the 217*00b67f09SDavid van Moolenbroek version number and exit. 218*00b67f09SDavid van Moolenbroek </p> 219*00b67f09SDavid van Moolenbroek</div> 220*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 221*00b67f09SDavid van Moolenbroek<a name="id2543885"></a><h2>INPUT FORMAT</h2> 222*00b67f09SDavid van Moolenbroek<p><span><strong class="command">nsupdate</strong></span> 223*00b67f09SDavid van Moolenbroek reads input from 224*00b67f09SDavid van Moolenbroek <em class="parameter"><code>filename</code></em> 225*00b67f09SDavid van Moolenbroek or standard input. 226*00b67f09SDavid van Moolenbroek Each command is supplied on exactly one line of input. 227*00b67f09SDavid van Moolenbroek Some commands are for administrative purposes. 228*00b67f09SDavid van Moolenbroek The others are either update instructions or prerequisite checks on the 229*00b67f09SDavid van Moolenbroek contents of the zone. 230*00b67f09SDavid van Moolenbroek These checks set conditions that some name or set of 231*00b67f09SDavid van Moolenbroek resource records (RRset) either exists or is absent from the zone. 232*00b67f09SDavid van Moolenbroek These conditions must be met if the entire update request is to succeed. 233*00b67f09SDavid van Moolenbroek Updates will be rejected if the tests for the prerequisite conditions 234*00b67f09SDavid van Moolenbroek fail. 235*00b67f09SDavid van Moolenbroek </p> 236*00b67f09SDavid van Moolenbroek<p> 237*00b67f09SDavid van Moolenbroek Every update request consists of zero or more prerequisites 238*00b67f09SDavid van Moolenbroek and zero or more updates. 239*00b67f09SDavid van Moolenbroek This allows a suitably authenticated update request to proceed if some 240*00b67f09SDavid van Moolenbroek specified resource records are present or missing from the zone. 241*00b67f09SDavid van Moolenbroek A blank input line (or the <span><strong class="command">send</strong></span> command) 242*00b67f09SDavid van Moolenbroek causes the 243*00b67f09SDavid van Moolenbroek accumulated commands to be sent as one Dynamic DNS update request to the 244*00b67f09SDavid van Moolenbroek name server. 245*00b67f09SDavid van Moolenbroek </p> 246*00b67f09SDavid van Moolenbroek<p> 247*00b67f09SDavid van Moolenbroek The command formats and their meaning are as follows: 248*00b67f09SDavid van Moolenbroek </p> 249*00b67f09SDavid van Moolenbroek<div class="variablelist"><dl> 250*00b67f09SDavid van Moolenbroek<dt><span class="term"> 251*00b67f09SDavid van Moolenbroek <span><strong class="command">server</strong></span> 252*00b67f09SDavid van Moolenbroek {servername} 253*00b67f09SDavid van Moolenbroek [port] 254*00b67f09SDavid van Moolenbroek </span></dt> 255*00b67f09SDavid van Moolenbroek<dd><p> 256*00b67f09SDavid van Moolenbroek Sends all dynamic update requests to the name server 257*00b67f09SDavid van Moolenbroek <em class="parameter"><code>servername</code></em>. 258*00b67f09SDavid van Moolenbroek When no server statement is provided, 259*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 260*00b67f09SDavid van Moolenbroek will send updates to the master server of the correct zone. 261*00b67f09SDavid van Moolenbroek The MNAME field of that zone's SOA record will identify the 262*00b67f09SDavid van Moolenbroek master 263*00b67f09SDavid van Moolenbroek server for that zone. 264*00b67f09SDavid van Moolenbroek <em class="parameter"><code>port</code></em> 265*00b67f09SDavid van Moolenbroek is the port number on 266*00b67f09SDavid van Moolenbroek <em class="parameter"><code>servername</code></em> 267*00b67f09SDavid van Moolenbroek where the dynamic update requests get sent. 268*00b67f09SDavid van Moolenbroek If no port number is specified, the default DNS port number of 269*00b67f09SDavid van Moolenbroek 53 is 270*00b67f09SDavid van Moolenbroek used. 271*00b67f09SDavid van Moolenbroek </p></dd> 272*00b67f09SDavid van Moolenbroek<dt><span class="term"> 273*00b67f09SDavid van Moolenbroek <span><strong class="command">local</strong></span> 274*00b67f09SDavid van Moolenbroek {address} 275*00b67f09SDavid van Moolenbroek [port] 276*00b67f09SDavid van Moolenbroek </span></dt> 277*00b67f09SDavid van Moolenbroek<dd><p> 278*00b67f09SDavid van Moolenbroek Sends all dynamic update requests using the local 279*00b67f09SDavid van Moolenbroek <em class="parameter"><code>address</code></em>. 280*00b67f09SDavid van Moolenbroek 281*00b67f09SDavid van Moolenbroek When no local statement is provided, 282*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 283*00b67f09SDavid van Moolenbroek will send updates using an address and port chosen by the 284*00b67f09SDavid van Moolenbroek system. 285*00b67f09SDavid van Moolenbroek <em class="parameter"><code>port</code></em> 286*00b67f09SDavid van Moolenbroek can additionally be used to make requests come from a specific 287*00b67f09SDavid van Moolenbroek port. 288*00b67f09SDavid van Moolenbroek If no port number is specified, the system will assign one. 289*00b67f09SDavid van Moolenbroek </p></dd> 290*00b67f09SDavid van Moolenbroek<dt><span class="term"> 291*00b67f09SDavid van Moolenbroek <span><strong class="command">zone</strong></span> 292*00b67f09SDavid van Moolenbroek {zonename} 293*00b67f09SDavid van Moolenbroek </span></dt> 294*00b67f09SDavid van Moolenbroek<dd><p> 295*00b67f09SDavid van Moolenbroek Specifies that all updates are to be made to the zone 296*00b67f09SDavid van Moolenbroek <em class="parameter"><code>zonename</code></em>. 297*00b67f09SDavid van Moolenbroek If no 298*00b67f09SDavid van Moolenbroek <em class="parameter"><code>zone</code></em> 299*00b67f09SDavid van Moolenbroek statement is provided, 300*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 301*00b67f09SDavid van Moolenbroek will attempt determine the correct zone to update based on the 302*00b67f09SDavid van Moolenbroek rest of the input. 303*00b67f09SDavid van Moolenbroek </p></dd> 304*00b67f09SDavid van Moolenbroek<dt><span class="term"> 305*00b67f09SDavid van Moolenbroek <span><strong class="command">class</strong></span> 306*00b67f09SDavid van Moolenbroek {classname} 307*00b67f09SDavid van Moolenbroek </span></dt> 308*00b67f09SDavid van Moolenbroek<dd><p> 309*00b67f09SDavid van Moolenbroek Specify the default class. 310*00b67f09SDavid van Moolenbroek If no <em class="parameter"><code>class</code></em> is specified, the 311*00b67f09SDavid van Moolenbroek default class is 312*00b67f09SDavid van Moolenbroek <em class="parameter"><code>IN</code></em>. 313*00b67f09SDavid van Moolenbroek </p></dd> 314*00b67f09SDavid van Moolenbroek<dt><span class="term"> 315*00b67f09SDavid van Moolenbroek <span><strong class="command">ttl</strong></span> 316*00b67f09SDavid van Moolenbroek {seconds} 317*00b67f09SDavid van Moolenbroek </span></dt> 318*00b67f09SDavid van Moolenbroek<dd><p> 319*00b67f09SDavid van Moolenbroek Specify the default time to live for records to be added. 320*00b67f09SDavid van Moolenbroek The value <em class="parameter"><code>none</code></em> will clear the default 321*00b67f09SDavid van Moolenbroek ttl. 322*00b67f09SDavid van Moolenbroek </p></dd> 323*00b67f09SDavid van Moolenbroek<dt><span class="term"> 324*00b67f09SDavid van Moolenbroek <span><strong class="command">key</strong></span> 325*00b67f09SDavid van Moolenbroek [hmac:] {keyname} 326*00b67f09SDavid van Moolenbroek {secret} 327*00b67f09SDavid van Moolenbroek </span></dt> 328*00b67f09SDavid van Moolenbroek<dd><p> 329*00b67f09SDavid van Moolenbroek Specifies that all updates are to be TSIG-signed using the 330*00b67f09SDavid van Moolenbroek <em class="parameter"><code>keyname</code></em> <em class="parameter"><code>secret</code></em> pair. 331*00b67f09SDavid van Moolenbroek If <em class="parameter"><code>hmac</code></em> is specified, then it sets the 332*00b67f09SDavid van Moolenbroek signing algorithm in use; the default is 333*00b67f09SDavid van Moolenbroek <code class="literal">hmac-md5</code>. The <span><strong class="command">key</strong></span> 334*00b67f09SDavid van Moolenbroek command overrides any key specified on the command line via 335*00b67f09SDavid van Moolenbroek <code class="option">-y</code> or <code class="option">-k</code>. 336*00b67f09SDavid van Moolenbroek </p></dd> 337*00b67f09SDavid van Moolenbroek<dt><span class="term"> 338*00b67f09SDavid van Moolenbroek <span><strong class="command">gsstsig</strong></span> 339*00b67f09SDavid van Moolenbroek </span></dt> 340*00b67f09SDavid van Moolenbroek<dd><p> 341*00b67f09SDavid van Moolenbroek Use GSS-TSIG to sign the updated. This is equivalent to 342*00b67f09SDavid van Moolenbroek specifying <code class="option">-g</code> on the commandline. 343*00b67f09SDavid van Moolenbroek </p></dd> 344*00b67f09SDavid van Moolenbroek<dt><span class="term"> 345*00b67f09SDavid van Moolenbroek <span><strong class="command">oldgsstsig</strong></span> 346*00b67f09SDavid van Moolenbroek </span></dt> 347*00b67f09SDavid van Moolenbroek<dd><p> 348*00b67f09SDavid van Moolenbroek Use the Windows 2000 version of GSS-TSIG to sign the updated. 349*00b67f09SDavid van Moolenbroek This is equivalent to specifying <code class="option">-o</code> on the 350*00b67f09SDavid van Moolenbroek commandline. 351*00b67f09SDavid van Moolenbroek </p></dd> 352*00b67f09SDavid van Moolenbroek<dt><span class="term"> 353*00b67f09SDavid van Moolenbroek <span><strong class="command">realm</strong></span> 354*00b67f09SDavid van Moolenbroek {[<span class="optional">realm_name</span>]} 355*00b67f09SDavid van Moolenbroek </span></dt> 356*00b67f09SDavid van Moolenbroek<dd><p> 357*00b67f09SDavid van Moolenbroek When using GSS-TSIG use <em class="parameter"><code>realm_name</code></em> rather 358*00b67f09SDavid van Moolenbroek than the default realm in <code class="filename">krb5.conf</code>. If no 359*00b67f09SDavid van Moolenbroek realm is specified the saved realm is cleared. 360*00b67f09SDavid van Moolenbroek </p></dd> 361*00b67f09SDavid van Moolenbroek<dt><span class="term"> 362*00b67f09SDavid van Moolenbroek <span><strong class="command">[<span class="optional">prereq</span>] nxdomain</strong></span> 363*00b67f09SDavid van Moolenbroek {domain-name} 364*00b67f09SDavid van Moolenbroek </span></dt> 365*00b67f09SDavid van Moolenbroek<dd><p> 366*00b67f09SDavid van Moolenbroek Requires that no resource record of any type exists with name 367*00b67f09SDavid van Moolenbroek <em class="parameter"><code>domain-name</code></em>. 368*00b67f09SDavid van Moolenbroek </p></dd> 369*00b67f09SDavid van Moolenbroek<dt><span class="term"> 370*00b67f09SDavid van Moolenbroek <span><strong class="command">[<span class="optional">prereq</span>] yxdomain</strong></span> 371*00b67f09SDavid van Moolenbroek {domain-name} 372*00b67f09SDavid van Moolenbroek </span></dt> 373*00b67f09SDavid van Moolenbroek<dd><p> 374*00b67f09SDavid van Moolenbroek Requires that 375*00b67f09SDavid van Moolenbroek <em class="parameter"><code>domain-name</code></em> 376*00b67f09SDavid van Moolenbroek exists (has as at least one resource record, of any type). 377*00b67f09SDavid van Moolenbroek </p></dd> 378*00b67f09SDavid van Moolenbroek<dt><span class="term"> 379*00b67f09SDavid van Moolenbroek <span><strong class="command">[<span class="optional">prereq</span>] nxrrset</strong></span> 380*00b67f09SDavid van Moolenbroek {domain-name} 381*00b67f09SDavid van Moolenbroek [class] 382*00b67f09SDavid van Moolenbroek {type} 383*00b67f09SDavid van Moolenbroek </span></dt> 384*00b67f09SDavid van Moolenbroek<dd><p> 385*00b67f09SDavid van Moolenbroek Requires that no resource record exists of the specified 386*00b67f09SDavid van Moolenbroek <em class="parameter"><code>type</code></em>, 387*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em> 388*00b67f09SDavid van Moolenbroek and 389*00b67f09SDavid van Moolenbroek <em class="parameter"><code>domain-name</code></em>. 390*00b67f09SDavid van Moolenbroek If 391*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em> 392*00b67f09SDavid van Moolenbroek is omitted, IN (internet) is assumed. 393*00b67f09SDavid van Moolenbroek </p></dd> 394*00b67f09SDavid van Moolenbroek<dt><span class="term"> 395*00b67f09SDavid van Moolenbroek <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span> 396*00b67f09SDavid van Moolenbroek {domain-name} 397*00b67f09SDavid van Moolenbroek [class] 398*00b67f09SDavid van Moolenbroek {type} 399*00b67f09SDavid van Moolenbroek </span></dt> 400*00b67f09SDavid van Moolenbroek<dd><p> 401*00b67f09SDavid van Moolenbroek This requires that a resource record of the specified 402*00b67f09SDavid van Moolenbroek <em class="parameter"><code>type</code></em>, 403*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em> 404*00b67f09SDavid van Moolenbroek and 405*00b67f09SDavid van Moolenbroek <em class="parameter"><code>domain-name</code></em> 406*00b67f09SDavid van Moolenbroek must exist. 407*00b67f09SDavid van Moolenbroek If 408*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em> 409*00b67f09SDavid van Moolenbroek is omitted, IN (internet) is assumed. 410*00b67f09SDavid van Moolenbroek </p></dd> 411*00b67f09SDavid van Moolenbroek<dt><span class="term"> 412*00b67f09SDavid van Moolenbroek <span><strong class="command">[<span class="optional">prereq</span>] yxrrset</strong></span> 413*00b67f09SDavid van Moolenbroek {domain-name} 414*00b67f09SDavid van Moolenbroek [class] 415*00b67f09SDavid van Moolenbroek {type} 416*00b67f09SDavid van Moolenbroek {data...} 417*00b67f09SDavid van Moolenbroek </span></dt> 418*00b67f09SDavid van Moolenbroek<dd><p> 419*00b67f09SDavid van Moolenbroek The 420*00b67f09SDavid van Moolenbroek <em class="parameter"><code>data</code></em> 421*00b67f09SDavid van Moolenbroek from each set of prerequisites of this form 422*00b67f09SDavid van Moolenbroek sharing a common 423*00b67f09SDavid van Moolenbroek <em class="parameter"><code>type</code></em>, 424*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em>, 425*00b67f09SDavid van Moolenbroek and 426*00b67f09SDavid van Moolenbroek <em class="parameter"><code>domain-name</code></em> 427*00b67f09SDavid van Moolenbroek are combined to form a set of RRs. This set of RRs must 428*00b67f09SDavid van Moolenbroek exactly match the set of RRs existing in the zone at the 429*00b67f09SDavid van Moolenbroek given 430*00b67f09SDavid van Moolenbroek <em class="parameter"><code>type</code></em>, 431*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em>, 432*00b67f09SDavid van Moolenbroek and 433*00b67f09SDavid van Moolenbroek <em class="parameter"><code>domain-name</code></em>. 434*00b67f09SDavid van Moolenbroek The 435*00b67f09SDavid van Moolenbroek <em class="parameter"><code>data</code></em> 436*00b67f09SDavid van Moolenbroek are written in the standard text representation of the resource 437*00b67f09SDavid van Moolenbroek record's 438*00b67f09SDavid van Moolenbroek RDATA. 439*00b67f09SDavid van Moolenbroek </p></dd> 440*00b67f09SDavid van Moolenbroek<dt><span class="term"> 441*00b67f09SDavid van Moolenbroek <span><strong class="command">[<span class="optional">update</span>] del[<span class="optional">ete</span>]</strong></span> 442*00b67f09SDavid van Moolenbroek {domain-name} 443*00b67f09SDavid van Moolenbroek [ttl] 444*00b67f09SDavid van Moolenbroek [class] 445*00b67f09SDavid van Moolenbroek [type [data...]] 446*00b67f09SDavid van Moolenbroek </span></dt> 447*00b67f09SDavid van Moolenbroek<dd><p> 448*00b67f09SDavid van Moolenbroek Deletes any resource records named 449*00b67f09SDavid van Moolenbroek <em class="parameter"><code>domain-name</code></em>. 450*00b67f09SDavid van Moolenbroek If 451*00b67f09SDavid van Moolenbroek <em class="parameter"><code>type</code></em> 452*00b67f09SDavid van Moolenbroek and 453*00b67f09SDavid van Moolenbroek <em class="parameter"><code>data</code></em> 454*00b67f09SDavid van Moolenbroek is provided, only matching resource records will be removed. 455*00b67f09SDavid van Moolenbroek The internet class is assumed if 456*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em> 457*00b67f09SDavid van Moolenbroek is not supplied. The 458*00b67f09SDavid van Moolenbroek <em class="parameter"><code>ttl</code></em> 459*00b67f09SDavid van Moolenbroek is ignored, and is only allowed for compatibility. 460*00b67f09SDavid van Moolenbroek </p></dd> 461*00b67f09SDavid van Moolenbroek<dt><span class="term"> 462*00b67f09SDavid van Moolenbroek <span><strong class="command">[<span class="optional">update</span>] add</strong></span> 463*00b67f09SDavid van Moolenbroek {domain-name} 464*00b67f09SDavid van Moolenbroek {ttl} 465*00b67f09SDavid van Moolenbroek [class] 466*00b67f09SDavid van Moolenbroek {type} 467*00b67f09SDavid van Moolenbroek {data...} 468*00b67f09SDavid van Moolenbroek </span></dt> 469*00b67f09SDavid van Moolenbroek<dd><p> 470*00b67f09SDavid van Moolenbroek Adds a new resource record with the specified 471*00b67f09SDavid van Moolenbroek <em class="parameter"><code>ttl</code></em>, 472*00b67f09SDavid van Moolenbroek <em class="parameter"><code>class</code></em> 473*00b67f09SDavid van Moolenbroek and 474*00b67f09SDavid van Moolenbroek <em class="parameter"><code>data</code></em>. 475*00b67f09SDavid van Moolenbroek </p></dd> 476*00b67f09SDavid van Moolenbroek<dt><span class="term"> 477*00b67f09SDavid van Moolenbroek <span><strong class="command">show</strong></span> 478*00b67f09SDavid van Moolenbroek </span></dt> 479*00b67f09SDavid van Moolenbroek<dd><p> 480*00b67f09SDavid van Moolenbroek Displays the current message, containing all of the 481*00b67f09SDavid van Moolenbroek prerequisites and 482*00b67f09SDavid van Moolenbroek updates specified since the last send. 483*00b67f09SDavid van Moolenbroek </p></dd> 484*00b67f09SDavid van Moolenbroek<dt><span class="term"> 485*00b67f09SDavid van Moolenbroek <span><strong class="command">send</strong></span> 486*00b67f09SDavid van Moolenbroek </span></dt> 487*00b67f09SDavid van Moolenbroek<dd><p> 488*00b67f09SDavid van Moolenbroek Sends the current message. This is equivalent to entering a 489*00b67f09SDavid van Moolenbroek blank line. 490*00b67f09SDavid van Moolenbroek </p></dd> 491*00b67f09SDavid van Moolenbroek<dt><span class="term"> 492*00b67f09SDavid van Moolenbroek <span><strong class="command">answer</strong></span> 493*00b67f09SDavid van Moolenbroek </span></dt> 494*00b67f09SDavid van Moolenbroek<dd><p> 495*00b67f09SDavid van Moolenbroek Displays the answer. 496*00b67f09SDavid van Moolenbroek </p></dd> 497*00b67f09SDavid van Moolenbroek<dt><span class="term"> 498*00b67f09SDavid van Moolenbroek <span><strong class="command">debug</strong></span> 499*00b67f09SDavid van Moolenbroek </span></dt> 500*00b67f09SDavid van Moolenbroek<dd><p> 501*00b67f09SDavid van Moolenbroek Turn on debugging. 502*00b67f09SDavid van Moolenbroek </p></dd> 503*00b67f09SDavid van Moolenbroek<dt><span class="term"> 504*00b67f09SDavid van Moolenbroek <span><strong class="command">version</strong></span> 505*00b67f09SDavid van Moolenbroek </span></dt> 506*00b67f09SDavid van Moolenbroek<dd><p> 507*00b67f09SDavid van Moolenbroek Print version number. 508*00b67f09SDavid van Moolenbroek </p></dd> 509*00b67f09SDavid van Moolenbroek<dt><span class="term"> 510*00b67f09SDavid van Moolenbroek <span><strong class="command">help</strong></span> 511*00b67f09SDavid van Moolenbroek </span></dt> 512*00b67f09SDavid van Moolenbroek<dd><p> 513*00b67f09SDavid van Moolenbroek Print a list of commands. 514*00b67f09SDavid van Moolenbroek </p></dd> 515*00b67f09SDavid van Moolenbroek</dl></div> 516*00b67f09SDavid van Moolenbroek<p> 517*00b67f09SDavid van Moolenbroek </p> 518*00b67f09SDavid van Moolenbroek<p> 519*00b67f09SDavid van Moolenbroek Lines beginning with a semicolon are comments and are ignored. 520*00b67f09SDavid van Moolenbroek </p> 521*00b67f09SDavid van Moolenbroek</div> 522*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 523*00b67f09SDavid van Moolenbroek<a name="id2544859"></a><h2>EXAMPLES</h2> 524*00b67f09SDavid van Moolenbroek<p> 525*00b67f09SDavid van Moolenbroek The examples below show how 526*00b67f09SDavid van Moolenbroek <span><strong class="command">nsupdate</strong></span> 527*00b67f09SDavid van Moolenbroek could be used to insert and delete resource records from the 528*00b67f09SDavid van Moolenbroek <span class="type">example.com</span> 529*00b67f09SDavid van Moolenbroek zone. 530*00b67f09SDavid van Moolenbroek Notice that the input in each example contains a trailing blank line so 531*00b67f09SDavid van Moolenbroek that 532*00b67f09SDavid van Moolenbroek a group of commands are sent as one dynamic update request to the 533*00b67f09SDavid van Moolenbroek master name server for 534*00b67f09SDavid van Moolenbroek <span class="type">example.com</span>. 535*00b67f09SDavid van Moolenbroek 536*00b67f09SDavid van Moolenbroek </p> 537*00b67f09SDavid van Moolenbroek<pre class="programlisting"> 538*00b67f09SDavid van Moolenbroek# nsupdate 539*00b67f09SDavid van Moolenbroek> update delete oldhost.example.com A 540*00b67f09SDavid van Moolenbroek> update add newhost.example.com 86400 A 172.16.1.1 541*00b67f09SDavid van Moolenbroek> send 542*00b67f09SDavid van Moolenbroek</pre> 543*00b67f09SDavid van Moolenbroek<p> 544*00b67f09SDavid van Moolenbroek </p> 545*00b67f09SDavid van Moolenbroek<p> 546*00b67f09SDavid van Moolenbroek Any A records for 547*00b67f09SDavid van Moolenbroek <span class="type">oldhost.example.com</span> 548*00b67f09SDavid van Moolenbroek are deleted. 549*00b67f09SDavid van Moolenbroek And an A record for 550*00b67f09SDavid van Moolenbroek <span class="type">newhost.example.com</span> 551*00b67f09SDavid van Moolenbroek with IP address 172.16.1.1 is added. 552*00b67f09SDavid van Moolenbroek The newly-added record has a 1 day TTL (86400 seconds). 553*00b67f09SDavid van Moolenbroek </p> 554*00b67f09SDavid van Moolenbroek<pre class="programlisting"> 555*00b67f09SDavid van Moolenbroek# nsupdate 556*00b67f09SDavid van Moolenbroek> prereq nxdomain nickname.example.com 557*00b67f09SDavid van Moolenbroek> update add nickname.example.com 86400 CNAME somehost.example.com 558*00b67f09SDavid van Moolenbroek> send 559*00b67f09SDavid van Moolenbroek</pre> 560*00b67f09SDavid van Moolenbroek<p> 561*00b67f09SDavid van Moolenbroek </p> 562*00b67f09SDavid van Moolenbroek<p> 563*00b67f09SDavid van Moolenbroek The prerequisite condition gets the name server to check that there 564*00b67f09SDavid van Moolenbroek are no resource records of any type for 565*00b67f09SDavid van Moolenbroek <span class="type">nickname.example.com</span>. 566*00b67f09SDavid van Moolenbroek 567*00b67f09SDavid van Moolenbroek If there are, the update request fails. 568*00b67f09SDavid van Moolenbroek If this name does not exist, a CNAME for it is added. 569*00b67f09SDavid van Moolenbroek This ensures that when the CNAME is added, it cannot conflict with the 570*00b67f09SDavid van Moolenbroek long-standing rule in RFC 1034 that a name must not exist as any other 571*00b67f09SDavid van Moolenbroek record type if it exists as a CNAME. 572*00b67f09SDavid van Moolenbroek (The rule has been updated for DNSSEC in RFC 2535 to allow CNAMEs to have 573*00b67f09SDavid van Moolenbroek RRSIG, DNSKEY and NSEC records.) 574*00b67f09SDavid van Moolenbroek </p> 575*00b67f09SDavid van Moolenbroek</div> 576*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 577*00b67f09SDavid van Moolenbroek<a name="id2544903"></a><h2>FILES</h2> 578*00b67f09SDavid van Moolenbroek<div class="variablelist"><dl> 579*00b67f09SDavid van Moolenbroek<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt> 580*00b67f09SDavid van Moolenbroek<dd><p> 581*00b67f09SDavid van Moolenbroek used to identify default name server 582*00b67f09SDavid van Moolenbroek </p></dd> 583*00b67f09SDavid van Moolenbroek<dt><span class="term"><code class="constant">/var/run/named/session.key</code></span></dt> 584*00b67f09SDavid van Moolenbroek<dd><p> 585*00b67f09SDavid van Moolenbroek sets the default TSIG key for use in local-only mode 586*00b67f09SDavid van Moolenbroek </p></dd> 587*00b67f09SDavid van Moolenbroek<dt><span class="term"><code class="constant">K{name}.+157.+{random}.key</code></span></dt> 588*00b67f09SDavid van Moolenbroek<dd><p> 589*00b67f09SDavid van Moolenbroek base-64 encoding of HMAC-MD5 key created by 590*00b67f09SDavid van Moolenbroek <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>. 591*00b67f09SDavid van Moolenbroek </p></dd> 592*00b67f09SDavid van Moolenbroek<dt><span class="term"><code class="constant">K{name}.+157.+{random}.private</code></span></dt> 593*00b67f09SDavid van Moolenbroek<dd><p> 594*00b67f09SDavid van Moolenbroek base-64 encoding of HMAC-MD5 key created by 595*00b67f09SDavid van Moolenbroek <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>. 596*00b67f09SDavid van Moolenbroek </p></dd> 597*00b67f09SDavid van Moolenbroek</dl></div> 598*00b67f09SDavid van Moolenbroek</div> 599*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 600*00b67f09SDavid van Moolenbroek<a name="id2541982"></a><h2>SEE ALSO</h2> 601*00b67f09SDavid van Moolenbroek<p> 602*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2136</em>, 603*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 3007</em>, 604*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2104</em>, 605*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2845</em>, 606*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 1034</em>, 607*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2535</em>, 608*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2931</em>, 609*00b67f09SDavid van Moolenbroek <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, 610*00b67f09SDavid van Moolenbroek <span class="citerefentry"><span class="refentrytitle">ddns-confgen</span>(8)</span>, 611*00b67f09SDavid van Moolenbroek <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>. 612*00b67f09SDavid van Moolenbroek </p> 613*00b67f09SDavid van Moolenbroek</div> 614*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 615*00b67f09SDavid van Moolenbroek<a name="id2542040"></a><h2>BUGS</h2> 616*00b67f09SDavid van Moolenbroek<p> 617*00b67f09SDavid van Moolenbroek The TSIG key is redundantly stored in two separate files. 618*00b67f09SDavid van Moolenbroek This is a consequence of nsupdate using the DST library 619*00b67f09SDavid van Moolenbroek for its cryptographic operations, and may change in future 620*00b67f09SDavid van Moolenbroek releases. 621*00b67f09SDavid van Moolenbroek </p> 622*00b67f09SDavid van Moolenbroek</div> 623*00b67f09SDavid van Moolenbroek</div></body> 624*00b67f09SDavid van Moolenbroek</html> 625