1RNDC(8) BIND 9 RNDC(8)
2
3
4
6 rndc - name server control utility
7
9 rndc [-b source-address] [-c config-file] [-k key-file] [-s server] [-p
10 port] [-q] [-r] [-V] [-y key_id] [[-4] | [-6]] {command}
11
13 rndc controls the operation of a name server; it supersedes the ndc
14 utility. If rndc is invoked with no command line options or arguments,
15 it prints a short summary of the supported commands and the available
16 options and their arguments.
17
18 rndc communicates with the name server over a TCP connection, sending
19 commands authenticated with digital signatures. In the current versions
20 of rndc and named, the only supported authentication algorithms are
21 HMAC-MD5 (for compatibility), HMAC-SHA1, HMAC-SHA224, HMAC-SHA256 (de‐
22 fault), HMAC-SHA384, and HMAC-SHA512. They use a shared secret on each
23 end of the connection, which provides TSIG-style authentication for the
24 command request and the name server's response. All commands sent over
25 the channel must be signed by a key_id known to the server.
26
27 rndc reads a configuration file to determine how to contact the name
28 server and decide what algorithm and key it should use.
29
31 -4 This option indicates use of IPv4 only.
32
33 -6 This option indicates use of IPv6 only.
34
35 -b source-address
36 This option indicates source-address as the source address for
37 the connection to the server. Multiple instances are permitted,
38 to allow setting of both the IPv4 and IPv6 source addresses.
39
40 -c config-file
41 This option indicates config-file as the configuration file in‐
42 stead of the default, /etc/rndc.conf.
43
44 -k key-file
45 This option indicates key-file as the key file instead of the
46 default, /etc/rndc.key. The key in /etc/rndc.key is used to au‐
47 thenticate commands sent to the server if the config-file does
48 not exist.
49
50 -s server
51 server is the name or address of the server which matches a
52 server statement in the configuration file for rndc. If no
53 server is supplied on the command line, the host named by the
54 default-server clause in the options statement of the rndc con‐
55 figuration file is used.
56
57 -p port
58 This option instructs BIND 9 to send commands to TCP port port
59 instead of its default control channel port, 953.
60
61 -q This option sets quiet mode, where message text returned by the
62 server is not printed unless there is an error.
63
64 -r This option instructs rndc to print the result code returned by
65 named after executing the requested command (e.g., ISC_R_SUC‐
66 CESS, ISC_R_FAILURE, etc.).
67
68 -V This option enables verbose logging.
69
70 -y key_id
71 This option indicates use of the key key_id from the configura‐
72 tion file. For control message validation to succeed, key_id
73 must be known by named with the same algorithm and secret
74 string. If no key_id is specified, rndc first looks for a key
75 clause in the server statement of the server being used, or if
76 no server statement is present for that host, then in the de‐
77 fault-key clause of the options statement. Note that the config‐
78 uration file contains shared secrets which are used to send au‐
79 thenticated control commands to name servers, and should there‐
80 fore not have general read or write access.
81
83 A list of commands supported by rndc can be seen by running rndc with‐
84 out arguments.
85
86 Currently supported commands are:
87
88 addzone zone [class [view]] configuration
89 This command adds a zone while the server is running. This com‐
90 mand requires the allow-new-zones option to be set to yes. The
91 configuration string specified on the command line is the zone
92 configuration text that would ordinarily be placed in
93 named.conf.
94
95 The configuration is saved in a file called viewname.nzf (or, if
96 named is compiled with liblmdb, an LMDB database file called
97 viewname.nzd). viewname is the name of the view, unless the view
98 name contains characters that are incompatible with use as a
99 file name, in which case a cryptographic hash of the view name
100 is used instead. When named is restarted, the file is loaded
101 into the view configuration so that zones that were added can
102 persist after a restart.
103
104 This sample addzone command adds the zone example.com to the de‐
105 fault view:
106
107 rndc addzone example.com '{ type master; file "example.com.db";
108 };'
109
110 (Note the brackets around and semi-colon after the zone configu‐
111 ration text.)
112
113 See also rndc delzone and rndc modzone.
114
115 delzone [-clean] zone [class [view]]
116 This command deletes a zone while the server is running.
117
118 If the -clean argument is specified, the zone's master file (and
119 journal file, if any) are deleted along with the zone. Without
120 the -clean option, zone files must be deleted manually. (If the
121 zone is of type secondary or stub, the files needing to be re‐
122 moved are reported in the output of the rndc delzone command.)
123
124 If the zone was originally added via rndc addzone, then it is
125 removed permanently. However, if it was originally configured in
126 named.conf, then that original configuration remains in place;
127 when the server is restarted or reconfigured, the zone is recre‐
128 ated. To remove it permanently, it must also be removed from
129 named.conf.
130
131 See also rndc addzone and rndc modzone.
132
133 dnssec ( -status | -rollover -key id [-alg algorithm] [-when time] |
134 -checkds [-key id [-alg algorithm]] [-when time] ( published | with‐
135 drawn )) zone [class [view]]
136 This command allows you to interact with the "dnssec-policy" of
137 a given zone.
138
139 rndc dnssec -status show the DNSSEC signing state for the speci‐
140 fied zone.
141
142 rndc dnssec -rollover allows you to schedule key rollover for a
143 specific key (overriding the original key lifetime).
144
145 rndc dnssec -checkds will let named know that the DS for the
146 given key has been seen published into or withdrawn from the
147 parent. This is required in order to complete a KSK rollover.
148 If the -key id argument is specified, look for the key with the
149 given identifier, otherwise if there is only one key acting as a
150 KSK in the zone, assume the DS of that key (if there are multi‐
151 ple keys with the same tag, use -alg algorithm to select the
152 correct algorithm). The time that the DS has been published or
153 withdrawn is set to now, unless otherwise specified with the ar‐
154 gument -when time.
155
156 dnstap ( -reopen | -roll [number] )
157 This command closes and re-opens DNSTAP output files. rndc
158 dnstap -reopen allows the output file to be renamed externally,
159 so that named can truncate and re-open it. rndc dnstap -roll
160 causes the output file to be rolled automatically, similar to
161 log files. The most recent output file has ".0" appended to its
162 name; the previous most recent output file is moved to ".1", and
163 so on. If number is specified, then the number of backup log
164 files is limited to that number.
165
166 dumpdb [-all | -cache | -zones | -adb | -bad | -expired | -fail] [view
167 ...]
168 This command dumps the server's caches (default) and/or zones to
169 the dump file for the specified views. If no view is specified,
170 all views are dumped. (See the dump-file option in the BIND 9
171 Administrator Reference Manual.)
172
173 flush This command flushes the server's cache.
174
175 flushname name [view]
176 This command flushes the given name from the view's DNS cache
177 and, if applicable, from the view's nameserver address database,
178 bad server cache, and SERVFAIL cache.
179
180 flushtree name [view]
181 This command flushes the given name, and all of its subdomains,
182 from the view's DNS cache, address database, bad server cache,
183 and SERVFAIL cache.
184
185 freeze [zone [class [view]]]
186 This command suspends updates to a dynamic zone. If no zone is
187 specified, then all zones are suspended. This allows manual ed‐
188 its to be made to a zone normally updated by dynamic update, and
189 causes changes in the journal file to be synced into the master
190 file. All dynamic update attempts are refused while the zone is
191 frozen.
192
193 See also rndc thaw.
194
195 halt [-p]
196 This command stops the server immediately. Recent changes made
197 through dynamic update or IXFR are not saved to the master
198 files, but are rolled forward from the journal files when the
199 server is restarted. If -p is specified, named's process ID is
200 returned. This allows an external process to determine when
201 named has completed halting.
202
203 See also rndc stop.
204
205 loadkeys [zone [class [view]]]
206 This command fetches all DNSSEC keys for the given zone from the
207 key directory. If they are within their publication period, they
208 are merged into the zone's DNSKEY RRset. Unlike rndc sign, how‐
209 ever, the zone is not immediately re-signed by the new keys, but
210 is allowed to incrementally re-sign over time.
211
212 This command requires that the zone be configured with a
213 dnssec-policy, or that the auto-dnssec zone option be set to
214 maintain, and also requires the zone to be configured to allow
215 dynamic DNS. (See "Dynamic Update Policies" in the Administrator
216 Reference Manual for more details.)
217
218 managed-keys (status | refresh | sync | destroy) [class [view]]
219 This command inspects and controls the "managed-keys" database
220 which handles RFC 5011 DNSSEC trust anchor maintenance. If a
221 view is specified, these commands are applied to that view; oth‐
222 erwise, they are applied to all views.
223
224 • When run with the status keyword, this prints the current sta‐
225 tus of the managed-keys database.
226
227 • When run with the refresh keyword, this forces an immediate
228 refresh query to be sent for all the managed keys, updating
229 the managed-keys database if any new keys are found, without
230 waiting the normal refresh interval.
231
232 • When run with the sync keyword, this forces an immediate dump
233 of the managed-keys database to disk (in the file man‐
234 aged-keys.bind or (viewname.mkeys). This synchronizes the
235 database with its journal file, so that the database's current
236 contents can be inspected visually.
237
238 • When run with the destroy keyword, the managed-keys database
239 is shut down and deleted, and all key maintenance is termi‐
240 nated. This command should be used only with extreme caution.
241
242 Existing keys that are already trusted are not deleted from
243 memory; DNSSEC validation can continue after this command is
244 used. However, key maintenance operations cease until named
245 is restarted or reconfigured, and all existing key maintenance
246 states are deleted.
247
248 Running rndc reconfig or restarting named immediately after
249 this command causes key maintenance to be reinitialized from
250 scratch, just as if the server were being started for the
251 first time. This is primarily intended for testing, but it may
252 also be used, for example, to jumpstart the acquisition of new
253 keys in the event of a trust anchor rollover, or as a
254 brute-force repair for key maintenance problems.
255
256 modzone zone [class [view]] configuration
257 This command modifies the configuration of a zone while the
258 server is running. This command requires the allow-new-zones op‐
259 tion to be set to yes. As with addzone, the configuration
260 string specified on the command line is the zone configuration
261 text that would ordinarily be placed in named.conf.
262
263 If the zone was originally added via rndc addzone, the configu‐
264 ration changes are recorded permanently and are still in effect
265 after the server is restarted or reconfigured. However, if it
266 was originally configured in named.conf, then that original con‐
267 figuration remains in place; when the server is restarted or re‐
268 configured, the zone reverts to its original configuration. To
269 make the changes permanent, it must also be modified in
270 named.conf.
271
272 See also rndc addzone and rndc delzone.
273
274 notify zone [class [view]]
275 This command resends NOTIFY messages for the zone.
276
277 notrace
278 This command sets the server's debugging level to 0.
279
280 See also rndc trace.
281
282 nta [( -class class | -dump | -force | -remove | -lifetime duration)]
283 domain [view]
284 This command sets a DNSSEC negative trust anchor (NTA) for do‐
285 main, with a lifetime of duration. The default lifetime is con‐
286 figured in named.conf via the nta-lifetime option, and defaults
287 to one hour. The lifetime cannot exceed one week.
288
289 A negative trust anchor selectively disables DNSSEC validation
290 for zones that are known to be failing because of misconfigura‐
291 tion rather than an attack. When data to be validated is at or
292 below an active NTA (and above any other configured trust an‐
293 chors), named aborts the DNSSEC validation process and treats
294 the data as insecure rather than bogus. This continues until the
295 NTA's lifetime has elapsed.
296
297 NTAs persist across restarts of the named server. The NTAs for a
298 view are saved in a file called name.nta, where name is the name
299 of the view; if it contains characters that are incompatible
300 with use as a file name, a cryptographic hash is generated from
301 the name of the view.
302
303 An existing NTA can be removed by using the -remove option.
304
305 An NTA's lifetime can be specified with the -lifetime option.
306 TTL-style suffixes can be used to specify the lifetime in sec‐
307 onds, minutes, or hours. If the specified NTA already exists,
308 its lifetime is updated to the new value. Setting lifetime to
309 zero is equivalent to -remove.
310
311 If -dump is used, any other arguments are ignored and a list of
312 existing NTAs is printed. Note that this may include NTAs that
313 are expired but have not yet been cleaned up.
314
315 Normally, named periodically tests to see whether data below an
316 NTA can now be validated (see the nta-recheck option in the Ad‐
317 ministrator Reference Manual for details). If data can be vali‐
318 dated, then the NTA is regarded as no longer necessary and is
319 allowed to expire early. The -force parameter overrides this be‐
320 havior and forces an NTA to persist for its entire lifetime, re‐
321 gardless of whether data could be validated if the NTA were not
322 present.
323
324 The view class can be specified with -class. The default is
325 class IN, which is the only class for which DNSSEC is currently
326 supported.
327
328 All of these options can be shortened, i.e., to -l, -r, -d, -f,
329 and -c.
330
331 Unrecognized options are treated as errors. To refer to a domain
332 or view name that begins with a hyphen, use a double-hyphen (--)
333 on the command line to indicate the end of options.
334
335 querylog [(on | off)]
336 This command enables or disables query logging. For backward
337 compatibility, this command can also be used without an argument
338 to toggle query logging on and off.
339
340 Query logging can also be enabled by explicitly directing the
341 queries category to a channel in the logging section of
342 named.conf, or by specifying querylog yes; in the options sec‐
343 tion of named.conf.
344
345 reconfig
346 This command reloads the configuration file and loads new zones,
347 but does not reload existing zone files even if they have
348 changed. This is faster than a full reload when there is a large
349 number of zones, because it avoids the need to examine the modi‐
350 fication times of the zone files.
351
352 recursing
353 This command dumps the list of queries named is currently re‐
354 cursing on, and the list of domains to which iterative queries
355 are currently being sent. The second list includes the number
356 of fetches currently active for the given domain, and how many
357 have been passed or dropped because of the fetches-per-zone op‐
358 tion.
359
360 refresh zone [class [view]]
361 This command schedules zone maintenance for the given zone.
362
363 reload This command reloads the configuration file and zones.
364
365 reload zone [class [view]]
366 This command reloads the given zone.
367
368 retransfer zone [class [view]]
369 This command retransfers the given secondary zone from the pri‐
370 mary server.
371
372 If the zone is configured to use inline-signing, the signed ver‐
373 sion of the zone is discarded; after the retransfer of the un‐
374 signed version is complete, the signed version is regenerated
375 with new signatures.
376
377 scan This command scans the list of available network interfaces for
378 changes, without performing a full reconfig or waiting for the
379 interface-interval timer.
380
381 secroots [-] [view ...]
382 This command dumps the security roots (i.e., trust anchors con‐
383 figured via trust-anchors, or the managed-keys or trusted-keys
384 statements [both deprecated], or dnssec-validation auto) and
385 negative trust anchors for the specified views. If no view is
386 specified, all views are dumped. Security roots indicate whether
387 they are configured as trusted keys, managed keys, or initializ‐
388 ing managed keys (managed keys that have not yet been updated by
389 a successful key refresh query).
390
391 If the first argument is -, then the output is returned via the
392 rndc response channel and printed to the standard output. Oth‐
393 erwise, it is written to the secroots dump file, which defaults
394 to named.secroots, but can be overridden via the secroots-file
395 option in named.conf.
396
397 See also rndc managed-keys.
398
399 serve-stale (on | off | reset | status) [class [view]]
400 This command enables, disables, resets, or reports the current
401 status of the serving of stale answers as configured in
402 named.conf.
403
404 If serving of stale answers is disabled by rndc-serve-stale off,
405 then it remains disabled even if named is reloaded or reconfig‐
406 ured. rndc serve-stale reset restores the setting as configured
407 in named.conf.
408
409 rndc serve-stale status reports whether serving of stale answers
410 is currently enabled, disabled by the configuration, or disabled
411 by rndc. It also reports the values of stale-answer-ttl and
412 max-stale-ttl.
413
414 showzone zone [class [view]]
415 This command prints the configuration of a running zone.
416
417 See also rndc zonestatus.
418
419 sign zone [class [view]]
420 This command fetches all DNSSEC keys for the given zone from the
421 key directory (see the key-directory option in the BIND 9 Admin‐
422 istrator Reference Manual). If they are within their publication
423 period, they are merged into the zone's DNSKEY RRset. If the
424 DNSKEY RRset is changed, then the zone is automatically
425 re-signed with the new key set.
426
427 This command requires that the zone be configured with a
428 dnssec-policy, or that the auto-dnssec zone option be set to al‐
429 low or maintain, and also requires the zone to be configured to
430 allow dynamic DNS. (See "Dynamic Update Policies" in the BIND 9
431 Administrator Reference Manual for more details.)
432
433 See also rndc loadkeys.
434
435 signing [(-list | -clear keyid/algorithm | -clear all | -nsec3param (
436 parameters | none ) | -serial value ) zone [class [view]]
437 This command lists, edits, or removes the DNSSEC signing-state
438 records for the specified zone. The status of ongoing DNSSEC op‐
439 erations, such as signing or generating NSEC3 chains, is stored
440 in the zone in the form of DNS resource records of type
441 sig-signing-type. rndc signing -list converts these records
442 into a human-readable form, indicating which keys are currently
443 signing or have finished signing the zone, and which NSEC3
444 chains are being created or removed.
445
446 rndc signing -clear can remove a single key (specified in the
447 same format that rndc signing -list uses to display it), or all
448 keys. In either case, only completed keys are removed; any
449 record indicating that a key has not yet finished signing the
450 zone is retained.
451
452 rndc signing -nsec3param sets the NSEC3 parameters for a zone.
453 This is the only supported mechanism for using NSEC3 with in‐
454 line-signing zones. Parameters are specified in the same format
455 as an NSEC3PARAM resource record: hash algorithm, flags, itera‐
456 tions, and salt, in that order.
457
458 Currently, the only defined value for hash algorithm is 1, rep‐
459 resenting SHA-1. The flags may be set to 0 or 1, depending on
460 whether the opt-out bit in the NSEC3 chain should be set. itera‐
461 tions defines the number of additional times to apply the algo‐
462 rithm when generating an NSEC3 hash. The salt is a string of
463 data expressed in hexadecimal, a hyphen (-') if no salt is to be
464 used, or the keyword ``auto`, which causes named to generate a
465 random 64-bit salt.
466
467 So, for example, to create an NSEC3 chain using the SHA-1 hash
468 algorithm, no opt-out flag, 10 iterations, and a salt value of
469 "FFFF", use: rndc signing -nsec3param 1 0 10 FFFF zone. To set
470 the opt-out flag, 15 iterations, and no salt, use: rndc signing
471 -nsec3param 1 1 15 - zone.
472
473 rndc signing -nsec3param none removes an existing NSEC3 chain
474 and replaces it with NSEC.
475
476 rndc signing -serial value sets the serial number of the zone to
477 value. If the value would cause the serial number to go back‐
478 wards, it is rejected. The primary use of this parameter is to
479 set the serial number on inline signed zones.
480
481 stats This command writes server statistics to the statistics file.
482 (See the statistics-file option in the BIND 9 Administrator Ref‐
483 erence Manual.)
484
485 status This command displays the status of the server. Note that the
486 number of zones includes the internal bind/CH zone and the de‐
487 fault ./IN hint zone, if there is no explicit root zone config‐
488 ured.
489
490 stop -p
491 This command stops the server, making sure any recent changes
492 made through dynamic update or IXFR are first saved to the mas‐
493 ter files of the updated zones. If -p is specified, named(8)`'s
494 process ID is returned. This allows an external process to de‐
495 termine when ``named has completed stopping.
496
497 See also rndc halt.
498
499 sync -clean [zone [class [view]]]
500 This command syncs changes in the journal file for a dynamic
501 zone to the master file. If the "-clean" option is specified,
502 the journal file is also removed. If no zone is specified, then
503 all zones are synced.
504
505 tcp-timeouts [initial idle keepalive advertised]
506 When called without arguments, this command displays the current
507 values of the tcp-initial-timeout, tcp-idle-timeout,
508 tcp-keepalive-timeout, and tcp-advertised-timeout options. When
509 called with arguments, these values are updated. This allows an
510 administrator to make rapid adjustments when under a de‐
511 nial-of-service (DoS) attack. See the descriptions of these op‐
512 tions in the BIND 9 Administrator Reference Manual for details
513 of their use.
514
515 thaw [zone [class [view]]]
516 This command enables updates to a frozen dynamic zone. If no
517 zone is specified, then all frozen zones are enabled. This
518 causes the server to reload the zone from disk, and re-enables
519 dynamic updates after the load has completed. After a zone is
520 thawed, dynamic updates are no longer refused. If the zone has
521 changed and the ixfr-from-differences option is in use, the
522 journal file is updated to reflect changes in the zone. Other‐
523 wise, if the zone has changed, any existing journal file is re‐
524 moved.
525
526 See also rndc freeze.
527
528 trace This command increments the server's debugging level by one.
529
530 trace level
531 This command sets the server's debugging level to an explicit
532 value.
533
534 See also rndc notrace.
535
536 tsig-delete keyname [view]
537 This command deletes a given TKEY-negotiated key from the
538 server. This does not apply to statically configured TSIG keys.
539
540 tsig-list
541 This command lists the names of all TSIG keys currently config‐
542 ured for use by named in each view. The list includes both stat‐
543 ically configured keys and dynamic TKEY-negotiated keys.
544
545 validation (on | off | status) [view ...]``
546 This command enables, disables, or checks the current status of
547 DNSSEC validation. By default, validation is enabled.
548
549 The cache is flushed when validation is turned on or off to
550 avoid using data that might differ between states.
551
552 zonestatus zone [class [view]]
553 This command displays the current status of the given zone, in‐
554 cluding the master file name and any include files from which it
555 was loaded, when it was most recently loaded, the current serial
556 number, the number of nodes, whether the zone supports dynamic
557 updates, whether the zone is DNSSEC signed, whether it uses au‐
558 tomatic DNSSEC key management or inline signing, and the sched‐
559 uled refresh or expiry times for the zone.
560
561 See also rndc showzone.
562
563 rndc commands that specify zone names, such as reload, retransfer, or
564 zonestatus, can be ambiguous when applied to zones of type redirect.
565 Redirect zones are always called ., and can be confused with zones of
566 type hint or with secondary copies of the root zone. To specify a redi‐
567 rect zone, use the special zone name -redirect, without a trailing pe‐
568 riod. (With a trailing period, this would specify a zone called "-redi‐
569 rect".)
570
572 There is currently no way to provide the shared secret for a key_id
573 without using the configuration file.
574
575 Several error messages could be clearer.
576
578 rndc.conf(5), rndc-confgen(8), named(8), named.conf(5), ndc(8), BIND 9
579 Administrator Reference Manual.
580
582 Internet Systems Consortium
583
585 2021, Internet Systems Consortium
586
587
588
589
5909.16.23-RH RNDC(8)