]> CyberLeo.Net >> Repos - FreeBSD/releng/9.3.git/blob - contrib/ntp/ntpd/ntp.conf.man.in
o Fix invalid TCP checksums with pf(4). [EN-16:02.pf]
[FreeBSD/releng/9.3.git] / contrib / ntp / ntpd / ntp.conf.man.in
1 .de1 NOP
2 .  it 1 an-trap
3 .  if \\n[.$] \,\\$*\/
4 ..
5 .ie t \
6 .ds B-Font [CB]
7 .ds I-Font [CI]
8 .ds R-Font [CR]
9 .el \
10 .ds B-Font B
11 .ds I-Font I
12 .ds R-Font R
13 .TH ntp.conf 5 "07 Jan 2016" "4.2.8p5" "File Formats"
14 .\"
15 .\" EDIT THIS FILE WITH CAUTION (/tmp/.ag-8qayqp/ag-Vraqpp)
16 .\"
17 .\" It has been AutoGen-ed January 7, 2016 at 11:30:35 PM by AutoGen 5.18.5
18 .\" From the definitions ntp.conf.def
19 .\" and the template file agman-cmd.tpl
20 .SH NAME
21 \f\*[B-Font]ntp.conf\fP
22 \- Network Time Protocol (NTP) daemon configuration file format
23 .SH SYNOPSIS
24 \f\*[B-Font]ntp.conf\fP
25 [\f\*[B-Font]\-\-option-name\f[]]
26 [\f\*[B-Font]\-\-option-name\f[] \f\*[I-Font]value\f[]]
27 .sp \n(Ppu
28 .ne 2
29
30 All arguments must be options.
31 .sp \n(Ppu
32 .ne 2
33
34 .SH DESCRIPTION
35 The
36 \f\*[B-Font]ntp.conf\fP
37 configuration file is read at initial startup by the
38 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
39 daemon in order to specify the synchronization sources,
40 modes and other related information.
41 Usually, it is installed in the
42 \fI/etc\f[]
43 directory,
44 but could be installed elsewhere
45 (see the daemon's
46 \f\*[B-Font]\-c\f[]
47 command line option).
48 .sp \n(Ppu
49 .ne 2
50
51 The file format is similar to other
52 UNIX
53 configuration files.
54 Comments begin with a
55 \[oq]#\[cq]
56 character and extend to the end of the line;
57 blank lines are ignored.
58 Configuration commands consist of an initial keyword
59 followed by a list of arguments,
60 some of which may be optional, separated by whitespace.
61 Commands may not be continued over multiple lines.
62 Arguments may be host names,
63 host addresses written in numeric, dotted-quad form,
64 integers, floating point numbers (when specifying times in seconds)
65 and text strings.
66 .sp \n(Ppu
67 .ne 2
68
69 The rest of this page describes the configuration and control options.
70 The
71 "Notes on Configuring NTP and Setting up an NTP Subnet"
72 page
73 (available as part of the HTML documentation
74 provided in
75 \fI/usr/share/doc/ntp\f[])
76 contains an extended discussion of these options.
77 In addition to the discussion of general
78 \fIConfiguration\f[] \fIOptions\f[],
79 there are sections describing the following supported functionality
80 and the options used to control it:
81 .IP \fB\(bu\fP 2
82 \fIAuthentication\f[] \fISupport\f[]
83 .IP \fB\(bu\fP 2
84 \fIMonitoring\f[] \fISupport\f[]
85 .IP \fB\(bu\fP 2
86 \fIAccess\f[] \fIControl\f[] \fISupport\f[]
87 .IP \fB\(bu\fP 2
88 \fIAutomatic\f[] \fINTP\f[] \fIConfiguration\f[] \fIOptions\f[]
89 .IP \fB\(bu\fP 2
90 \fIReference\f[] \fIClock\f[] \fISupport\f[]
91 .IP \fB\(bu\fP 2
92 \fIMiscellaneous\f[] \fIOptions\f[]
93 .PP
94 .sp \n(Ppu
95 .ne 2
96
97 Following these is a section describing
98 \fIMiscellaneous\f[] \fIOptions\f[].
99 While there is a rich set of options available,
100 the only required option is one or more
101 \f\*[B-Font]pool\f[],
102 \f\*[B-Font]server\f[],
103 \f\*[B-Font]peer\f[],
104 \f\*[B-Font]broadcast\f[]
105 or
106 \f\*[B-Font]manycastclient\f[]
107 commands.
108 .SH Configuration Support
109 Following is a description of the configuration commands in
110 NTPv4.
111 These commands have the same basic functions as in NTPv3 and
112 in some cases new functions and new arguments.
113 There are two
114 classes of commands, configuration commands that configure a
115 persistent association with a remote server or peer or reference
116 clock, and auxiliary commands that specify environmental variables
117 that control various related operations.
118 .SS Configuration Commands
119 The various modes are determined by the command keyword and the
120 type of the required IP address.
121 Addresses are classed by type as
122 (s) a remote server or peer (IPv4 class A, B and C), (b) the
123 broadcast address of a local interface, (m) a multicast address (IPv4
124 class D), or (r) a reference clock address (127.127.x.x).
125 Note that
126 only those options applicable to each command are listed below.
127 Use
128 of options not listed may not be caught as an error, but may result
129 in some weird and even destructive behavior.
130 .sp \n(Ppu
131 .ne 2
132
133 If the Basic Socket Interface Extensions for IPv6 (RFC-2553)
134 is detected, support for the IPv6 address family is generated
135 in addition to the default support of the IPv4 address family.
136 In a few cases, including the reslist billboard generated
137 by ntpdc, IPv6 addresses are automatically generated.
138 IPv6 addresses can be identified by the presence of colons
139 \*[Lq]\&:\*[Rq]
140 in the address field.
141 IPv6 addresses can be used almost everywhere where
142 IPv4 addresses can be used,
143 with the exception of reference clock addresses,
144 which are always IPv4.
145 .sp \n(Ppu
146 .ne 2
147
148 Note that in contexts where a host name is expected, a
149 \f\*[B-Font]\-4\f[]
150 qualifier preceding
151 the host name forces DNS resolution to the IPv4 namespace,
152 while a
153 \f\*[B-Font]\-6\f[]
154 qualifier forces DNS resolution to the IPv6 namespace.
155 See IPv6 references for the
156 equivalent classes for that address family.
157 .TP 7
158 .NOP \f\*[B-Font]pool\f[] \f\*[I-Font]address\f[] [\f\*[B-Font]burst\f[]] [\f\*[B-Font]iburst\f[]] [\f\*[B-Font]version\f[] \f\*[I-Font]version\f[]] [\f\*[B-Font]prefer\f[]] [\f\*[B-Font]minpoll\f[] \f\*[I-Font]minpoll\f[]] [\f\*[B-Font]maxpoll\f[] \f\*[I-Font]maxpoll\f[]]
159 .TP 7
160 .NOP \f\*[B-Font]server\f[] \f\*[I-Font]address\f[] [\f\*[B-Font]key\f[] \f\*[I-Font]key\f[] \f\*[I-Font]\&|\f[] \f\*[B-Font]autokey\f[]] [\f\*[B-Font]burst\f[]] [\f\*[B-Font]iburst\f[]] [\f\*[B-Font]version\f[] \f\*[I-Font]version\f[]] [\f\*[B-Font]prefer\f[]] [\f\*[B-Font]minpoll\f[] \f\*[I-Font]minpoll\f[]] [\f\*[B-Font]maxpoll\f[] \f\*[I-Font]maxpoll\f[]]
161 .TP 7
162 .NOP \f\*[B-Font]peer\f[] \f\*[I-Font]address\f[] [\f\*[B-Font]key\f[] \f\*[I-Font]key\f[] \f\*[I-Font]\&|\f[] \f\*[B-Font]autokey\f[]] [\f\*[B-Font]version\f[] \f\*[I-Font]version\f[]] [\f\*[B-Font]prefer\f[]] [\f\*[B-Font]minpoll\f[] \f\*[I-Font]minpoll\f[]] [\f\*[B-Font]maxpoll\f[] \f\*[I-Font]maxpoll\f[]]
163 .TP 7
164 .NOP \f\*[B-Font]broadcast\f[] \f\*[I-Font]address\f[] [\f\*[B-Font]key\f[] \f\*[I-Font]key\f[] \f\*[I-Font]\&|\f[] \f\*[B-Font]autokey\f[]] [\f\*[B-Font]version\f[] \f\*[I-Font]version\f[]] [\f\*[B-Font]prefer\f[]] [\f\*[B-Font]minpoll\f[] \f\*[I-Font]minpoll\f[]] [\f\*[B-Font]ttl\f[] \f\*[I-Font]ttl\f[]]
165 .TP 7
166 .NOP \f\*[B-Font]manycastclient\f[] \f\*[I-Font]address\f[] [\f\*[B-Font]key\f[] \f\*[I-Font]key\f[] \f\*[I-Font]\&|\f[] \f\*[B-Font]autokey\f[]] [\f\*[B-Font]version\f[] \f\*[I-Font]version\f[]] [\f\*[B-Font]prefer\f[]] [\f\*[B-Font]minpoll\f[] \f\*[I-Font]minpoll\f[]] [\f\*[B-Font]maxpoll\f[] \f\*[I-Font]maxpoll\f[]] [\f\*[B-Font]ttl\f[] \f\*[I-Font]ttl\f[]]
167 .PP
168 .sp \n(Ppu
169 .ne 2
170
171 These five commands specify the time server name or address to
172 be used and the mode in which to operate.
173 The
174 \f\*[I-Font]address\f[]
175 can be
176 either a DNS name or an IP address in dotted-quad notation.
177 Additional information on association behavior can be found in the
178 "Association Management"
179 page
180 (available as part of the HTML documentation
181 provided in
182 \fI/usr/share/doc/ntp\f[]).
183 .TP 7
184 .NOP \f\*[B-Font]pool\f[]
185 For type s addresses, this command mobilizes a persistent
186 client mode association with a number of remote servers.
187 In this mode the local clock can synchronized to the
188 remote server, but the remote server can never be synchronized to
189 the local clock.
190 .TP 7
191 .NOP \f\*[B-Font]server\f[]
192 For type s and r addresses, this command mobilizes a persistent
193 client mode association with the specified remote server or local
194 radio clock.
195 In this mode the local clock can synchronized to the
196 remote server, but the remote server can never be synchronized to
197 the local clock.
198 This command should
199 \fInot\f[]
200 be used for type
201 b or m addresses.
202 .TP 7
203 .NOP \f\*[B-Font]peer\f[]
204 For type s addresses (only), this command mobilizes a
205 persistent symmetric-active mode association with the specified
206 remote peer.
207 In this mode the local clock can be synchronized to
208 the remote peer or the remote peer can be synchronized to the local
209 clock.
210 This is useful in a network of servers where, depending on
211 various failure scenarios, either the local or remote peer may be
212 the better source of time.
213 This command should NOT be used for type
214 b, m or r addresses.
215 .TP 7
216 .NOP \f\*[B-Font]broadcast\f[]
217 For type b and m addresses (only), this
218 command mobilizes a persistent broadcast mode association.
219 Multiple
220 commands can be used to specify multiple local broadcast interfaces
221 (subnets) and/or multiple multicast groups.
222 Note that local
223 broadcast messages go only to the interface associated with the
224 subnet specified, but multicast messages go to all interfaces.
225 In broadcast mode the local server sends periodic broadcast
226 messages to a client population at the
227 \f\*[I-Font]address\f[]
228 specified, which is usually the broadcast address on (one of) the
229 local network(s) or a multicast address assigned to NTP.
230 The IANA
231 has assigned the multicast group address IPv4 224.0.1.1 and
232 IPv6 ff05::101 (site local) exclusively to
233 NTP, but other nonconflicting addresses can be used to contain the
234 messages within administrative boundaries.
235 Ordinarily, this
236 specification applies only to the local server operating as a
237 sender; for operation as a broadcast client, see the
238 \f\*[B-Font]broadcastclient\f[]
239 or
240 \f\*[B-Font]multicastclient\f[]
241 commands
242 below.
243 .TP 7
244 .NOP \f\*[B-Font]manycastclient\f[]
245 For type m addresses (only), this command mobilizes a
246 manycast client mode association for the multicast address
247 specified.
248 In this case a specific address must be supplied which
249 matches the address used on the
250 \f\*[B-Font]manycastserver\f[]
251 command for
252 the designated manycast servers.
253 The NTP multicast address
254 224.0.1.1 assigned by the IANA should NOT be used, unless specific
255 means are taken to avoid spraying large areas of the Internet with
256 these messages and causing a possibly massive implosion of replies
257 at the sender.
258 The
259 \f\*[B-Font]manycastserver\f[]
260 command specifies that the local server
261 is to operate in client mode with the remote servers that are
262 discovered as the result of broadcast/multicast messages.
263 The
264 client broadcasts a request message to the group address associated
265 with the specified
266 \f\*[I-Font]address\f[]
267 and specifically enabled
268 servers respond to these messages.
269 The client selects the servers
270 providing the best time and continues as with the
271 \f\*[B-Font]server\f[]
272 command.
273 The remaining servers are discarded as if never
274 heard.
275 .PP
276 .sp \n(Ppu
277 .ne 2
278
279 Options:
280 .TP 7
281 .NOP \f\*[B-Font]autokey\f[]
282 All packets sent to and received from the server or peer are to
283 include authentication fields encrypted using the autokey scheme
284 described in
285 \fIAuthentication\f[] \fIOptions\f[].
286 .TP 7
287 .NOP \f\*[B-Font]burst\f[]
288 when the server is reachable, send a burst of eight packets
289 instead of the usual one.
290 The packet spacing is normally 2 s;
291 however, the spacing between the first and second packets
292 can be changed with the calldelay command to allow
293 additional time for a modem or ISDN call to complete.
294 This is designed to improve timekeeping quality
295 with the
296 \f\*[B-Font]server\f[]
297 command and s addresses.
298 .TP 7
299 .NOP \f\*[B-Font]iburst\f[]
300 When the server is unreachable, send a burst of eight packets
301 instead of the usual one.
302 The packet spacing is normally 2 s;
303 however, the spacing between the first two packets can be
304 changed with the calldelay command to allow
305 additional time for a modem or ISDN call to complete.
306 This is designed to speed the initial synchronization
307 acquisition with the
308 \f\*[B-Font]server\f[]
309 command and s addresses and when
310 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
311 is started with the
312 \f\*[B-Font]\-q\f[]
313 option.
314 .TP 7
315 .NOP \f\*[B-Font]key\f[] \f\*[I-Font]key\f[]
316 All packets sent to and received from the server or peer are to
317 include authentication fields encrypted using the specified
318 \f\*[I-Font]key\f[]
319 identifier with values from 1 to 65534, inclusive.
320 The
321 default is to include no encryption field.
322 .TP 7
323 .NOP \f\*[B-Font]minpoll\f[] \f\*[I-Font]minpoll\f[]
324 .TP 7
325 .NOP \f\*[B-Font]maxpoll\f[] \f\*[I-Font]maxpoll\f[]
326 These options specify the minimum and maximum poll intervals
327 for NTP messages, as a power of 2 in seconds
328 The maximum poll
329 interval defaults to 10 (1,024 s), but can be increased by the
330 \f\*[B-Font]maxpoll\f[]
331 option to an upper limit of 17 (36.4 h).
332 The
333 minimum poll interval defaults to 6 (64 s), but can be decreased by
334 the
335 \f\*[B-Font]minpoll\f[]
336 option to a lower limit of 4 (16 s).
337 .TP 7
338 .NOP \f\*[B-Font]noselect\f[]
339 Marks the server as unused, except for display purposes.
340 The server is discarded by the selection algroithm.
341 .TP 7
342 .NOP \f\*[B-Font]prefer\f[]
343 Marks the server as preferred.
344 All other things being equal,
345 this host will be chosen for synchronization among a set of
346 correctly operating hosts.
347 See the
348 "Mitigation Rules and the prefer Keyword"
349 page
350 (available as part of the HTML documentation
351 provided in
352 \fI/usr/share/doc/ntp\f[])
353 for further information.
354 .TP 7
355 .NOP \f\*[B-Font]ttl\f[] \f\*[I-Font]ttl\f[]
356 This option is used only with broadcast server and manycast
357 client modes.
358 It specifies the time-to-live
359 \f\*[I-Font]ttl\f[]
360 to
361 use on broadcast server and multicast server and the maximum
362 \f\*[I-Font]ttl\f[]
363 for the expanding ring search with manycast
364 client packets.
365 Selection of the proper value, which defaults to
366 127, is something of a black art and should be coordinated with the
367 network administrator.
368 .TP 7
369 .NOP \f\*[B-Font]version\f[] \f\*[I-Font]version\f[]
370 Specifies the version number to be used for outgoing NTP
371 packets.
372 Versions 1-4 are the choices, with version 4 the
373 default.
374 .PP
375 .SS Auxiliary Commands
376 .TP 7
377 .NOP \f\*[B-Font]broadcastclient\f[]
378 This command enables reception of broadcast server messages to
379 any local interface (type b) address.
380 Upon receiving a message for
381 the first time, the broadcast client measures the nominal server
382 propagation delay using a brief client/server exchange with the
383 server, then enters the broadcast client mode, in which it
384 synchronizes to succeeding broadcast messages.
385 Note that, in order
386 to avoid accidental or malicious disruption in this mode, both the
387 server and client should operate using symmetric-key or public-key
388 authentication as described in
389 \fIAuthentication\f[] \fIOptions\f[].
390 .TP 7
391 .NOP \f\*[B-Font]manycastserver\f[] \f\*[I-Font]address\f[] \f\*[I-Font]...\f[]
392 This command enables reception of manycast client messages to
393 the multicast group address(es) (type m) specified.
394 At least one
395 address is required, but the NTP multicast address 224.0.1.1
396 assigned by the IANA should NOT be used, unless specific means are
397 taken to limit the span of the reply and avoid a possibly massive
398 implosion at the original sender.
399 Note that, in order to avoid
400 accidental or malicious disruption in this mode, both the server
401 and client should operate using symmetric-key or public-key
402 authentication as described in
403 \fIAuthentication\f[] \fIOptions\f[].
404 .TP 7
405 .NOP \f\*[B-Font]multicastclient\f[] \f\*[I-Font]address\f[] \f\*[I-Font]...\f[]
406 This command enables reception of multicast server messages to
407 the multicast group address(es) (type m) specified.
408 Upon receiving
409 a message for the first time, the multicast client measures the
410 nominal server propagation delay using a brief client/server
411 exchange with the server, then enters the broadcast client mode, in
412 which it synchronizes to succeeding multicast messages.
413 Note that,
414 in order to avoid accidental or malicious disruption in this mode,
415 both the server and client should operate using symmetric-key or
416 public-key authentication as described in
417 \fIAuthentication\f[] \fIOptions\f[].
418 .TP 7
419 .NOP \f\*[B-Font]mdnstries\f[] \f\*[I-Font]number\f[]
420 If we are participating in mDNS,
421 after we have synched for the first time
422 we attempt to register with the mDNS system.
423 If that registration attempt fails,
424 we try again at one minute intervals for up to
425 \f\*[B-Font]mdnstries\f[]
426 times.
427 After all,
428 \f\*[B-Font]ntpd\f[]
429 may be starting before mDNS.
430 The default value for
431 \f\*[B-Font]mdnstries\f[]
432 is 5.
433 .PP
434 .SH Authentication Support
435 Authentication support allows the NTP client to verify that the
436 server is in fact known and trusted and not an intruder intending
437 accidentally or on purpose to masquerade as that server.
438 The NTPv3
439 specification RFC-1305 defines a scheme which provides
440 cryptographic authentication of received NTP packets.
441 Originally,
442 this was done using the Data Encryption Standard (DES) algorithm
443 operating in Cipher Block Chaining (CBC) mode, commonly called
444 DES-CBC.
445 Subsequently, this was replaced by the RSA Message Digest
446 5 (MD5) algorithm using a private key, commonly called keyed-MD5.
447 Either algorithm computes a message digest, or one-way hash, which
448 can be used to verify the server has the correct private key and
449 key identifier.
450 .sp \n(Ppu
451 .ne 2
452
453 NTPv4 retains the NTPv3 scheme, properly described as symmetric key
454 cryptography and, in addition, provides a new Autokey scheme
455 based on public key cryptography.
456 Public key cryptography is generally considered more secure
457 than symmetric key cryptography, since the security is based
458 on a private value which is generated by each server and
459 never revealed.
460 With Autokey all key distribution and
461 management functions involve only public values, which
462 considerably simplifies key distribution and storage.
463 Public key management is based on X.509 certificates,
464 which can be provided by commercial services or
465 produced by utility programs in the OpenSSL software library
466 or the NTPv4 distribution.
467 .sp \n(Ppu
468 .ne 2
469
470 While the algorithms for symmetric key cryptography are
471 included in the NTPv4 distribution, public key cryptography
472 requires the OpenSSL software library to be installed
473 before building the NTP distribution.
474 Directions for doing that
475 are on the Building and Installing the Distribution page.
476 .sp \n(Ppu
477 .ne 2
478
479 Authentication is configured separately for each association
480 using the
481 \f\*[B-Font]key\f[]
482 or
483 \f\*[B-Font]autokey\f[]
484 subcommand on the
485 \f\*[B-Font]peer\f[],
486 \f\*[B-Font]server\f[],
487 \f\*[B-Font]broadcast\f[]
488 and
489 \f\*[B-Font]manycastclient\f[]
490 configuration commands as described in
491 \fIConfiguration\f[] \fIOptions\f[]
492 page.
493 The authentication
494 options described below specify the locations of the key files,
495 if other than default, which symmetric keys are trusted
496 and the interval between various operations, if other than default.
497 .sp \n(Ppu
498 .ne 2
499
500 Authentication is always enabled,
501 although ineffective if not configured as
502 described below.
503 If a NTP packet arrives
504 including a message authentication
505 code (MAC), it is accepted only if it
506 passes all cryptographic checks.
507 The
508 checks require correct key ID, key value
509 and message digest.
510 If the packet has
511 been modified in any way or replayed
512 by an intruder, it will fail one or more
513 of these checks and be discarded.
514 Furthermore, the Autokey scheme requires a
515 preliminary protocol exchange to obtain
516 the server certificate, verify its
517 credentials and initialize the protocol
518 .sp \n(Ppu
519 .ne 2
520
521 The
522 \f\*[B-Font]auth\f[]
523 flag controls whether new associations or
524 remote configuration commands require cryptographic authentication.
525 This flag can be set or reset by the
526 \f\*[B-Font]enable\f[]
527 and
528 \f\*[B-Font]disable\f[]
529 commands and also by remote
530 configuration commands sent by a
531 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
532 program running in
533 another machine.
534 If this flag is enabled, which is the default
535 case, new broadcast client and symmetric passive associations and
536 remote configuration commands must be cryptographically
537 authenticated using either symmetric key or public key cryptography.
538 If this
539 flag is disabled, these operations are effective
540 even if not cryptographic
541 authenticated.
542 It should be understood
543 that operating with the
544 \f\*[B-Font]auth\f[]
545 flag disabled invites a significant vulnerability
546 where a rogue hacker can
547 masquerade as a falseticker and seriously
548 disrupt system timekeeping.
549 It is
550 important to note that this flag has no purpose
551 other than to allow or disallow
552 a new association in response to new broadcast
553 and symmetric active messages
554 and remote configuration commands and, in particular,
555 the flag has no effect on
556 the authentication process itself.
557 .sp \n(Ppu
558 .ne 2
559
560 An attractive alternative where multicast support is available
561 is manycast mode, in which clients periodically troll
562 for servers as described in the
563 \fIAutomatic\f[] \fINTP\f[] \fIConfiguration\f[] \fIOptions\f[]
564 page.
565 Either symmetric key or public key
566 cryptographic authentication can be used in this mode.
567 The principle advantage
568 of manycast mode is that potential servers need not be
569 configured in advance,
570 since the client finds them during regular operation,
571 and the configuration
572 files for all clients can be identical.
573 .sp \n(Ppu
574 .ne 2
575
576 The security model and protocol schemes for
577 both symmetric key and public key
578 cryptography are summarized below;
579 further details are in the briefings, papers
580 and reports at the NTP project page linked from
581 \f[C]http://www.ntp.org/\f[].
582 .SS Symmetric-Key Cryptography
583 The original RFC-1305 specification allows any one of possibly
584 65,534 keys, each distinguished by a 32-bit key identifier, to
585 authenticate an association.
586 The servers and clients involved must
587 agree on the key and key identifier to
588 authenticate NTP packets.
589 Keys and
590 related information are specified in a key
591 file, usually called
592 \fIntp.keys\f[],
593 which must be distributed and stored using
594 secure means beyond the scope of the NTP protocol itself.
595 Besides the keys used
596 for ordinary NTP associations,
597 additional keys can be used as passwords for the
598 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
599 and
600 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
601 utility programs.
602 .sp \n(Ppu
603 .ne 2
604
605 When
606 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
607 is first started, it reads the key file specified in the
608 \f\*[B-Font]keys\f[]
609 configuration command and installs the keys
610 in the key cache.
611 However,
612 individual keys must be activated with the
613 \f\*[B-Font]trusted\f[]
614 command before use.
615 This
616 allows, for instance, the installation of possibly
617 several batches of keys and
618 then activating or deactivating each batch
619 remotely using
620 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[].
621 This also provides a revocation capability that can be used
622 if a key becomes compromised.
623 The
624 \f\*[B-Font]requestkey\f[]
625 command selects the key used as the password for the
626 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
627 utility, while the
628 \f\*[B-Font]controlkey\f[]
629 command selects the key used as the password for the
630 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
631 utility.
632 .SS Public Key Cryptography
633 NTPv4 supports the original NTPv3 symmetric key scheme
634 described in RFC-1305 and in addition the Autokey protocol,
635 which is based on public key cryptography.
636 The Autokey Version 2 protocol described on the Autokey Protocol
637 page verifies packet integrity using MD5 message digests
638 and verifies the source with digital signatures and any of several
639 digest/signature schemes.
640 Optional identity schemes described on the Identity Schemes
641 page and based on cryptographic challenge/response algorithms
642 are also available.
643 Using all of these schemes provides strong security against
644 replay with or without modification, spoofing, masquerade
645 and most forms of clogging attacks.
646 .\" .Pp
647 .\" The cryptographic means necessary for all Autokey operations
648 .\" is provided by the OpenSSL software library.
649 .\" This library is available from http://www.openssl.org/
650 .\" and can be installed using the procedures outlined
651 .\" in the Building and Installing the Distribution page.
652 .\" Once installed,
653 .\" the configure and build
654 .\" process automatically detects the library and links
655 .\" the library routines required.
656 .sp \n(Ppu
657 .ne 2
658
659 The Autokey protocol has several modes of operation
660 corresponding to the various NTP modes supported.
661 Most modes use a special cookie which can be
662 computed independently by the client and server,
663 but encrypted in transmission.
664 All modes use in addition a variant of the S-KEY scheme,
665 in which a pseudo-random key list is generated and used
666 in reverse order.
667 These schemes are described along with an executive summary,
668 current status, briefing slides and reading list on the
669 \fIAutonomous\f[] \fIAuthentication\f[]
670 page.
671 .sp \n(Ppu
672 .ne 2
673
674 The specific cryptographic environment used by Autokey servers
675 and clients is determined by a set of files
676 and soft links generated by the
677 \fCntp-keygen\f[]\fR(1ntpkeygenmdoc)\f[]
678 program.
679 This includes a required host key file,
680 required certificate file and optional sign key file,
681 leapsecond file and identity scheme files.
682 The
683 digest/signature scheme is specified in the X.509 certificate
684 along with the matching sign key.
685 There are several schemes
686 available in the OpenSSL software library, each identified
687 by a specific string such as
688 \f\*[B-Font]md5WithRSAEncryption\f[],
689 which stands for the MD5 message digest with RSA
690 encryption scheme.
691 The current NTP distribution supports
692 all the schemes in the OpenSSL library, including
693 those based on RSA and DSA digital signatures.
694 .sp \n(Ppu
695 .ne 2
696
697 NTP secure groups can be used to define cryptographic compartments
698 and security hierarchies.
699 It is important that every host
700 in the group be able to construct a certificate trail to one
701 or more trusted hosts in the same group.
702 Each group
703 host runs the Autokey protocol to obtain the certificates
704 for all hosts along the trail to one or more trusted hosts.
705 This requires the configuration file in all hosts to be
706 engineered so that, even under anticipated failure conditions,
707 the NTP subnet will form such that every group host can find
708 a trail to at least one trusted host.
709 .SS Naming and Addressing
710 It is important to note that Autokey does not use DNS to
711 resolve addresses, since DNS can't be completely trusted
712 until the name servers have synchronized clocks.
713 The cryptographic name used by Autokey to bind the host identity
714 credentials and cryptographic values must be independent
715 of interface, network and any other naming convention.
716 The name appears in the host certificate in either or both
717 the subject and issuer fields, so protection against
718 DNS compromise is essential.
719 .sp \n(Ppu
720 .ne 2
721
722 By convention, the name of an Autokey host is the name returned
723 by the Unix
724 \fCgethostname\f[]\fR(2)\f[]
725 system call or equivalent in other systems.
726 By the system design
727 model, there are no provisions to allow alternate names or aliases.
728 However, this is not to say that DNS aliases, different names
729 for each interface, etc., are constrained in any way.
730 .sp \n(Ppu
731 .ne 2
732
733 It is also important to note that Autokey verifies authenticity
734 using the host name, network address and public keys,
735 all of which are bound together by the protocol specifically
736 to deflect masquerade attacks.
737 For this reason Autokey
738 includes the source and destinatino IP addresses in message digest
739 computations and so the same addresses must be available
740 at both the server and client.
741 For this reason operation
742 with network address translation schemes is not possible.
743 This reflects the intended robust security model where government
744 and corporate NTP servers are operated outside firewall perimeters.
745 .SS Operation
746 A specific combination of authentication scheme (none,
747 symmetric key, public key) and identity scheme is called
748 a cryptotype, although not all combinations are compatible.
749 There may be management configurations where the clients,
750 servers and peers may not all support the same cryptotypes.
751 A secure NTPv4 subnet can be configured in many ways while
752 keeping in mind the principles explained above and
753 in this section.
754 Note however that some cryptotype
755 combinations may successfully interoperate with each other,
756 but may not represent good security practice.
757 .sp \n(Ppu
758 .ne 2
759
760 The cryptotype of an association is determined at the time
761 of mobilization, either at configuration time or some time
762 later when a message of appropriate cryptotype arrives.
763 When mobilized by a
764 \f\*[B-Font]server\f[]
765 or
766 \f\*[B-Font]peer\f[]
767 configuration command and no
768 \f\*[B-Font]key\f[]
769 or
770 \f\*[B-Font]autokey\f[]
771 subcommands are present, the association is not
772 authenticated; if the
773 \f\*[B-Font]key\f[]
774 subcommand is present, the association is authenticated
775 using the symmetric key ID specified; if the
776 \f\*[B-Font]autokey\f[]
777 subcommand is present, the association is authenticated
778 using Autokey.
779 .sp \n(Ppu
780 .ne 2
781
782 When multiple identity schemes are supported in the Autokey
783 protocol, the first message exchange determines which one is used.
784 The client request message contains bits corresponding
785 to which schemes it has available.
786 The server response message
787 contains bits corresponding to which schemes it has available.
788 Both server and client match the received bits with their own
789 and select a common scheme.
790 .sp \n(Ppu
791 .ne 2
792
793 Following the principle that time is a public value,
794 a server responds to any client packet that matches
795 its cryptotype capabilities.
796 Thus, a server receiving
797 an unauthenticated packet will respond with an unauthenticated
798 packet, while the same server receiving a packet of a cryptotype
799 it supports will respond with packets of that cryptotype.
800 However, unconfigured broadcast or manycast client
801 associations or symmetric passive associations will not be
802 mobilized unless the server supports a cryptotype compatible
803 with the first packet received.
804 By default, unauthenticated associations will not be mobilized
805 unless overridden in a decidedly dangerous way.
806 .sp \n(Ppu
807 .ne 2
808
809 Some examples may help to reduce confusion.
810 Client Alice has no specific cryptotype selected.
811 Server Bob has both a symmetric key file and minimal Autokey files.
812 Alice's unauthenticated messages arrive at Bob, who replies with
813 unauthenticated messages.
814 Cathy has a copy of Bob's symmetric
815 key file and has selected key ID 4 in messages to Bob.
816 Bob verifies the message with his key ID 4.
817 If it's the
818 same key and the message is verified, Bob sends Cathy a reply
819 authenticated with that key.
820 If verification fails,
821 Bob sends Cathy a thing called a crypto-NAK, which tells her
822 something broke.
823 She can see the evidence using the
824 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
825 program.
826 .sp \n(Ppu
827 .ne 2
828
829 Denise has rolled her own host key and certificate.
830 She also uses one of the identity schemes as Bob.
831 She sends the first Autokey message to Bob and they
832 both dance the protocol authentication and identity steps.
833 If all comes out okay, Denise and Bob continue as described above.
834 .sp \n(Ppu
835 .ne 2
836
837 It should be clear from the above that Bob can support
838 all the girls at the same time, as long as he has compatible
839 authentication and identity credentials.
840 Now, Bob can act just like the girls in his own choice of servers;
841 he can run multiple configured associations with multiple different
842 servers (or the same server, although that might not be useful).
843 But, wise security policy might preclude some cryptotype
844 combinations; for instance, running an identity scheme
845 with one server and no authentication with another might not be wise.
846 .SS Key Management
847 The cryptographic values used by the Autokey protocol are
848 incorporated as a set of files generated by the
849 \fCntp-keygen\f[]\fR(1ntpkeygenmdoc)\f[]
850 utility program, including symmetric key, host key and
851 public certificate files, as well as sign key, identity parameters
852 and leapseconds files.
853 Alternatively, host and sign keys and
854 certificate files can be generated by the OpenSSL utilities
855 and certificates can be imported from public certificate
856 authorities.
857 Note that symmetric keys are necessary for the
858 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
859 and
860 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
861 utility programs.
862 The remaining files are necessary only for the
863 Autokey protocol.
864 .sp \n(Ppu
865 .ne 2
866
867 Certificates imported from OpenSSL or public certificate
868 authorities have certian limitations.
869 The certificate should be in ASN.1 syntax, X.509 Version 3
870 format and encoded in PEM, which is the same format
871 used by OpenSSL.
872 The overall length of the certificate encoded
873 in ASN.1 must not exceed 1024 bytes.
874 The subject distinguished
875 name field (CN) is the fully qualified name of the host
876 on which it is used; the remaining subject fields are ignored.
877 The certificate extension fields must not contain either
878 a subject key identifier or a issuer key identifier field;
879 however, an extended key usage field for a trusted host must
880 contain the value
881 \f\*[B-Font]trustRoot\f[];.
882 Other extension fields are ignored.
883 .SS Authentication Commands
884 .TP 7
885 .NOP \f\*[B-Font]autokey\f[] [\f\*[I-Font]logsec\f[]]
886 Specifies the interval between regenerations of the session key
887 list used with the Autokey protocol.
888 Note that the size of the key
889 list for each association depends on this interval and the current
890 poll interval.
891 The default value is 12 (4096 s or about 1.1 hours).
892 For poll intervals above the specified interval, a session key list
893 with a single entry will be regenerated for every message
894 sent.
895 .TP 7
896 .NOP \f\*[B-Font]controlkey\f[] \f\*[I-Font]key\f[]
897 Specifies the key identifier to use with the
898 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
899 utility, which uses the standard
900 protocol defined in RFC-1305.
901 The
902 \f\*[I-Font]key\f[]
903 argument is
904 the key identifier for a trusted key, where the value can be in the
905 range 1 to 65,534, inclusive.
906 .TP 7
907 .NOP \f\*[B-Font]crypto\f[] [\f\*[B-Font]cert\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]leap\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]randfile\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]host\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]sign\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]gq\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]gqpar\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]iffpar\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]mvpar\f[] \f\*[I-Font]file\f[]] [\f\*[B-Font]pw\f[] \f\*[I-Font]password\f[]]
908 This command requires the OpenSSL library.
909 It activates public key
910 cryptography, selects the message digest and signature
911 encryption scheme and loads the required private and public
912 values described above.
913 If one or more files are left unspecified,
914 the default names are used as described above.
915 Unless the complete path and name of the file are specified, the
916 location of a file is relative to the keys directory specified
917 in the
918 \f\*[B-Font]keysdir\f[]
919 command or default
920 \fI/usr/local/etc\f[].
921 Following are the subcommands:
922 .RS
923 .TP 7
924 .NOP \f\*[B-Font]cert\f[] \f\*[I-Font]file\f[]
925 Specifies the location of the required host public certificate file.
926 This overrides the link
927 \fIntpkey_cert_\f[]\f\*[I-Font]hostname\f[]
928 in the keys directory.
929 .TP 7
930 .NOP \f\*[B-Font]gqpar\f[] \f\*[I-Font]file\f[]
931 Specifies the location of the optional GQ parameters file.
932 This
933 overrides the link
934 \fIntpkey_gq_\f[]\f\*[I-Font]hostname\f[]
935 in the keys directory.
936 .TP 7
937 .NOP \f\*[B-Font]host\f[] \f\*[I-Font]file\f[]
938 Specifies the location of the required host key file.
939 This overrides
940 the link
941 \fIntpkey_key_\f[]\f\*[I-Font]hostname\f[]
942 in the keys directory.
943 .TP 7
944 .NOP \f\*[B-Font]iffpar\f[] \f\*[I-Font]file\f[]
945 Specifies the location of the optional IFF parameters file.This
946 overrides the link
947 \fIntpkey_iff_\f[]\f\*[I-Font]hostname\f[]
948 in the keys directory.
949 .TP 7
950 .NOP \f\*[B-Font]leap\f[] \f\*[I-Font]file\f[]
951 Specifies the location of the optional leapsecond file.
952 This overrides the link
953 \fIntpkey_leap\f[]
954 in the keys directory.
955 .TP 7
956 .NOP \f\*[B-Font]mvpar\f[] \f\*[I-Font]file\f[]
957 Specifies the location of the optional MV parameters file.
958 This
959 overrides the link
960 \fIntpkey_mv_\f[]\f\*[I-Font]hostname\f[]
961 in the keys directory.
962 .TP 7
963 .NOP \f\*[B-Font]pw\f[] \f\*[I-Font]password\f[]
964 Specifies the password to decrypt files containing private keys and
965 identity parameters.
966 This is required only if these files have been
967 encrypted.
968 .TP 7
969 .NOP \f\*[B-Font]randfile\f[] \f\*[I-Font]file\f[]
970 Specifies the location of the random seed file used by the OpenSSL
971 library.
972 The defaults are described in the main text above.
973 .TP 7
974 .NOP \f\*[B-Font]sign\f[] \f\*[I-Font]file\f[]
975 Specifies the location of the optional sign key file.
976 This overrides
977 the link
978 \fIntpkey_sign_\f[]\f\*[I-Font]hostname\f[]
979 in the keys directory.
980 If this file is
981 not found, the host key is also the sign key.
982 .RE
983 .TP 7
984 .NOP \f\*[B-Font]keys\f[] \f\*[I-Font]keyfile\f[]
985 Specifies the complete path and location of the MD5 key file
986 containing the keys and key identifiers used by
987 \fCntpd\f[]\fR(@NTPD_MS@)\f[],
988 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
989 and
990 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
991 when operating with symmetric key cryptography.
992 This is the same operation as the
993 \f\*[B-Font]\-k\f[]
994 command line option.
995 .TP 7
996 .NOP \f\*[B-Font]keysdir\f[] \f\*[I-Font]path\f[]
997 This command specifies the default directory path for
998 cryptographic keys, parameters and certificates.
999 The default is
1000 \fI/usr/local/etc/\f[].
1001 .TP 7
1002 .NOP \f\*[B-Font]requestkey\f[] \f\*[I-Font]key\f[]
1003 Specifies the key identifier to use with the
1004 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
1005 utility program, which uses a
1006 proprietary protocol specific to this implementation of
1007 \fCntpd\f[]\fR(@NTPD_MS@)\f[].
1008 The
1009 \f\*[I-Font]key\f[]
1010 argument is a key identifier
1011 for the trusted key, where the value can be in the range 1 to
1012 65,534, inclusive.
1013 .TP 7
1014 .NOP \f\*[B-Font]revoke\f[] \f\*[I-Font]logsec\f[]
1015 Specifies the interval between re-randomization of certain
1016 cryptographic values used by the Autokey scheme, as a power of 2 in
1017 seconds.
1018 These values need to be updated frequently in order to
1019 deflect brute-force attacks on the algorithms of the scheme;
1020 however, updating some values is a relatively expensive operation.
1021 The default interval is 16 (65,536 s or about 18 hours).
1022 For poll
1023 intervals above the specified interval, the values will be updated
1024 for every message sent.
1025 .TP 7
1026 .NOP \f\*[B-Font]trustedkey\f[] \f\*[I-Font]key\f[] \f\*[I-Font]...\f[]
1027 Specifies the key identifiers which are trusted for the
1028 purposes of authenticating peers with symmetric key cryptography,
1029 as well as keys used by the
1030 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
1031 and
1032 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
1033 programs.
1034 The authentication procedures require that both the local
1035 and remote servers share the same key and key identifier for this
1036 purpose, although different keys can be used with different
1037 servers.
1038 The
1039 \f\*[I-Font]key\f[]
1040 arguments are 32-bit unsigned
1041 integers with values from 1 to 65,534.
1042 .PP
1043 .SS Error Codes
1044 The following error codes are reported via the NTP control
1045 and monitoring protocol trap mechanism.
1046 .TP 7
1047 .NOP 101
1048 (bad field format or length)
1049 The packet has invalid version, length or format.
1050 .TP 7
1051 .NOP 102
1052 (bad timestamp)
1053 The packet timestamp is the same or older than the most recent received.
1054 This could be due to a replay or a server clock time step.
1055 .TP 7
1056 .NOP 103
1057 (bad filestamp)
1058 The packet filestamp is the same or older than the most recent received.
1059 This could be due to a replay or a key file generation error.
1060 .TP 7
1061 .NOP 104
1062 (bad or missing public key)
1063 The public key is missing, has incorrect format or is an unsupported type.
1064 .TP 7
1065 .NOP 105
1066 (unsupported digest type)
1067 The server requires an unsupported digest/signature scheme.
1068 .TP 7
1069 .NOP 106
1070 (mismatched digest types)
1071 Not used.
1072 .TP 7
1073 .NOP 107
1074 (bad signature length)
1075 The signature length does not match the current public key.
1076 .TP 7
1077 .NOP 108
1078 (signature not verified)
1079 The message fails the signature check.
1080 It could be bogus or signed by a
1081 different private key.
1082 .TP 7
1083 .NOP 109
1084 (certificate not verified)
1085 The certificate is invalid or signed with the wrong key.
1086 .TP 7
1087 .NOP 110
1088 (certificate not verified)
1089 The certificate is not yet valid or has expired or the signature could not
1090 be verified.
1091 .TP 7
1092 .NOP 111
1093 (bad or missing cookie)
1094 The cookie is missing, corrupted or bogus.
1095 .TP 7
1096 .NOP 112
1097 (bad or missing leapseconds table)
1098 The leapseconds table is missing, corrupted or bogus.
1099 .TP 7
1100 .NOP 113
1101 (bad or missing certificate)
1102 The certificate is missing, corrupted or bogus.
1103 .TP 7
1104 .NOP 114
1105 (bad or missing identity)
1106 The identity key is missing, corrupt or bogus.
1107 .PP
1108 .SH Monitoring Support
1109 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
1110 includes a comprehensive monitoring facility suitable
1111 for continuous, long term recording of server and client
1112 timekeeping performance.
1113 See the
1114 \f\*[B-Font]statistics\f[]
1115 command below
1116 for a listing and example of each type of statistics currently
1117 supported.
1118 Statistic files are managed using file generation sets
1119 and scripts in the
1120 \fI./scripts\f[]
1121 directory of this distribution.
1122 Using
1123 these facilities and
1124 UNIX
1125 \fCcron\f[]\fR(8)\f[]
1126 jobs, the data can be
1127 automatically summarized and archived for retrospective analysis.
1128 .SS Monitoring Commands
1129 .TP 7
1130 .NOP \f\*[B-Font]statistics\f[] \f\*[I-Font]name\f[] \f\*[I-Font]...\f[]
1131 Enables writing of statistics records.
1132 Currently, eight kinds of
1133 \f\*[I-Font]name\f[]
1134 statistics are supported.
1135 .RS
1136 .TP 7
1137 .NOP \f\*[B-Font]clockstats\f[]
1138 Enables recording of clock driver statistics information.
1139 Each update
1140 received from a clock driver appends a line of the following form to
1141 the file generation set named
1142 \f\*[B-Font]clockstats\f[]:
1143 .br
1144 .in +4
1145 .nf
1146 49213 525.624 127.127.4.1 93 226 00:08:29.606 D
1147 .in -4
1148 .fi
1149 .sp \n(Ppu
1150 .ne 2
1151
1152 The first two fields show the date (Modified Julian Day) and time
1153 (seconds and fraction past UTC midnight).
1154 The next field shows the
1155 clock address in dotted-quad notation.
1156 The final field shows the last
1157 timecode received from the clock in decoded ASCII format, where
1158 meaningful.
1159 In some clock drivers a good deal of additional information
1160 can be gathered and displayed as well.
1161 See information specific to each
1162 clock for further details.
1163 .TP 7
1164 .NOP \f\*[B-Font]cryptostats\f[]
1165 This option requires the OpenSSL cryptographic software library.
1166 It
1167 enables recording of cryptographic public key protocol information.
1168 Each message received by the protocol module appends a line of the
1169 following form to the file generation set named
1170 \f\*[B-Font]cryptostats\f[]:
1171 .br
1172 .in +4
1173 .nf
1174 49213 525.624 127.127.4.1 message
1175 .in -4
1176 .fi
1177 .sp \n(Ppu
1178 .ne 2
1179
1180 The first two fields show the date (Modified Julian Day) and time
1181 (seconds and fraction past UTC midnight).
1182 The next field shows the peer
1183 address in dotted-quad notation, The final message field includes the
1184 message type and certain ancillary information.
1185 See the
1186 \fIAuthentication\f[] \fIOptions\f[]
1187 section for further information.
1188 .TP 7
1189 .NOP \f\*[B-Font]loopstats\f[]
1190 Enables recording of loop filter statistics information.
1191 Each
1192 update of the local clock outputs a line of the following form to
1193 the file generation set named
1194 \f\*[B-Font]loopstats\f[]:
1195 .br
1196 .in +4
1197 .nf
1198 50935 75440.031 0.000006019 13.778190 0.000351733 0.0133806
1199 .in -4
1200 .fi
1201 .sp \n(Ppu
1202 .ne 2
1203
1204 The first two fields show the date (Modified Julian Day) and
1205 time (seconds and fraction past UTC midnight).
1206 The next five fields
1207 show time offset (seconds), frequency offset (parts per million \-
1208 PPM), RMS jitter (seconds), Allan deviation (PPM) and clock
1209 discipline time constant.
1210 .TP 7
1211 .NOP \f\*[B-Font]peerstats\f[]
1212 Enables recording of peer statistics information.
1213 This includes
1214 statistics records of all peers of a NTP server and of special
1215 signals, where present and configured.
1216 Each valid update appends a
1217 line of the following form to the current element of a file
1218 generation set named
1219 \f\*[B-Font]peerstats\f[]:
1220 .br
1221 .in +4
1222 .nf
1223 48773 10847.650 127.127.4.1 9714 \-0.001605376 0.000000000 0.001424877 0.000958674
1224 .in -4
1225 .fi
1226 .sp \n(Ppu
1227 .ne 2
1228
1229 The first two fields show the date (Modified Julian Day) and
1230 time (seconds and fraction past UTC midnight).
1231 The next two fields
1232 show the peer address in dotted-quad notation and status,
1233 respectively.
1234 The status field is encoded in hex in the format
1235 described in Appendix A of the NTP specification RFC 1305.
1236 The final four fields show the offset,
1237 delay, dispersion and RMS jitter, all in seconds.
1238 .TP 7
1239 .NOP \f\*[B-Font]rawstats\f[]
1240 Enables recording of raw-timestamp statistics information.
1241 This
1242 includes statistics records of all peers of a NTP server and of
1243 special signals, where present and configured.
1244 Each NTP message
1245 received from a peer or clock driver appends a line of the
1246 following form to the file generation set named
1247 \f\*[B-Font]rawstats\f[]:
1248 .br
1249 .in +4
1250 .nf
1251 50928 2132.543 128.4.1.1 128.4.1.20 3102453281.584327000 3102453281.58622800031 02453332.540806000 3102453332.541458000
1252 .in -4
1253 .fi
1254 .sp \n(Ppu
1255 .ne 2
1256
1257 The first two fields show the date (Modified Julian Day) and
1258 time (seconds and fraction past UTC midnight).
1259 The next two fields
1260 show the remote peer or clock address followed by the local address
1261 in dotted-quad notation.
1262 The final four fields show the originate,
1263 receive, transmit and final NTP timestamps in order.
1264 The timestamp
1265 values are as received and before processing by the various data
1266 smoothing and mitigation algorithms.
1267 .TP 7
1268 .NOP \f\*[B-Font]sysstats\f[]
1269 Enables recording of ntpd statistics counters on a periodic basis.
1270 Each
1271 hour a line of the following form is appended to the file generation
1272 set named
1273 \f\*[B-Font]sysstats\f[]:
1274 .br
1275 .in +4
1276 .nf
1277 50928 2132.543 36000 81965 0 9546 56 71793 512 540 10 147
1278 .in -4
1279 .fi
1280 .sp \n(Ppu
1281 .ne 2
1282
1283 The first two fields show the date (Modified Julian Day) and time
1284 (seconds and fraction past UTC midnight).
1285 The remaining ten fields show
1286 the statistics counter values accumulated since the last generated
1287 line.
1288 .RS
1289 .TP 7
1290 .NOP Time since restart \f\*[B-Font]36000\f[]
1291 Time in hours since the system was last rebooted.
1292 .TP 7
1293 .NOP Packets received \f\*[B-Font]81965\f[]
1294 Total number of packets received.
1295 .TP 7
1296 .NOP Packets processed \f\*[B-Font]0\f[]
1297 Number of packets received in response to previous packets sent
1298 .TP 7
1299 .NOP Current version \f\*[B-Font]9546\f[]
1300 Number of packets matching the current NTP version.
1301 .TP 7
1302 .NOP Previous version \f\*[B-Font]56\f[]
1303 Number of packets matching the previous NTP version.
1304 .TP 7
1305 .NOP Bad version \f\*[B-Font]71793\f[]
1306 Number of packets matching neither NTP version.
1307 .TP 7
1308 .NOP Access denied \f\*[B-Font]512\f[]
1309 Number of packets denied access for any reason.
1310 .TP 7
1311 .NOP Bad length or format \f\*[B-Font]540\f[]
1312 Number of packets with invalid length, format or port number.
1313 .TP 7
1314 .NOP Bad authentication \f\*[B-Font]10\f[]
1315 Number of packets not verified as authentic.
1316 .TP 7
1317 .NOP Rate exceeded \f\*[B-Font]147\f[]
1318 Number of packets discarded due to rate limitation.
1319 .RE
1320 .TP 7
1321 .NOP \f\*[B-Font]statsdir\f[] \f\*[I-Font]directory_path\f[]
1322 Indicates the full path of a directory where statistics files
1323 should be created (see below).
1324 This keyword allows
1325 the (otherwise constant)
1326 \f\*[B-Font]filegen\f[]
1327 filename prefix to be modified for file generation sets, which
1328 is useful for handling statistics logs.
1329 .TP 7
1330 .NOP \f\*[B-Font]filegen\f[] \f\*[I-Font]name\f[] [\f\*[B-Font]file\f[] \f\*[I-Font]filename\f[]] [\f\*[B-Font]type\f[] \f\*[I-Font]typename\f[]] [\f\*[B-Font]link\f[] | \f\*[B-Font]nolink\f[]] [\f\*[B-Font]enable\f[] | \f\*[B-Font]disable\f[]]
1331 Configures setting of generation file set name.
1332 Generation
1333 file sets provide a means for handling files that are
1334 continuously growing during the lifetime of a server.
1335 Server statistics are a typical example for such files.
1336 Generation file sets provide access to a set of files used
1337 to store the actual data.
1338 At any time at most one element
1339 of the set is being written to.
1340 The type given specifies
1341 when and how data will be directed to a new element of the set.
1342 This way, information stored in elements of a file set
1343 that are currently unused are available for administrational
1344 operations without the risk of disturbing the operation of ntpd.
1345 (Most important: they can be removed to free space for new data
1346 produced.)
1347 .sp \n(Ppu
1348 .ne 2
1349
1350 Note that this command can be sent from the
1351 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
1352 program running at a remote location.
1353 .RS
1354 .TP 7
1355 .NOP \f\*[B-Font]name\f[]
1356 This is the type of the statistics records, as shown in the
1357 \f\*[B-Font]statistics\f[]
1358 command.
1359 .TP 7
1360 .NOP \f\*[B-Font]file\f[] \f\*[I-Font]filename\f[]
1361 This is the file name for the statistics records.
1362 Filenames of set
1363 members are built from three concatenated elements
1364 \f\*[B-Font]prefix\f[],
1365 \f\*[B-Font]filename\f[]
1366 and
1367 \f\*[B-Font]suffix\f[]:
1368 .RS
1369 .TP 7
1370 .NOP \f\*[B-Font]prefix\f[]
1371 This is a constant filename path.
1372 It is not subject to
1373 modifications via the
1374 \f\*[I-Font]filegen\f[]
1375 option.
1376 It is defined by the
1377 server, usually specified as a compile-time constant.
1378 It may,
1379 however, be configurable for individual file generation sets
1380 via other commands.
1381 For example, the prefix used with
1382 \f\*[I-Font]loopstats\f[]
1383 and
1384 \f\*[I-Font]peerstats\f[]
1385 generation can be configured using the
1386 \f\*[I-Font]statsdir\f[]
1387 option explained above.
1388 .TP 7
1389 .NOP \f\*[B-Font]filename\f[]
1390 This string is directly concatenated to the prefix mentioned
1391 above (no intervening
1392 \[oq]/\[cq]).
1393 This can be modified using
1394 the file argument to the
1395 \f\*[I-Font]filegen\f[]
1396 statement.
1397 No
1398 \fI..\f[]
1399 elements are
1400 allowed in this component to prevent filenames referring to
1401 parts outside the filesystem hierarchy denoted by
1402 \f\*[I-Font]prefix\f[].
1403 .TP 7
1404 .NOP \f\*[B-Font]suffix\f[]
1405 This part is reflects individual elements of a file set.
1406 It is
1407 generated according to the type of a file set.
1408 .RE
1409 .TP 7
1410 .NOP \f\*[B-Font]type\f[] \f\*[I-Font]typename\f[]
1411 A file generation set is characterized by its type.
1412 The following
1413 types are supported:
1414 .RS
1415 .TP 7
1416 .NOP \f\*[B-Font]none\f[]
1417 The file set is actually a single plain file.
1418 .TP 7
1419 .NOP \f\*[B-Font]pid\f[]
1420 One element of file set is used per incarnation of a ntpd
1421 server.
1422 This type does not perform any changes to file set
1423 members during runtime, however it provides an easy way of
1424 separating files belonging to different
1425 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
1426 server incarnations.
1427 The set member filename is built by appending a
1428 \[oq]\&.\[cq]
1429 to concatenated
1430 \f\*[I-Font]prefix\f[]
1431 and
1432 \f\*[I-Font]filename\f[]
1433 strings, and
1434 appending the decimal representation of the process ID of the
1435 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
1436 server process.
1437 .TP 7
1438 .NOP \f\*[B-Font]day\f[]
1439 One file generation set element is created per day.
1440 A day is
1441 defined as the period between 00:00 and 24:00 UTC.
1442 The file set
1443 member suffix consists of a
1444 \[oq]\&.\[cq]
1445 and a day specification in
1446 the form
1447 \f\*[B-Font]YYYYMMdd\f[].
1448 \f\*[B-Font]YYYY\f[]
1449 is a 4-digit year number (e.g., 1992).
1450 \f\*[B-Font]MM\f[]
1451 is a two digit month number.
1452 \f\*[B-Font]dd\f[]
1453 is a two digit day number.
1454 Thus, all information written at 10 December 1992 would end up
1455 in a file named
1456 \f\*[I-Font]prefix\f[]
1457 \f\*[I-Font]filename\f[].19921210.
1458 .TP 7
1459 .NOP \f\*[B-Font]week\f[]
1460 Any file set member contains data related to a certain week of
1461 a year.
1462 The term week is defined by computing day-of-year
1463 modulo 7.
1464 Elements of such a file generation set are
1465 distinguished by appending the following suffix to the file set
1466 filename base: A dot, a 4-digit year number, the letter
1467 \f\*[B-Font]W\f[],
1468 and a 2-digit week number.
1469 For example, information from January,
1470 10th 1992 would end up in a file with suffix
1471 .NOP. \f\*[I-Font]1992W1\f[].
1472 .TP 7
1473 .NOP \f\*[B-Font]month\f[]
1474 One generation file set element is generated per month.
1475 The
1476 file name suffix consists of a dot, a 4-digit year number, and
1477 a 2-digit month.
1478 .TP 7
1479 .NOP \f\*[B-Font]year\f[]
1480 One generation file element is generated per year.
1481 The filename
1482 suffix consists of a dot and a 4 digit year number.
1483 .TP 7
1484 .NOP \f\*[B-Font]age\f[]
1485 This type of file generation sets changes to a new element of
1486 the file set every 24 hours of server operation.
1487 The filename
1488 suffix consists of a dot, the letter
1489 \f\*[B-Font]a\f[],
1490 and an 8-digit number.
1491 This number is taken to be the number of seconds the server is
1492 running at the start of the corresponding 24-hour period.
1493 Information is only written to a file generation by specifying
1494 \f\*[B-Font]enable\f[];
1495 output is prevented by specifying
1496 \f\*[B-Font]disable\f[].
1497 .RE
1498 .TP 7
1499 .NOP \f\*[B-Font]link\f[] | \f\*[B-Font]nolink\f[]
1500 It is convenient to be able to access the current element of a file
1501 generation set by a fixed name.
1502 This feature is enabled by
1503 specifying
1504 \f\*[B-Font]link\f[]
1505 and disabled using
1506 \f\*[B-Font]nolink\f[].
1507 If link is specified, a
1508 hard link from the current file set element to a file without
1509 suffix is created.
1510 When there is already a file with this name and
1511 the number of links of this file is one, it is renamed appending a
1512 dot, the letter
1513 \f\*[B-Font]C\f[],
1514 and the pid of the ntpd server process.
1515 When the
1516 number of links is greater than one, the file is unlinked.
1517 This
1518 allows the current file to be accessed by a constant name.
1519 .TP 7
1520 .NOP \f\*[B-Font]enable\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]disable\f[]
1521 Enables or disables the recording function.
1522 .RE
1523 .RE
1524 .PP
1525 .SH Access Control Support
1526 The
1527 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
1528 daemon implements a general purpose address/mask based restriction
1529 list.
1530 The list contains address/match entries sorted first
1531 by increasing address values and and then by increasing mask values.
1532 A match occurs when the bitwise AND of the mask and the packet
1533 source address is equal to the bitwise AND of the mask and
1534 address in the list.
1535 The list is searched in order with the
1536 last match found defining the restriction flags associated
1537 with the entry.
1538 Additional information and examples can be found in the
1539 "Notes on Configuring NTP and Setting up a NTP Subnet"
1540 page
1541 (available as part of the HTML documentation
1542 provided in
1543 \fI/usr/share/doc/ntp\f[]).
1544 .sp \n(Ppu
1545 .ne 2
1546
1547 The restriction facility was implemented in conformance
1548 with the access policies for the original NSFnet backbone
1549 time servers.
1550 Later the facility was expanded to deflect
1551 cryptographic and clogging attacks.
1552 While this facility may
1553 be useful for keeping unwanted or broken or malicious clients
1554 from congesting innocent servers, it should not be considered
1555 an alternative to the NTP authentication facilities.
1556 Source address based restrictions are easily circumvented
1557 by a determined cracker.
1558 .sp \n(Ppu
1559 .ne 2
1560
1561 Clients can be denied service because they are explicitly
1562 included in the restrict list created by the restrict command
1563 or implicitly as the result of cryptographic or rate limit
1564 violations.
1565 Cryptographic violations include certificate
1566 or identity verification failure; rate limit violations generally
1567 result from defective NTP implementations that send packets
1568 at abusive rates.
1569 Some violations cause denied service
1570 only for the offending packet, others cause denied service
1571 for a timed period and others cause the denied service for
1572 an indefinate period.
1573 When a client or network is denied access
1574 for an indefinate period, the only way at present to remove
1575 the restrictions is by restarting the server.
1576 .SS The Kiss-of-Death Packet
1577 Ordinarily, packets denied service are simply dropped with no
1578 further action except incrementing statistics counters.
1579 Sometimes a
1580 more proactive response is needed, such as a server message that
1581 explicitly requests the client to stop sending and leave a message
1582 for the system operator.
1583 A special packet format has been created
1584 for this purpose called the "kiss-of-death" (KoD) packet.
1585 KoD packets have the leap bits set unsynchronized and stratum set
1586 to zero and the reference identifier field set to a four-byte
1587 ASCII code.
1588 If the
1589 \f\*[B-Font]noserve\f[]
1590 or
1591 \f\*[B-Font]notrust\f[]
1592 flag of the matching restrict list entry is set,
1593 the code is "DENY"; if the
1594 \f\*[B-Font]limited\f[]
1595 flag is set and the rate limit
1596 is exceeded, the code is "RATE".
1597 Finally, if a cryptographic violation occurs, the code is "CRYP".
1598 .sp \n(Ppu
1599 .ne 2
1600
1601 A client receiving a KoD performs a set of sanity checks to
1602 minimize security exposure, then updates the stratum and
1603 reference identifier peer variables, sets the access
1604 denied (TEST4) bit in the peer flash variable and sends
1605 a message to the log.
1606 As long as the TEST4 bit is set,
1607 the client will send no further packets to the server.
1608 The only way at present to recover from this condition is
1609 to restart the protocol at both the client and server.
1610 This
1611 happens automatically at the client when the association times out.
1612 It will happen at the server only if the server operator cooperates.
1613 .SS Access Control Commands
1614 .TP 7
1615 .NOP \f\*[B-Font]discard\f[] [\f\*[B-Font]average\f[] \f\*[I-Font]avg\f[]] [\f\*[B-Font]minimum\f[] \f\*[I-Font]min\f[]] [\f\*[B-Font]monitor\f[] \f\*[I-Font]prob\f[]]
1616 Set the parameters of the
1617 \f\*[B-Font]limited\f[]
1618 facility which protects the server from
1619 client abuse.
1620 The
1621 \f\*[B-Font]average\f[]
1622 subcommand specifies the minimum average packet
1623 spacing, while the
1624 \f\*[B-Font]minimum\f[]
1625 subcommand specifies the minimum packet spacing.
1626 Packets that violate these minima are discarded
1627 and a kiss-o'-death packet returned if enabled.
1628 The default
1629 minimum average and minimum are 5 and 2, respectively.
1630 The monitor subcommand specifies the probability of discard
1631 for packets that overflow the rate-control window.
1632 .TP 7
1633 .NOP \f\*[B-Font]restrict\f[] \f\*[B-Font]address\f[] [\f\*[B-Font]mask\f[] \f\*[I-Font]mask\f[]] [\f\*[I-Font]flag\f[] \f\*[I-Font]...\f[]]
1634 The
1635 \f\*[I-Font]address\f[]
1636 argument expressed in
1637 dotted-quad form is the address of a host or network.
1638 Alternatively, the
1639 \f\*[I-Font]address\f[]
1640 argument can be a valid host DNS name.
1641 The
1642 \f\*[I-Font]mask\f[]
1643 argument expressed in dotted-quad form defaults to
1644 \f\*[B-Font]255.255.255.255\f[],
1645 meaning that the
1646 \f\*[I-Font]address\f[]
1647 is treated as the address of an individual host.
1648 A default entry (address
1649 \f\*[B-Font]0.0.0.0\f[],
1650 mask
1651 \f\*[B-Font]0.0.0.0\f[])
1652 is always included and is always the first entry in the list.
1653 Note that text string
1654 \f\*[B-Font]default\f[],
1655 with no mask option, may
1656 be used to indicate the default entry.
1657 In the current implementation,
1658 \f\*[B-Font]flag\f[]
1659 always
1660 restricts access, i.e., an entry with no flags indicates that free
1661 access to the server is to be given.
1662 The flags are not orthogonal,
1663 in that more restrictive flags will often make less restrictive
1664 ones redundant.
1665 The flags can generally be classed into two
1666 categories, those which restrict time service and those which
1667 restrict informational queries and attempts to do run-time
1668 reconfiguration of the server.
1669 One or more of the following flags
1670 may be specified:
1671 .RS
1672 .TP 7
1673 .NOP \f\*[B-Font]ignore\f[]
1674 Deny packets of all kinds, including
1675 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
1676 and
1677 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
1678 queries.
1679 .TP 7
1680 .NOP \f\*[B-Font]kod\f[]
1681 If this flag is set when an access violation occurs, a kiss-o'-death
1682 (KoD) packet is sent.
1683 KoD packets are rate limited to no more than one
1684 per second.
1685 If another KoD packet occurs within one second after the
1686 last one, the packet is dropped.
1687 .TP 7
1688 .NOP \f\*[B-Font]limited\f[]
1689 Deny service if the packet spacing violates the lower limits specified
1690 in the discard command.
1691 A history of clients is kept using the
1692 monitoring capability of
1693 \fCntpd\f[]\fR(@NTPD_MS@)\f[].
1694 Thus, monitoring is always active as
1695 long as there is a restriction entry with the
1696 \f\*[B-Font]limited\f[]
1697 flag.
1698 .TP 7
1699 .NOP \f\*[B-Font]lowpriotrap\f[]
1700 Declare traps set by matching hosts to be low priority.
1701 The
1702 number of traps a server can maintain is limited (the current limit
1703 is 3).
1704 Traps are usually assigned on a first come, first served
1705 basis, with later trap requestors being denied service.
1706 This flag
1707 modifies the assignment algorithm by allowing low priority traps to
1708 be overridden by later requests for normal priority traps.
1709 .TP 7
1710 .NOP \f\*[B-Font]nomodify\f[]
1711 Deny
1712 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
1713 and
1714 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
1715 queries which attempt to modify the state of the
1716 server (i.e., run time reconfiguration).
1717 Queries which return
1718 information are permitted.
1719 .TP 7
1720 .NOP \f\*[B-Font]noquery\f[]
1721 Deny
1722 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
1723 and
1724 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
1725 queries.
1726 Time service is not affected.
1727 .TP 7
1728 .NOP \f\*[B-Font]nopeer\f[]
1729 Deny packets which would result in mobilizing a new association.
1730 This
1731 includes broadcast and symmetric active packets when a configured
1732 association does not exist.
1733 It also includes
1734 \f\*[B-Font]pool\f[]
1735 associations, so if you want to use servers from a 
1736 \f\*[B-Font]pool\f[]
1737 directive and also want to use
1738 \f\*[B-Font]nopeer\f[]
1739 by default, you'll want a
1740 \f\*[B-Font]restrict source ...\f[] \f\*[B-Font]line\f[] \f\*[B-Font]as\f[] \f\*[B-Font]well\f[] \f\*[B-Font]that\f[] \f\*[B-Font]does\f[]
1741 .TP 7
1742 .NOP not
1743 include the
1744 \f\*[B-Font]nopeer\f[]
1745 directive.
1746 .TP 7
1747 .NOP \f\*[B-Font]noserve\f[]
1748 Deny all packets except
1749 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
1750 and
1751 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
1752 queries.
1753 .TP 7
1754 .NOP \f\*[B-Font]notrap\f[]
1755 Decline to provide mode 6 control message trap service to matching
1756 hosts.
1757 The trap service is a subsystem of the ntpdq control message
1758 protocol which is intended for use by remote event logging programs.
1759 .TP 7
1760 .NOP \f\*[B-Font]notrust\f[]
1761 Deny service unless the packet is cryptographically authenticated.
1762 .TP 7
1763 .NOP \f\*[B-Font]ntpport\f[]
1764 This is actually a match algorithm modifier, rather than a
1765 restriction flag.
1766 Its presence causes the restriction entry to be
1767 matched only if the source port in the packet is the standard NTP
1768 UDP port (123).
1769 Both
1770 \f\*[B-Font]ntpport\f[]
1771 and
1772 \f\*[B-Font]non-ntpport\f[]
1773 may
1774 be specified.
1775 The
1776 \f\*[B-Font]ntpport\f[]
1777 is considered more specific and
1778 is sorted later in the list.
1779 .TP 7
1780 .NOP \f\*[B-Font]version\f[]
1781 Deny packets that do not match the current NTP version.
1782 .RE
1783 .sp \n(Ppu
1784 .ne 2
1785
1786 Default restriction list entries with the flags ignore, interface,
1787 ntpport, for each of the local host's interface addresses are
1788 inserted into the table at startup to prevent the server
1789 from attempting to synchronize to its own time.
1790 A default entry is also always present, though if it is
1791 otherwise unconfigured; no flags are associated
1792 with the default entry (i.e., everything besides your own
1793 NTP server is unrestricted).
1794 .PP
1795 .SH Automatic NTP Configuration Options
1796 .SS Manycasting
1797 Manycasting is a automatic discovery and configuration paradigm
1798 new to NTPv4.
1799 It is intended as a means for a multicast client
1800 to troll the nearby network neighborhood to find cooperating
1801 manycast servers, validate them using cryptographic means
1802 and evaluate their time values with respect to other servers
1803 that might be lurking in the vicinity.
1804 The intended result is that each manycast client mobilizes
1805 client associations with some number of the "best"
1806 of the nearby manycast servers, yet automatically reconfigures
1807 to sustain this number of servers should one or another fail.
1808 .sp \n(Ppu
1809 .ne 2
1810
1811 Note that the manycasting paradigm does not coincide
1812 with the anycast paradigm described in RFC-1546,
1813 which is designed to find a single server from a clique
1814 of servers providing the same service.
1815 The manycast paradigm is designed to find a plurality
1816 of redundant servers satisfying defined optimality criteria.
1817 .sp \n(Ppu
1818 .ne 2
1819
1820 Manycasting can be used with either symmetric key
1821 or public key cryptography.
1822 The public key infrastructure (PKI)
1823 offers the best protection against compromised keys
1824 and is generally considered stronger, at least with relatively
1825 large key sizes.
1826 It is implemented using the Autokey protocol and
1827 the OpenSSL cryptographic library available from
1828 \f[C]http://www.openssl.org/\f[].
1829 The library can also be used with other NTPv4 modes
1830 as well and is highly recommended, especially for broadcast modes.
1831 .sp \n(Ppu
1832 .ne 2
1833
1834 A persistent manycast client association is configured
1835 using the manycastclient command, which is similar to the
1836 server command but with a multicast (IPv4 class
1837 \f\*[B-Font]D\f[]
1838 or IPv6 prefix
1839 \f\*[B-Font]FF\f[])
1840 group address.
1841 The IANA has designated IPv4 address 224.1.1.1
1842 and IPv6 address FF05::101 (site local) for NTP.
1843 When more servers are needed, it broadcasts manycast
1844 client messages to this address at the minimum feasible rate
1845 and minimum feasible time-to-live (TTL) hops, depending
1846 on how many servers have already been found.
1847 There can be as many manycast client associations
1848 as different group address, each one serving as a template
1849 for a future ephemeral unicast client/server association.
1850 .sp \n(Ppu
1851 .ne 2
1852
1853 Manycast servers configured with the
1854 \f\*[B-Font]manycastserver\f[]
1855 command listen on the specified group address for manycast
1856 client messages.
1857 Note the distinction between manycast client,
1858 which actively broadcasts messages, and manycast server,
1859 which passively responds to them.
1860 If a manycast server is
1861 in scope of the current TTL and is itself synchronized
1862 to a valid source and operating at a stratum level equal
1863 to or lower than the manycast client, it replies to the
1864 manycast client message with an ordinary unicast server message.
1865 .sp \n(Ppu
1866 .ne 2
1867
1868 The manycast client receiving this message mobilizes
1869 an ephemeral client/server association according to the
1870 matching manycast client template, but only if cryptographically
1871 authenticated and the server stratum is less than or equal
1872 to the client stratum.
1873 Authentication is explicitly required
1874 and either symmetric key or public key (Autokey) can be used.
1875 Then, the client polls the server at its unicast address
1876 in burst mode in order to reliably set the host clock
1877 and validate the source.
1878 This normally results
1879 in a volley of eight client/server at 2-s intervals
1880 during which both the synchronization and cryptographic
1881 protocols run concurrently.
1882 Following the volley,
1883 the client runs the NTP intersection and clustering
1884 algorithms, which act to discard all but the "best"
1885 associations according to stratum and synchronization
1886 distance.
1887 The surviving associations then continue
1888 in ordinary client/server mode.
1889 .sp \n(Ppu
1890 .ne 2
1891
1892 The manycast client polling strategy is designed to reduce
1893 as much as possible the volume of manycast client messages
1894 and the effects of implosion due to near-simultaneous
1895 arrival of manycast server messages.
1896 The strategy is determined by the
1897 \f\*[B-Font]manycastclient\f[],
1898 \f\*[B-Font]tos\f[]
1899 and
1900 \f\*[B-Font]ttl\f[]
1901 configuration commands.
1902 The manycast poll interval is
1903 normally eight times the system poll interval,
1904 which starts out at the
1905 \f\*[B-Font]minpoll\f[]
1906 value specified in the
1907 \f\*[B-Font]manycastclient\f[],
1908 command and, under normal circumstances, increments to the
1909 \f\*[B-Font]maxpolll\f[]
1910 value specified in this command.
1911 Initially, the TTL is
1912 set at the minimum hops specified by the ttl command.
1913 At each retransmission the TTL is increased until reaching
1914 the maximum hops specified by this command or a sufficient
1915 number client associations have been found.
1916 Further retransmissions use the same TTL.
1917 .sp \n(Ppu
1918 .ne 2
1919
1920 The quality and reliability of the suite of associations
1921 discovered by the manycast client is determined by the NTP
1922 mitigation algorithms and the
1923 \f\*[B-Font]minclock\f[]
1924 and
1925 \f\*[B-Font]minsane\f[]
1926 values specified in the
1927 \f\*[B-Font]tos\f[]
1928 configuration command.
1929 At least
1930 \f\*[B-Font]minsane\f[]
1931 candidate servers must be available and the mitigation
1932 algorithms produce at least
1933 \f\*[B-Font]minclock\f[]
1934 survivors in order to synchronize the clock.
1935 Byzantine agreement principles require at least four
1936 candidates in order to correctly discard a single falseticker.
1937 For legacy purposes,
1938 \f\*[B-Font]minsane\f[]
1939 defaults to 1 and
1940 \f\*[B-Font]minclock\f[]
1941 defaults to 3.
1942 For manycast service
1943 \f\*[B-Font]minsane\f[]
1944 should be explicitly set to 4, assuming at least that
1945 number of servers are available.
1946 .sp \n(Ppu
1947 .ne 2
1948
1949 If at least
1950 \f\*[B-Font]minclock\f[]
1951 servers are found, the manycast poll interval is immediately
1952 set to eight times
1953 \f\*[B-Font]maxpoll\f[].
1954 If less than
1955 \f\*[B-Font]minclock\f[]
1956 servers are found when the TTL has reached the maximum hops,
1957 the manycast poll interval is doubled.
1958 For each transmission
1959 after that, the poll interval is doubled again until
1960 reaching the maximum of eight times
1961 \f\*[B-Font]maxpoll\f[].
1962 Further transmissions use the same poll interval and
1963 TTL values.
1964 Note that while all this is going on,
1965 each client/server association found is operating normally
1966 it the system poll interval.
1967 .sp \n(Ppu
1968 .ne 2
1969
1970 Administratively scoped multicast boundaries are normally
1971 specified by the network router configuration and,
1972 in the case of IPv6, the link/site scope prefix.
1973 By default, the increment for TTL hops is 32 starting
1974 from 31; however, the
1975 \f\*[B-Font]ttl\f[]
1976 configuration command can be
1977 used to modify the values to match the scope rules.
1978 .sp \n(Ppu
1979 .ne 2
1980
1981 It is often useful to narrow the range of acceptable
1982 servers which can be found by manycast client associations.
1983 Because manycast servers respond only when the client
1984 stratum is equal to or greater than the server stratum,
1985 primary (stratum 1) servers fill find only primary servers
1986 in TTL range, which is probably the most common objective.
1987 However, unless configured otherwise, all manycast clients
1988 in TTL range will eventually find all primary servers
1989 in TTL range, which is probably not the most common
1990 objective in large networks.
1991 The
1992 \f\*[B-Font]tos\f[]
1993 command can be used to modify this behavior.
1994 Servers with stratum below
1995 \f\*[B-Font]floor\f[]
1996 or above
1997 \f\*[B-Font]ceiling\f[]
1998 specified in the
1999 \f\*[B-Font]tos\f[]
2000 command are strongly discouraged during the selection
2001 process; however, these servers may be temporally
2002 accepted if the number of servers within TTL range is
2003 less than
2004 \f\*[B-Font]minclock\f[].
2005 .sp \n(Ppu
2006 .ne 2
2007
2008 The above actions occur for each manycast client message,
2009 which repeats at the designated poll interval.
2010 However, once the ephemeral client association is mobilized,
2011 subsequent manycast server replies are discarded,
2012 since that would result in a duplicate association.
2013 If during a poll interval the number of client associations
2014 falls below
2015 \f\*[B-Font]minclock\f[],
2016 all manycast client prototype associations are reset
2017 to the initial poll interval and TTL hops and operation
2018 resumes from the beginning.
2019 It is important to avoid
2020 frequent manycast client messages, since each one requires
2021 all manycast servers in TTL range to respond.
2022 The result could well be an implosion, either minor or major,
2023 depending on the number of servers in range.
2024 The recommended value for
2025 \f\*[B-Font]maxpoll\f[]
2026 is 12 (4,096 s).
2027 .sp \n(Ppu
2028 .ne 2
2029
2030 It is possible and frequently useful to configure a host
2031 as both manycast client and manycast server.
2032 A number of hosts configured this way and sharing a common
2033 group address will automatically organize themselves
2034 in an optimum configuration based on stratum and
2035 synchronization distance.
2036 For example, consider an NTP
2037 subnet of two primary servers and a hundred or more
2038 dependent clients.
2039 With two exceptions, all servers
2040 and clients have identical configuration files including both
2041 \f\*[B-Font]multicastclient\f[]
2042 and
2043 \f\*[B-Font]multicastserver\f[]
2044 commands using, for instance, multicast group address
2045 239.1.1.1.
2046 The only exception is that each primary server
2047 configuration file must include commands for the primary
2048 reference source such as a GPS receiver.
2049 .sp \n(Ppu
2050 .ne 2
2051
2052 The remaining configuration files for all secondary
2053 servers and clients have the same contents, except for the
2054 \f\*[B-Font]tos\f[]
2055 command, which is specific for each stratum level.
2056 For stratum 1 and stratum 2 servers, that command is
2057 not necessary.
2058 For stratum 3 and above servers the
2059 \f\*[B-Font]floor\f[]
2060 value is set to the intended stratum number.
2061 Thus, all stratum 3 configuration files are identical,
2062 all stratum 4 files are identical and so forth.
2063 .sp \n(Ppu
2064 .ne 2
2065
2066 Once operations have stabilized in this scenario,
2067 the primary servers will find the primary reference source
2068 and each other, since they both operate at the same
2069 stratum (1), but not with any secondary server or client,
2070 since these operate at a higher stratum.
2071 The secondary
2072 servers will find the servers at the same stratum level.
2073 If one of the primary servers loses its GPS receiver,
2074 it will continue to operate as a client and other clients
2075 will time out the corresponding association and
2076 re-associate accordingly.
2077 .sp \n(Ppu
2078 .ne 2
2079
2080 Some administrators prefer to avoid running
2081 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2082 continuously and run either
2083 \fCsntp\f[]\fR(@SNTP_MS@)\f[]
2084 or
2085 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2086 \f\*[B-Font]\-q\f[]
2087 as a cron job.
2088 In either case the servers must be
2089 configured in advance and the program fails if none are
2090 available when the cron job runs.
2091 A really slick
2092 application of manycast is with
2093 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2094 \f\*[B-Font]\-q\f[].
2095 The program wakes up, scans the local landscape looking
2096 for the usual suspects, selects the best from among
2097 the rascals, sets the clock and then departs.
2098 Servers do not have to be configured in advance and
2099 all clients throughout the network can have the same
2100 configuration file.
2101 .SS Manycast Interactions with Autokey
2102 Each time a manycast client sends a client mode packet
2103 to a multicast group address, all manycast servers
2104 in scope generate a reply including the host name
2105 and status word.
2106 The manycast clients then run
2107 the Autokey protocol, which collects and verifies
2108 all certificates involved.
2109 Following the burst interval
2110 all but three survivors are cast off,
2111 but the certificates remain in the local cache.
2112 It often happens that several complete signing trails
2113 from the client to the primary servers are collected in this way.
2114 .sp \n(Ppu
2115 .ne 2
2116
2117 About once an hour or less often if the poll interval
2118 exceeds this, the client regenerates the Autokey key list.
2119 This is in general transparent in client/server mode.
2120 However, about once per day the server private value
2121 used to generate cookies is refreshed along with all
2122 manycast client associations.
2123 In this case all
2124 cryptographic values including certificates is refreshed.
2125 If a new certificate has been generated since
2126 the last refresh epoch, it will automatically revoke
2127 all prior certificates that happen to be in the
2128 certificate cache.
2129 At the same time, the manycast
2130 scheme starts all over from the beginning and
2131 the expanding ring shrinks to the minimum and increments
2132 from there while collecting all servers in scope.
2133 .SS Manycast Options
2134 .TP 7
2135 .NOP \f\*[B-Font]tos\f[] [\f\*[B-Font]ceiling\f[] \f\*[I-Font]ceiling\f[] | \f\*[B-Font]cohort\f[] { \f\*[B-Font]0\f[] | \f\*[B-Font]1\f[] } | \f\*[B-Font]floor\f[] \f\*[I-Font]floor\f[] | \f\*[B-Font]minclock\f[] \f\*[I-Font]minclock\f[] | \f\*[B-Font]minsane\f[] \f\*[I-Font]minsane\f[]]
2136 This command affects the clock selection and clustering
2137 algorithms.
2138 It can be used to select the quality and
2139 quantity of peers used to synchronize the system clock
2140 and is most useful in manycast mode.
2141 The variables operate
2142 as follows:
2143 .RS
2144 .TP 7
2145 .NOP \f\*[B-Font]ceiling\f[] \f\*[I-Font]ceiling\f[]
2146 Peers with strata above
2147 \f\*[B-Font]ceiling\f[]
2148 will be discarded if there are at least
2149 \f\*[B-Font]minclock\f[]
2150 peers remaining.
2151 This value defaults to 15, but can be changed
2152 to any number from 1 to 15.
2153 .TP 7
2154 .NOP \f\*[B-Font]cohort\f[] {0 | 1 }
2155 This is a binary flag which enables (0) or disables (1)
2156 manycast server replies to manycast clients with the same
2157 stratum level.
2158 This is useful to reduce implosions where
2159 large numbers of clients with the same stratum level
2160 are present.
2161 The default is to enable these replies.
2162 .TP 7
2163 .NOP \f\*[B-Font]floor\f[] \f\*[I-Font]floor\f[]
2164 Peers with strata below
2165 \f\*[B-Font]floor\f[]
2166 will be discarded if there are at least
2167 \f\*[B-Font]minclock\f[]
2168 peers remaining.
2169 This value defaults to 1, but can be changed
2170 to any number from 1 to 15.
2171 .TP 7
2172 .NOP \f\*[B-Font]minclock\f[] \f\*[I-Font]minclock\f[]
2173 The clustering algorithm repeatedly casts out outlier
2174 associations until no more than
2175 \f\*[B-Font]minclock\f[]
2176 associations remain.
2177 This value defaults to 3,
2178 but can be changed to any number from 1 to the number of
2179 configured sources.
2180 .TP 7
2181 .NOP \f\*[B-Font]minsane\f[] \f\*[I-Font]minsane\f[]
2182 This is the minimum number of candidates available
2183 to the clock selection algorithm in order to produce
2184 one or more truechimers for the clustering algorithm.
2185 If fewer than this number are available, the clock is
2186 undisciplined and allowed to run free.
2187 The default is 1
2188 for legacy purposes.
2189 However, according to principles of
2190 Byzantine agreement,
2191 \f\*[B-Font]minsane\f[]
2192 should be at least 4 in order to detect and discard
2193 a single falseticker.
2194 .RE
2195 .TP 7
2196 .NOP \f\*[B-Font]ttl\f[] \f\*[I-Font]hop\f[] \f\*[I-Font]...\f[]
2197 This command specifies a list of TTL values in increasing
2198 order, up to 8 values can be specified.
2199 In manycast mode these values are used in turn
2200 in an expanding-ring search.
2201 The default is eight
2202 multiples of 32 starting at 31.
2203 .PP
2204 .SH Reference Clock Support
2205 The NTP Version 4 daemon supports some three dozen different radio,
2206 satellite and modem reference clocks plus a special pseudo-clock
2207 used for backup or when no other clock source is available.
2208 Detailed descriptions of individual device drivers and options can
2209 be found in the
2210 "Reference Clock Drivers"
2211 page
2212 (available as part of the HTML documentation
2213 provided in
2214 \fI/usr/share/doc/ntp\f[]).
2215 Additional information can be found in the pages linked
2216 there, including the
2217 "Debugging Hints for Reference Clock Drivers"
2218 and
2219 "How To Write a Reference Clock Driver"
2220 pages
2221 (available as part of the HTML documentation
2222 provided in
2223 \fI/usr/share/doc/ntp\f[]).
2224 In addition, support for a PPS
2225 signal is available as described in the
2226 "Pulse-per-second (PPS) Signal Interfacing"
2227 page
2228 (available as part of the HTML documentation
2229 provided in
2230 \fI/usr/share/doc/ntp\f[]).
2231 Many
2232 drivers support special line discipline/streams modules which can
2233 significantly improve the accuracy using the driver.
2234 These are
2235 described in the
2236 "Line Disciplines and Streams Drivers"
2237 page
2238 (available as part of the HTML documentation
2239 provided in
2240 \fI/usr/share/doc/ntp\f[]).
2241 .sp \n(Ppu
2242 .ne 2
2243
2244 A reference clock will generally (though not always) be a radio
2245 timecode receiver which is synchronized to a source of standard
2246 time such as the services offered by the NRC in Canada and NIST and
2247 USNO in the US.
2248 The interface between the computer and the timecode
2249 receiver is device dependent, but is usually a serial port.
2250 A
2251 device driver specific to each reference clock must be selected and
2252 compiled in the distribution; however, most common radio, satellite
2253 and modem clocks are included by default.
2254 Note that an attempt to
2255 configure a reference clock when the driver has not been compiled
2256 or the hardware port has not been appropriately configured results
2257 in a scalding remark to the system log file, but is otherwise non
2258 hazardous.
2259 .sp \n(Ppu
2260 .ne 2
2261
2262 For the purposes of configuration,
2263 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2264 treats
2265 reference clocks in a manner analogous to normal NTP peers as much
2266 as possible.
2267 Reference clocks are identified by a syntactically
2268 correct but invalid IP address, in order to distinguish them from
2269 normal NTP peers.
2270 Reference clock addresses are of the form
2271 \f[C]127.127.\f[]\f\*[I-Font]t\f[].\f\*[I-Font]u\f[],
2272 where
2273 \f\*[I-Font]t\f[]
2274 is an integer
2275 denoting the clock type and
2276 \f\*[I-Font]u\f[]
2277 indicates the unit
2278 number in the range 0-3.
2279 While it may seem overkill, it is in fact
2280 sometimes useful to configure multiple reference clocks of the same
2281 type, in which case the unit numbers must be unique.
2282 .sp \n(Ppu
2283 .ne 2
2284
2285 The
2286 \f\*[B-Font]server\f[]
2287 command is used to configure a reference
2288 clock, where the
2289 \f\*[I-Font]address\f[]
2290 argument in that command
2291 is the clock address.
2292 The
2293 \f\*[B-Font]key\f[],
2294 \f\*[B-Font]version\f[]
2295 and
2296 \f\*[B-Font]ttl\f[]
2297 options are not used for reference clock support.
2298 The
2299 \f\*[B-Font]mode\f[]
2300 option is added for reference clock support, as
2301 described below.
2302 The
2303 \f\*[B-Font]prefer\f[]
2304 option can be useful to
2305 persuade the server to cherish a reference clock with somewhat more
2306 enthusiasm than other reference clocks or peers.
2307 Further
2308 information on this option can be found in the
2309 "Mitigation Rules and the prefer Keyword"
2310 (available as part of the HTML documentation
2311 provided in
2312 \fI/usr/share/doc/ntp\f[])
2313 page.
2314 The
2315 \f\*[B-Font]minpoll\f[]
2316 and
2317 \f\*[B-Font]maxpoll\f[]
2318 options have
2319 meaning only for selected clock drivers.
2320 See the individual clock
2321 driver document pages for additional information.
2322 .sp \n(Ppu
2323 .ne 2
2324
2325 The
2326 \f\*[B-Font]fudge\f[]
2327 command is used to provide additional
2328 information for individual clock drivers and normally follows
2329 immediately after the
2330 \f\*[B-Font]server\f[]
2331 command.
2332 The
2333 \f\*[I-Font]address\f[]
2334 argument specifies the clock address.
2335 The
2336 \f\*[B-Font]refid\f[]
2337 and
2338 \f\*[B-Font]stratum\f[]
2339 options can be used to
2340 override the defaults for the device.
2341 There are two optional
2342 device-dependent time offsets and four flags that can be included
2343 in the
2344 \f\*[B-Font]fudge\f[]
2345 command as well.
2346 .sp \n(Ppu
2347 .ne 2
2348
2349 The stratum number of a reference clock is by default zero.
2350 Since the
2351 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2352 daemon adds one to the stratum of each
2353 peer, a primary server ordinarily displays an external stratum of
2354 one.
2355 In order to provide engineered backups, it is often useful to
2356 specify the reference clock stratum as greater than zero.
2357 The
2358 \f\*[B-Font]stratum\f[]
2359 option is used for this purpose.
2360 Also, in cases
2361 involving both a reference clock and a pulse-per-second (PPS)
2362 discipline signal, it is useful to specify the reference clock
2363 identifier as other than the default, depending on the driver.
2364 The
2365 \f\*[B-Font]refid\f[]
2366 option is used for this purpose.
2367 Except where noted,
2368 these options apply to all clock drivers.
2369 .SS Reference Clock Commands
2370 .TP 7
2371 .NOP \f\*[B-Font]server\f[] \f[C]127.127.\f[]\f\*[I-Font]t\f[].\f\*[I-Font]u\f[] [\f\*[B-Font]prefer\f[]] [\f\*[B-Font]mode\f[] \f\*[I-Font]int\f[]] [\f\*[B-Font]minpoll\f[] \f\*[I-Font]int\f[]] [\f\*[B-Font]maxpoll\f[] \f\*[I-Font]int\f[]]
2372 This command can be used to configure reference clocks in
2373 special ways.
2374 The options are interpreted as follows:
2375 .RS
2376 .TP 7
2377 .NOP \f\*[B-Font]prefer\f[]
2378 Marks the reference clock as preferred.
2379 All other things being
2380 equal, this host will be chosen for synchronization among a set of
2381 correctly operating hosts.
2382 See the
2383 "Mitigation Rules and the prefer Keyword"
2384 page
2385 (available as part of the HTML documentation
2386 provided in
2387 \fI/usr/share/doc/ntp\f[])
2388 for further information.
2389 .TP 7
2390 .NOP \f\*[B-Font]mode\f[] \f\*[I-Font]int\f[]
2391 Specifies a mode number which is interpreted in a
2392 device-specific fashion.
2393 For instance, it selects a dialing
2394 protocol in the ACTS driver and a device subtype in the
2395 parse
2396 drivers.
2397 .TP 7
2398 .NOP \f\*[B-Font]minpoll\f[] \f\*[I-Font]int\f[]
2399 .TP 7
2400 .NOP \f\*[B-Font]maxpoll\f[] \f\*[I-Font]int\f[]
2401 These options specify the minimum and maximum polling interval
2402 for reference clock messages, as a power of 2 in seconds
2403 For
2404 most directly connected reference clocks, both
2405 \f\*[B-Font]minpoll\f[]
2406 and
2407 \f\*[B-Font]maxpoll\f[]
2408 default to 6 (64 s).
2409 For modem reference clocks,
2410 \f\*[B-Font]minpoll\f[]
2411 defaults to 10 (17.1 m) and
2412 \f\*[B-Font]maxpoll\f[]
2413 defaults to 14 (4.5 h).
2414 The allowable range is 4 (16 s) to 17 (36.4 h) inclusive.
2415 .RE
2416 .TP 7
2417 .NOP \f\*[B-Font]fudge\f[] \f[C]127.127.\f[]\f\*[I-Font]t\f[].\f\*[I-Font]u\f[] [\f\*[B-Font]time1\f[] \f\*[I-Font]sec\f[]] [\f\*[B-Font]time2\f[] \f\*[I-Font]sec\f[]] [\f\*[B-Font]stratum\f[] \f\*[I-Font]int\f[]] [\f\*[B-Font]refid\f[] \f\*[I-Font]string\f[]] [\f\*[B-Font]mode\f[] \f\*[I-Font]int\f[]] [\f\*[B-Font]flag1\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]] [\f\*[B-Font]flag2\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]] [\f\*[B-Font]flag3\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]] [\f\*[B-Font]flag4\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]]
2418 This command can be used to configure reference clocks in
2419 special ways.
2420 It must immediately follow the
2421 \f\*[B-Font]server\f[]
2422 command which configures the driver.
2423 Note that the same capability
2424 is possible at run time using the
2425 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
2426 program.
2427 The options are interpreted as
2428 follows:
2429 .RS
2430 .TP 7
2431 .NOP \f\*[B-Font]time1\f[] \f\*[I-Font]sec\f[]
2432 Specifies a constant to be added to the time offset produced by
2433 the driver, a fixed-point decimal number in seconds.
2434 This is used
2435 as a calibration constant to adjust the nominal time offset of a
2436 particular clock to agree with an external standard, such as a
2437 precision PPS signal.
2438 It also provides a way to correct a
2439 systematic error or bias due to serial port or operating system
2440 latencies, different cable lengths or receiver internal delay.
2441 The
2442 specified offset is in addition to the propagation delay provided
2443 by other means, such as internal DIPswitches.
2444 Where a calibration
2445 for an individual system and driver is available, an approximate
2446 correction is noted in the driver documentation pages.
2447 Note: in order to facilitate calibration when more than one
2448 radio clock or PPS signal is supported, a special calibration
2449 feature is available.
2450 It takes the form of an argument to the
2451 \f\*[B-Font]enable\f[]
2452 command described in
2453 \fIMiscellaneous\f[] \fIOptions\f[]
2454 page and operates as described in the
2455 "Reference Clock Drivers"
2456 page
2457 (available as part of the HTML documentation
2458 provided in
2459 \fI/usr/share/doc/ntp\f[]).
2460 .TP 7
2461 .NOP \f\*[B-Font]time2\f[] \f\*[I-Font]secs\f[]
2462 Specifies a fixed-point decimal number in seconds, which is
2463 interpreted in a driver-dependent way.
2464 See the descriptions of
2465 specific drivers in the
2466 "Reference Clock Drivers"
2467 page
2468 (available as part of the HTML documentation
2469 provided in
2470 \fI/usr/share/doc/ntp\f[]).
2471 .TP 7
2472 .NOP \f\*[B-Font]stratum\f[] \f\*[I-Font]int\f[]
2473 Specifies the stratum number assigned to the driver, an integer
2474 between 0 and 15.
2475 This number overrides the default stratum number
2476 ordinarily assigned by the driver itself, usually zero.
2477 .TP 7
2478 .NOP \f\*[B-Font]refid\f[] \f\*[I-Font]string\f[]
2479 Specifies an ASCII string of from one to four characters which
2480 defines the reference identifier used by the driver.
2481 This string
2482 overrides the default identifier ordinarily assigned by the driver
2483 itself.
2484 .TP 7
2485 .NOP \f\*[B-Font]mode\f[] \f\*[I-Font]int\f[]
2486 Specifies a mode number which is interpreted in a
2487 device-specific fashion.
2488 For instance, it selects a dialing
2489 protocol in the ACTS driver and a device subtype in the
2490 parse
2491 drivers.
2492 .TP 7
2493 .NOP \f\*[B-Font]flag1\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]
2494 .TP 7
2495 .NOP \f\*[B-Font]flag2\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]
2496 .TP 7
2497 .NOP \f\*[B-Font]flag3\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]
2498 .TP 7
2499 .NOP \f\*[B-Font]flag4\f[] \f\*[B-Font]0\f[] \f\*[B-Font]\&|\f[] \f\*[B-Font]1\f[]
2500 These four flags are used for customizing the clock driver.
2501 The
2502 interpretation of these values, and whether they are used at all,
2503 is a function of the particular clock driver.
2504 However, by
2505 convention
2506 \f\*[B-Font]flag4\f[]
2507 is used to enable recording monitoring
2508 data to the
2509 \f\*[B-Font]clockstats\f[]
2510 file configured with the
2511 \f\*[B-Font]filegen\f[]
2512 command.
2513 Further information on the
2514 \f\*[B-Font]filegen\f[]
2515 command can be found in
2516 \fIMonitoring\f[] \fIOptions\f[].
2517 .RE
2518 .PP
2519 .SH Miscellaneous Options
2520 .TP 7
2521 .NOP \f\*[B-Font]broadcastdelay\f[] \f\*[I-Font]seconds\f[]
2522 The broadcast and multicast modes require a special calibration
2523 to determine the network delay between the local and remote
2524 servers.
2525 Ordinarily, this is done automatically by the initial
2526 protocol exchanges between the client and server.
2527 In some cases,
2528 the calibration procedure may fail due to network or server access
2529 controls, for example.
2530 This command specifies the default delay to
2531 be used under these circumstances.
2532 Typically (for Ethernet), a
2533 number between 0.003 and 0.007 seconds is appropriate.
2534 The default
2535 when this command is not used is 0.004 seconds.
2536 .TP 7
2537 .NOP \f\*[B-Font]calldelay\f[] \f\*[I-Font]delay\f[]
2538 This option controls the delay in seconds between the first and second
2539 packets sent in burst or iburst mode to allow additional time for a modem
2540 or ISDN call to complete.
2541 .TP 7
2542 .NOP \f\*[B-Font]driftfile\f[] \f\*[I-Font]driftfile\f[]
2543 This command specifies the complete path and name of the file used to
2544 record the frequency of the local clock oscillator.
2545 This is the same
2546 operation as the
2547 \f\*[B-Font]\-f\f[]
2548 command line option.
2549 If the file exists, it is read at
2550 startup in order to set the initial frequency and then updated once per
2551 hour with the current frequency computed by the daemon.
2552 If the file name is
2553 specified, but the file itself does not exist, the starts with an initial
2554 frequency of zero and creates the file when writing it for the first time.
2555 If this command is not given, the daemon will always start with an initial
2556 frequency of zero.
2557 .sp \n(Ppu
2558 .ne 2
2559
2560 The file format consists of a single line containing a single
2561 floating point number, which records the frequency offset measured
2562 in parts-per-million (PPM).
2563 The file is updated by first writing
2564 the current drift value into a temporary file and then renaming
2565 this file to replace the old version.
2566 This implies that
2567 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2568 must have write permission for the directory the
2569 drift file is located in, and that file system links, symbolic or
2570 otherwise, should be avoided.
2571 .TP 7
2572 .NOP \f\*[B-Font]dscp\f[] \f\*[I-Font]value\f[]
2573 This option specifies the Differentiated Services Control Point (DSCP) value,
2574 a 6-bit code.  The default value is 46, signifying Expedited Forwarding.
2575 .TP 7
2576 .NOP \f\*[B-Font]enable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[]]
2577 .TP 7
2578 .NOP \f\*[B-Font]disable\f[] [\f\*[B-Font]auth\f[] | \f\*[B-Font]bclient\f[] | \f\*[B-Font]calibrate\f[] | \f\*[B-Font]kernel\f[] | \f\*[B-Font]mode7\f[] | \f\*[B-Font]monitor\f[] | \f\*[B-Font]ntp\f[] | \f\*[B-Font]stats\f[]]
2579 Provides a way to enable or disable various server options.
2580 Flags not mentioned are unaffected.
2581 Note that all of these flags
2582 can be controlled remotely using the
2583 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
2584 utility program.
2585 .RS
2586 .TP 7
2587 .NOP \f\*[B-Font]auth\f[]
2588 Enables the server to synchronize with unconfigured peers only if the
2589 peer has been correctly authenticated using either public key or
2590 private key cryptography.
2591 The default for this flag is
2592 \f\*[B-Font]enable\f[].
2593 .TP 7
2594 .NOP \f\*[B-Font]bclient\f[]
2595 Enables the server to listen for a message from a broadcast or
2596 multicast server, as in the
2597 \f\*[B-Font]multicastclient\f[]
2598 command with default
2599 address.
2600 The default for this flag is
2601 \f\*[B-Font]disable\f[].
2602 .TP 7
2603 .NOP \f\*[B-Font]calibrate\f[]
2604 Enables the calibrate feature for reference clocks.
2605 The default for
2606 this flag is
2607 \f\*[B-Font]disable\f[].
2608 .TP 7
2609 .NOP \f\*[B-Font]kernel\f[]
2610 Enables the kernel time discipline, if available.
2611 The default for this
2612 flag is
2613 \f\*[B-Font]enable\f[]
2614 if support is available, otherwise
2615 \f\*[B-Font]disable\f[].
2616 .TP 7
2617 .NOP \f\*[B-Font]mode7\f[]
2618 Enables processing of NTP mode 7 implementation-specific requests
2619 which are used by the deprecated
2620 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
2621 program.
2622 The default for this flag is disable.
2623 This flag is excluded from runtime configuration using
2624 \fCntpq\f[]\fR(@NTPQ_MS@)\f[].
2625 The
2626 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
2627 program provides the same capabilities as
2628 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
2629 using standard mode 6 requests.
2630 .TP 7
2631 .NOP \f\*[B-Font]monitor\f[]
2632 Enables the monitoring facility.
2633 See the
2634 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[]
2635 program
2636 and the
2637 \f\*[B-Font]monlist\f[]
2638 command or further information.
2639 The
2640 default for this flag is
2641 \f\*[B-Font]enable\f[].
2642 .TP 7
2643 .NOP \f\*[B-Font]ntp\f[]
2644 Enables time and frequency discipline.
2645 In effect, this switch opens and
2646 closes the feedback loop, which is useful for testing.
2647 The default for
2648 this flag is
2649 \f\*[B-Font]enable\f[].
2650 .TP 7
2651 .NOP \f\*[B-Font]stats\f[]
2652 Enables the statistics facility.
2653 See the
2654 \fIMonitoring\f[] \fIOptions\f[]
2655 section for further information.
2656 The default for this flag is
2657 \f\*[B-Font]disable\f[].
2658 .RE
2659 .TP 7
2660 .NOP \f\*[B-Font]includefile\f[] \f\*[I-Font]includefile\f[]
2661 This command allows additional configuration commands
2662 to be included from a separate file.
2663 Include files may
2664 be nested to a depth of five; upon reaching the end of any
2665 include file, command processing resumes in the previous
2666 configuration file.
2667 This option is useful for sites that run
2668 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2669 on multiple hosts, with (mostly) common options (e.g., a
2670 restriction list).
2671 .TP 7
2672 .NOP \f\*[B-Font]leapsmearinterval\f[] \f\*[I-Font]seconds\f[]
2673 This EXPERIMENTAL option is only available if
2674 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2675 was built with the
2676 \f\*[B-Font]\--enable-leap-smear\f[]
2677 option to the
2678 \f\*[B-Font]configure\f[]
2679 script.
2680 It specifies the interval over which a leap second correction will be applied.
2681 Recommended values for this option are between
2682 7200 (2 hours) and 86400 (24 hours).
2683 .Sy DO NOT USE THIS OPTION ON PUBLIC-ACCESS SERVERS!
2684 See http://bugs.ntp.org/2855 for more information.
2685 .TP 7
2686 .NOP \f\*[B-Font]logconfig\f[] \f\*[I-Font]configkeyword\f[]
2687 This command controls the amount and type of output written to
2688 the system
2689 \fCsyslog\f[]\fR(3)\f[]
2690 facility or the alternate
2691 \f\*[B-Font]logfile\f[]
2692 log file.
2693 By default, all output is turned on.
2694 All
2695 \f\*[I-Font]configkeyword\f[]
2696 keywords can be prefixed with
2697 \[oq]=\[cq],
2698 \[oq]+\[cq]
2699 and
2700 \[oq]\-\[cq],
2701 where
2702 \[oq]=\[cq]
2703 sets the
2704 \fCsyslog\f[]\fR(3)\f[]
2705 priority mask,
2706 \[oq]+\[cq]
2707 adds and
2708 \[oq]\-\[cq]
2709 removes
2710 messages.
2711 \fCsyslog\f[]\fR(3)\f[]
2712 messages can be controlled in four
2713 classes
2714 (\f\*[B-Font]clock\f[], \f\*[B-Font]peer\f[], \f\*[B-Font]sys\f[] and \f\*[B-Font]sync\f[]).
2715 Within these classes four types of messages can be
2716 controlled: informational messages
2717 (\f\*[B-Font]info\f[]),
2718 event messages
2719 (\f\*[B-Font]events\f[]),
2720 statistics messages
2721 (\f\*[B-Font]statistics\f[])
2722 and
2723 status messages
2724 (\f\*[B-Font]status\f[]).
2725 .sp \n(Ppu
2726 .ne 2
2727
2728 Configuration keywords are formed by concatenating the message class with
2729 the event class.
2730 The
2731 \f\*[B-Font]all\f[]
2732 prefix can be used instead of a message class.
2733 A
2734 message class may also be followed by the
2735 \f\*[B-Font]all\f[]
2736 keyword to enable/disable all
2737 messages of the respective message class.Thus, a minimal log configuration
2738 could look like this:
2739 .br
2740 .in +4
2741 .nf
2742 logconfig =syncstatus +sysevents
2743 .in -4
2744 .fi
2745 .sp \n(Ppu
2746 .ne 2
2747
2748 This would just list the synchronizations state of
2749 \fCntpd\f[]\fR(@NTPD_MS@)\f[]
2750 and the major system events.
2751 For a simple reference server, the
2752 following minimum message configuration could be useful:
2753 .br
2754 .in +4
2755 .nf
2756 logconfig =syncall +clockall
2757 .in -4
2758 .fi
2759 .sp \n(Ppu
2760 .ne 2
2761
2762 This configuration will list all clock information and
2763 synchronization information.
2764 All other events and messages about
2765 peers, system events and so on is suppressed.
2766 .TP 7
2767 .NOP \f\*[B-Font]logfile\f[] \f\*[I-Font]logfile\f[]
2768 This command specifies the location of an alternate log file to
2769 be used instead of the default system
2770 \fCsyslog\f[]\fR(3)\f[]
2771 facility.
2772 This is the same operation as the \-l command line option.
2773 .TP 7
2774 .NOP \f\*[B-Font]setvar\f[] \f\*[I-Font]variable\f[] [\f\*[B-Font]default\f[]]
2775 This command adds an additional system variable.
2776 These
2777 variables can be used to distribute additional information such as
2778 the access policy.
2779 If the variable of the form
2780 \fIname\f[]\fI=\f[]\f\*[I-Font]value\f[]
2781 is followed by the
2782 \f\*[B-Font]default\f[]
2783 keyword, the
2784 variable will be listed as part of the default system variables
2785 (\fCntpq\f[]\fR(@NTPQ_MS@)\f[] \f\*[B-Font]rv\f[] command)).
2786 These additional variables serve
2787 informational purposes only.
2788 They are not related to the protocol
2789 other that they can be listed.
2790 The known protocol variables will
2791 always override any variables defined via the
2792 \f\*[B-Font]setvar\f[]
2793 mechanism.
2794 There are three special variables that contain the names
2795 of all variable of the same group.
2796 The
2797 \fIsys_var_list\f[]
2798 holds
2799 the names of all system variables.
2800 The
2801 \fIpeer_var_list\f[]
2802 holds
2803 the names of all peer variables and the
2804 \fIclock_var_list\f[]
2805 holds the names of the reference clock variables.
2806 .TP 7
2807 .NOP \f\*[B-Font]tinker\f[] [\f\*[B-Font]allan\f[] \f\*[I-Font]allan\f[] | \f\*[B-Font]dispersion\f[] \f\*[I-Font]dispersion\f[] | \f\*[B-Font]freq\f[] \f\*[I-Font]freq\f[] | \f\*[B-Font]huffpuff\f[] \f\*[I-Font]huffpuff\f[] | \f\*[B-Font]panic\f[] \f\*[I-Font]panic\f[] | \f\*[B-Font]step\f[] \f\*[I-Font]step\f[] | \f\*[B-Font]stepback\f[] \f\*[I-Font]stepback\f[] | \f\*[B-Font]stepfwd\f[] \f\*[I-Font]stepfwd\f[] | \f\*[B-Font]stepout\f[] \f\*[I-Font]stepout\f[]]
2808 This command can be used to alter several system variables in
2809 very exceptional circumstances.
2810 It should occur in the
2811 configuration file before any other configuration options.
2812 The
2813 default values of these variables have been carefully optimized for
2814 a wide range of network speeds and reliability expectations.
2815 In
2816 general, they interact in intricate ways that are hard to predict
2817 and some combinations can result in some very nasty behavior.
2818 Very
2819 rarely is it necessary to change the default values; but, some
2820 folks cannot resist twisting the knobs anyway and this command is
2821 for them.
2822 Emphasis added: twisters are on their own and can expect
2823 no help from the support group.
2824 .sp \n(Ppu
2825 .ne 2
2826
2827 The variables operate as follows:
2828 .RS
2829 .TP 7
2830 .NOP \f\*[B-Font]allan\f[] \f\*[I-Font]allan\f[]
2831 The argument becomes the new value for the minimum Allan
2832 intercept, which is a parameter of the PLL/FLL clock discipline
2833 algorithm.
2834 The value in log2 seconds defaults to 7 (1024 s), which is also the lower
2835 limit.
2836 .TP 7
2837 .NOP \f\*[B-Font]dispersion\f[] \f\*[I-Font]dispersion\f[]
2838 The argument becomes the new value for the dispersion increase rate,
2839 normally .000015 s/s.
2840 .TP 7
2841 .NOP \f\*[B-Font]freq\f[] \f\*[I-Font]freq\f[]
2842 The argument becomes the initial value of the frequency offset in
2843 parts-per-million.
2844 This overrides the value in the frequency file, if
2845 present, and avoids the initial training state if it is not.
2846 .TP 7
2847 .NOP \f\*[B-Font]huffpuff\f[] \f\*[I-Font]huffpuff\f[]
2848 The argument becomes the new value for the experimental
2849 huff-n'-puff filter span, which determines the most recent interval
2850 the algorithm will search for a minimum delay.
2851 The lower limit is
2852 900 s (15 m), but a more reasonable value is 7200 (2 hours).
2853 There
2854 is no default, since the filter is not enabled unless this command
2855 is given.
2856 .TP 7
2857 .NOP \f\*[B-Font]panic\f[] \f\*[I-Font]panic\f[]
2858 The argument is the panic threshold, normally 1000 s.
2859 If set to zero,
2860 the panic sanity check is disabled and a clock offset of any value will
2861 be accepted.
2862 .TP 7
2863 .NOP \f\*[B-Font]step\f[] \f\*[I-Font]step\f[]
2864 The argument is the step threshold, which by default is 0.128 s.
2865 It can
2866 be set to any positive number in seconds.
2867 If set to zero, step
2868 adjustments will never occur.
2869 Note: The kernel time discipline is
2870 disabled if the step threshold is set to zero or greater than the
2871 default.
2872 .TP 7
2873 .NOP \f\*[B-Font]stepback\f[] \f\*[I-Font]stepback\f[]
2874 The argument is the step threshold for the backward direction,
2875 which by default is 0.128 s.
2876 It can
2877 be set to any positive number in seconds.
2878 If both the forward and backward step thresholds are set to zero, step
2879 adjustments will never occur.
2880 Note: The kernel time discipline is
2881 disabled if
2882 each direction of step threshold are either
2883 set to zero or greater than .5 second.
2884 .TP 7
2885 .NOP \f\*[B-Font]stepfwd\f[] \f\*[I-Font]stepfwd\f[]
2886 As for stepback, but for the forward direction.
2887 .TP 7
2888 .NOP \f\*[B-Font]stepout\f[] \f\*[I-Font]stepout\f[]
2889 The argument is the stepout timeout, which by default is 900 s.
2890 It can
2891 be set to any positive number in seconds.
2892 If set to zero, the stepout
2893 pulses will not be suppressed.
2894 .RE
2895 .TP 7
2896 .NOP \f\*[B-Font]rlimit\f[] [\f\*[B-Font]memlock\f[] \f\*[I-Font]Nmegabytes\f[] | \f\*[B-Font]stacksize\f[] \f\*[I-Font]N4kPages\f[] \f\*[B-Font]filenum\f[] \f\*[I-Font]Nfiledescriptors\f[]]
2897 .RS
2898 .TP 7
2899 .NOP \f\*[B-Font]memlock\f[] \f\*[I-Font]Nmegabytes\f[]
2900 Specify the number of megabytes of memory that should be
2901 allocated and locked.
2902 Probably only available under Linux, this option may be useful
2903 when dropping root (the
2904 \f\*[B-Font]\-i\f[]
2905 option).
2906 The default is 32 megabytes on non-Linux machines, and \-1 under Linux.
2907 -1 means "do not lock the process into memory".
2908 0 means "lock whatever memory the process wants into memory".
2909 .TP 7
2910 .NOP \f\*[B-Font]stacksize\f[] \f\*[I-Font]N4kPages\f[]
2911 Specifies the maximum size of the process stack on systems with the
2912 \fBmlockall\f[]\fR()\f[]
2913 function.
2914 Defaults to 50 4k pages (200 4k pages in OpenBSD).
2915 .TP 7
2916 .NOP \f\*[B-Font]filenum\f[] \f\*[I-Font]Nfiledescriptors\f[]
2917 Specifies the maximum number of file descriptors ntpd may have open at once. Defaults to the system default.
2918 .RE
2919 .TP 7
2920 .NOP \f\*[B-Font]trap\f[] \f\*[I-Font]host_address\f[] [\f\*[B-Font]port\f[] \f\*[I-Font]port_number\f[]] [\f\*[B-Font]interface\f[] \f\*[I-Font]interface_address\f[]]
2921 This command configures a trap receiver at the given host
2922 address and port number for sending messages with the specified
2923 local interface address.
2924 If the port number is unspecified, a value
2925 of 18447 is used.
2926 If the interface address is not specified, the
2927 message is sent with a source address of the local interface the
2928 message is sent through.
2929 Note that on a multihomed host the
2930 interface used may vary from time to time with routing changes.
2931 .sp \n(Ppu
2932 .ne 2
2933
2934 The trap receiver will generally log event messages and other
2935 information from the server in a log file.
2936 While such monitor
2937 programs may also request their own trap dynamically, configuring a
2938 trap receiver will ensure that no messages are lost when the server
2939 is started.
2940 .TP 7
2941 .NOP \f\*[B-Font]hop\f[] \f\*[I-Font]...\f[]
2942 This command specifies a list of TTL values in increasing order, up to 8
2943 values can be specified.
2944 In manycast mode these values are used in turn in
2945 an expanding-ring search.
2946 The default is eight multiples of 32 starting at
2947 31.
2948 .PP
2949 .SH "OPTIONS"
2950 .TP
2951 .NOP \f\*[B-Font]\-\-help\f[]
2952 Display usage information and exit.
2953 .TP
2954 .NOP \f\*[B-Font]\-\-more-help\f[]
2955 Pass the extended usage information through a pager.
2956 .TP
2957 .NOP \f\*[B-Font]\-\-version\f[] [{\f\*[I-Font]v|c|n\f[]}]
2958 Output version of program and exit.  The default mode is `v', a simple
2959 version.  The `c' mode will print copyright information and `n' will
2960 print the full copyright notice.
2961 .PP
2962 .SH "OPTION PRESETS"
2963 Any option that is not marked as \fInot presettable\fP may be preset
2964 by loading values from environment variables named:
2965 .nf
2966   \fBNTP_CONF_<option-name>\fP or \fBNTP_CONF\fP
2967 .fi
2968 .ad
2969 .SH "ENVIRONMENT"
2970 See \fBOPTION PRESETS\fP for configuration environment variables.
2971 .SH FILES
2972 .TP 15
2973 .NOP \fI/etc/ntp.conf\f[]
2974 the default name of the configuration file
2975 .br
2976 .ns
2977 .TP 15
2978 .NOP \fIntp.keys\f[]
2979 private MD5 keys
2980 .br
2981 .ns
2982 .TP 15
2983 .NOP \fIntpkey\f[]
2984 RSA private key
2985 .br
2986 .ns
2987 .TP 15
2988 .NOP \fIntpkey_\f[]\f\*[I-Font]host\f[]
2989 RSA public key
2990 .br
2991 .ns
2992 .TP 15
2993 .NOP \fIntp_dh\f[]
2994 Diffie-Hellman agreement parameters
2995 .PP
2996 .SH "EXIT STATUS"
2997 One of the following exit values will be returned:
2998 .TP
2999 .NOP 0 " (EXIT_SUCCESS)"
3000 Successful program execution.
3001 .TP
3002 .NOP 1 " (EXIT_FAILURE)"
3003 The operation failed or the command syntax was not valid.
3004 .TP
3005 .NOP 70 " (EX_SOFTWARE)"
3006 libopts had an internal operational error.  Please report
3007 it to autogen-users@lists.sourceforge.net.  Thank you.
3008 .PP
3009 .SH "SEE ALSO"
3010 \fCntpd\f[]\fR(@NTPD_MS@)\f[],
3011 \fCntpdc\f[]\fR(@NTPDC_MS@)\f[],
3012 \fCntpq\f[]\fR(@NTPQ_MS@)\f[]
3013 .sp \n(Ppu
3014 .ne 2
3015
3016 In addition to the manual pages provided,
3017 comprehensive documentation is available on the world wide web
3018 at
3019 \f[C]http://www.ntp.org/\f[].
3020 A snapshot of this documentation is available in HTML format in
3021 \fI/usr/share/doc/ntp\f[].
3022 David L. Mills,
3023 \fINetwork Time Protocol (Version 4)\fR,
3024 RFC5905
3025 .PP
3026
3027 .SH "AUTHORS"
3028 The University of Delaware and Network Time Foundation
3029 .SH "COPYRIGHT"
3030 Copyright (C) 1992-2015 The University of Delaware and Network Time Foundation all rights reserved.
3031 This program is released under the terms of the NTP license, <http://ntp.org/license>.
3032 .SH BUGS
3033 The syntax checking is not picky; some combinations of
3034 ridiculous and even hilarious options and modes may not be
3035 detected.
3036 .sp \n(Ppu
3037 .ne 2
3038
3039 The
3040 \fIntpkey_\f[]\f\*[I-Font]host\f[]
3041 files are really digital
3042 certificates.
3043 These should be obtained via secure directory
3044 services when they become universally available.
3045 .sp \n(Ppu
3046 .ne 2
3047
3048 Please send bug reports to: http://bugs.ntp.org, bugs@ntp.org
3049 .SH NOTES
3050 This document was derived from FreeBSD.
3051 .sp \n(Ppu
3052 .ne 2
3053
3054 This manual page was \fIAutoGen\fP-erated from the \fBntp.conf\fP
3055 option definitions.