aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man8/xntpd.8
blob: b0d4bdd3bba50387cea837bca843acbdc0d4bb9c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
.\"
.\"	%Id: xntpd.8,v 1.5 1998/02/19 08:05:43 charnier Exp %
.\"
.Dd December 21, 1993
.Dt XNTPD 8
.Os
.Sh 名称
.Nm xntpd
.Nd Network Time Protocol デーモン
.Sh 書式
.Nm xntpd
.Op Fl abdm
.Op Fl c Ar conffile
.Op Fl e Ar authdelay
.Op Fl f Ar driftfile
.Op Fl k Ar keyfile
.Op Fl p Ar pidfile
.Op Fl r Ar broadcastdelay
.Op Fl s Ar statsdir
.Op Fl t Ar trustedkey
.Op Fl v Ar variable
.Op Fl V Ar variable
.Sh 解説
.Nm
は、インターネットの標準時間サーバに合わせて、 Unix のシステム時刻 
(time\-of\-day) を設定し維持するデーモンです。
.Nm
は、RFC 1305 で定義されている Network Time Protocol (NTP) バージョン 
3 標準の完全な実装となっていますが、各々 RFC 1059 と RFC 1119 で定義
されているバージョン 1 とバージョン 2 に対する互換性も保っています。
.Nm
は全ての計算を固定小数点演算により行うので、浮動小数点を扱うコードは
必要としません。プロトコルおよび時間調整のコードで行われる計算は、
高精度で実行されます。また、最も正確な外部時計の供給源に対しても同期
できるだけの精度の維持を計るべく、計算に規則だった補正値を導入すると
いったように、細部まで注意が払われています。
.Pp
通常、
.Nm
は、起動時に設定ファイルから設定を読込みます。
デフォルトの設定ファイル名は、
.Pa /etc/ntp.conf
ですが、コマンドラインの指定の方が優先します。また、もっぱらコマンド
ラインだけで、その局面に役立つ
.Nm
の設定を与え、設定ファイルを不要にすることもできます。これは、
.Nm
が、実行時にブロードキャストを待受ける (listen) ことで決定される全て
の通信相手 (peer) に対して、ブロードキャストもしくはマルチキャスト
クライアントとして設定されるべき時には、特に適しています。
.Nm
デーモンの実行中は、
.Xr ntpq 8
および
.Xr xntpdc 8
を使用することで、デーモンのさまざまな内部変数を表示したり
設定オプションを変更できます。
.Pp
デーモンは対称アクティブ/パッシブ、クライアント/サーバ、ブロードキャスト
/マルチキャスト等の対称的なモードを含むいずれかのモードで働くことが
できます。ブロードキャストもしくはマルチキャストクライアントは、
自動的にリモートサーバを探し出し、片道の遅延補正因子を計算して、自動的
に自身に対する設定を行います。これにより、その環境に固有の詳細な設定
や設定ファイルなしに、一群のワークステーションを
配置することが可能になります。
.Pp
以下にあげるコマンドライン引数が 
.Nm
により理解されます。(より完全な機能の説明については、
設定ファイルの説明を参照のこと):
.Bl -tag -width indent
.It Fl a
.Qq 認証 (authenticate)
モードで実行します。
.It Fl b
NTP のブロードキャストを待受けて、可能ならそれに同期します。
.It Fl c
デフォルトの代わりの設定ファイルを指定します。
.It Fl d
デバッグモードを指定します。このフラグは何回指定してもかまいませんが、
回数が多いほど表示がより詳細になります。
.It Fl e
このコンピュータ上で、NTP の暗号化 (encryption) フィールドを計算する
のに必要な時間を (秒で) 指定します。
.It Fl f Ar driftfile
driftfile のある場所を指定します。
.It Fl k
NTP の認証キーを含むファイルのある場所を指定します。
.It Fl m
マルチキャストメッセージを待受けて、可能ならそれらに同期します (
マルチキャストカーネルが必要になります)。
.It Fl p
デーモンのプロセス ID を記録するためのファイル名を指定します。
.It Fl r
通常、デーモンは、ブロードキャストもしくはマルチキャストのサーバと
クライアントとの間のネットワーク遅延を自動的に補正します。
遅延の測定作業が失敗した場合には、ここで指定した (秒の) デフォルトの
遅延を使用するようになります。
.It Fl s
統計ファイルを作成するためのディレクトリを指定します。
.It Fl t Ar trustedkey
キー番号を信頼できるキー (trusted key) のリストに付け加えます。
.It Fl v
システム変数を追加します。
.It Fl V
デフォルトでリストされるシステム変数を追加します。
.El
.Sh "コンフィギュレーションオプション"
.Nm
の設定ファイルのフォーマットは、
他の Unix 設定ファイルのものに似ています。
コメントは文字
.Qq #
で始まり、行末まで続きます。空行は無視されます。
設定コマンドは、行頭のキーワードとそれに続く引数のリストからなります。
引数の内いくつかは、省略可能な場合があります。
また、引数は空白で区切ります。
これらのコマンドは複数行にわたってはなりません。
引数は、ホスト名、ドットで区切られた 4 つ組の数からなる (dotted-quad) 形式の
ホストアドレス、整数、浮動小数点数 (秒で時間を指定する際用います)、
テキスト文字列などです。
以下の説明では、省略可能な引数は、
.Qq []
で囲み、複数択一の引数は、互いに
.Qq |
区切って表します。
.Pp
.Bl -tag -width indent
.It Xo peer
.Ar host_address
.Op key Ar #
.Op version Ar #
.Op prefer
.Xc
.It Xo server
.Ar host_address
.Op key Ar #
.Op version Ar #
.Op prefer
.Xc
.It Xo broadcast
.Ar host_address
.Op key Ar #
.Op version Ar #
.Op ttl Ar #
.Xc
.Pp
これらの 3 つのコマンドは、利用されるべき時間サーバや与えられるべき
時間サービスを指定します。
.Em peer
コマンドは、ローカルサーバが、コマンド中の
.Ar host_address
で示されるリモートサーバに対し、
.Qq 対称的アクティブ (symmetric active)
モードで動作するよう指示します。このモードでは、
ローカルサーバをリモートサーバに同期させるのと同時に、リモートサーバ
をローカルサーバに同期させることができます。これは、サーバの
ネットワークにおいて、さまざまな悪い状況により、
ローカルサーバとリモートサーバのどちらかがより良い時刻供給源と
なり得るような場合に役立ちます。
.Em server
コマンドは、ローカルサーバが、指定したリモートサーバに対して
.Qq クライアント
モードで動作するよう指示します。
このモードでは、ローカルサーバはリモートサーバに同期しますが、
リモートサーバがローカルサーバに同期することは決してありません。
.Em broadcast
コマンドは、ローカルサーバが、
.Qq ブロードキャスト
モードで動作するよう指示します。ローカルサーバは、コマンド中で指定される
ブロードキャスト/マルチキャストアドレスを持つクライアント集団に、
定期的にブロードキャストメッセージを送ります。通常、この指示は、
送信側 (transmitter) として動作しているローカルサーバにのみ適用されます。
ブロードキャストクライアントに対する動作については、以下に説明する
.Em broadcastclient
もしくは
.Em multicastclient
コマンドの項を参照して下さい。このモードでは、
.Ar host_address
は、通常、そのローカルネットワーク (もしくは複数の
ローカルネットワークの内のひとつ)の上でのブロードキャストアドレスであるか、
NTP に割り当てられたマルチキャストアドレスです。NTPには、アドレス 224.0.1.1 が
割り当てられてきました。現在のところは、このアドレスのみを使用すべきです。
マルチキャスト機能はマルチキャストカーネルを必要としますが、これは、
まだ、どのベンダの製品にでも存在するものではないということに注意し
て下さい。
.Pp
.Ar key
オプションが含まれていると、そのアドレスに送られる全てのパケットが、
指定したキー番号 (32 ビット符号無し整数の範囲の数) を用いて暗号化された
認証フィールドを含むようになります。
.Ar version
オプションにより、送出される NTP パケットに使用されるべきバージョン
番号を指定することができます。バージョン 1, 2, 3 のいずれかが選択で
きますが、バージョン 3 がデフォルトになっています。
.Ar prefer
オプションは、そのホストを優先的ホストとします。このホストは、その他
全ての点では同等ですが、正常に動作している一群のホストの中から同期を
取る対象として選ばれます。
.Ar ttl
オプションは、ブロードキャストモードでのみ使用され、マルチキャスト
パケットで用いられる生存時間 (TTL) を指定します。デフォルトは 127 ですが、
適切な値を選択することは、黒魔術の一種であり、ネットワーク管理者
との調整を必要とします。
.It broadcastclient
ローカルサーバに対し、同じサブネット上の他のサーバを見付けるために、
ローカルネットワーク上のブロードキャストメッセージを待受けるよう指示
します。ローカルサーバは、最初のブロードキャストメッセージを受取る際、
リモートサーバとクライアント/サーバ間の短いやりとりを用いて、名目上
の (nominal) ネットワーク遅延を測定してから、後続のブロードキャスト
メッセージを待ち受けて、それに同期する
.Qq ブロードキャストクライアント
モードに入ります。このモードでの偶然もしくは故意の分裂状態
を避けるため、ローカルとリモートのサーバの両方は認証に同一の信頼でき
るキーとキー識別子を使用して動作しなくてはならないことに注意して下さい。
.It multicastclient Op Ar IP address ...
このコマンドは、
.Em broadcastclient
コマンドと同じように用いられますが、IP マルチキャストを使用して動作
します。この機能をサポートするには、マルチキャストカーネルと認証の使用が
必要です。1 つ以上の IP アドレスが与えられると、サーバはそれぞれ
のマルチキャストグループに加わります。1 つも与えられなければ、NTP に
割り当てられている IP アドレス (224.0.1.1) が想定されます。
.It driftfile Ar filename
このコマンドは、ローカルの時計発振子の周波数オフセットを記録するため
のファイル名を指定します。このファイルが存在すると、起動時に初期周波数
オフセットを指定するのに使用され、その後 1 時間に 1 度
その時点での周波数オフセットがデーモンにより計算されて更新されます。
ファイルが存在
しないか、このコマンドが与えられていない場合、初期周波数オフセットは
0 と仮定されます。この場合、周波数が安定し、残った時間誤差が収まる
のに数時間かかります。
ファイルには、
100 万分の 1 (ppm) 単位でのオフセット値を表す浮動小数点数が 1 つ含まれます。
このファイルが、最初にカレント変動値を一時ファイルに書込み、
.Xr rename 3
により古いファイルと置換えることで更新されることに注意して下さい。これは、
.Nm
が、ドリフトファイルのあるディレクトリに対し書き込み権を持っている必要があり、
ファイルは、シンボリックであろうとなかろうと、
ファイルシステムリンクであるべきではないだろうことを意味しています。
.It enable Ar auth|bclient|pll|monitor|stats Op Ar ...
さまざまなサーバオプションを有効にします。指定されていないフラグは
影響を受けません。
.Ar auth
フラグは、その通信相手 (peer) が信頼
できるキーとキー識別子を使用して正しく認証されている場合に限って、サーバが
未設定の相手に同期するようにします。このフラグのデフォルトは
無効 (オフ) です。
.Ar bclient
フラグは、サーバがブロードキャストもしくはマルチキャストサーバからの
メッセージを待ち受けるようにします。これにより、
そのサーバに対する連携 (association) が自動的に成立します。
このフラグのデフォルトは無効 (オフ) です。
.Ar pll
フラグは、サーバのローカル時計を調整するようにします。デフォルトでは
有効 (オン) です。無効にした場合、ローカル時計は固有の時間と周波数オプセットの
まま動きます。このフラグは、ローカル時計が他の何らかのデバイスや
プロトコルにより制御されており、NTPは他のクライアントと同期をとるためだ
けに使用されている場合に、役立ちます。
.Ar monitor
フラグは、モニタファシリティ (facility) を有効にします(下記参照のこと)。
デフォルトでは有効 (オン) です。
.Ar stats
フラグは、統計のファシリティ
の filegen (下記説明を参照のこと) を有効にします。デフォルトでは有効 
(オン) です。
.It disable Ar auth|bclient|pll|monitor|stats Op Ar ...
さまざまなサーバオプションを無効にします。指定されていないフラグは影響を
受けません。現在使用可能なオプションは、enable コマンドの項で説明
しています。
.El
.Sh "認証オプション"
.Bl -tag -width indent
.It keys Ar filename
このコマンドは、認証モードでの操作の際、
.Nm
により使用される暗号化キーとキー識別子を含むファイルの名前を指定します。
このファイルのフォーマットは以降で説明します。
.It trustedkey Ar # Op Ar # ...
このコマンドは、同期するのにふさわしい通信相手を認証する目的において、
信用できる暗号化キー識別子を指定するのに使用されます。
この目的で、ローカルとリモート両方の
サーバが同一のキーとキー識別子を共有することを、認証手続きは求めます。
異なるサーバ間では異なるキーを使用できます。
引数は、32 ビット符合なし整数ですが、 NTP キー 0 は固定されており周知の
ものであることに注意してください。意味のある認証が行われるべきならば、
キー 0 は信用すべきではありません。
.It requestkey Ar #
このコマンドは、
.Nm
の動作に影響を与える問題の診断と修復に役立つ
.Xr xntpdc 8
プログラムにより使用されるキー識別子を指定します。
.Nm xntpdc
プログラムの動作は、
.Nm
のこの固有の実装に特定されており、このバージョン
および以前のバージョンのデーモンとのみ動作すると見込まれます。ローカル
サーバの状態に影響を与えるリモートの
.Nm xntpdc
プログラムからの要求は、
認証されねばなりません。そのためには、リモートプログラムとローカル
サーバが共通のキーとキー識別子を共有することが必要です。このコマンドの引数は、
32 ビット符合なし整数です。設定ファイルに
.Em controlkey
コマンドが含まれていないか、キーがマッチしないと、この要求は無視され
ます。
.It controlkey Ar #
このコマンドは、
.Nm
の動作に影響を与える問題の診断と修復に役立つ
.Xr ntpq 8
プログラムにより使用されるキー識別子を指定します。
.Nm xntpq
プログラムと
.Nm
の動作は RFC 1305 の定義を満たしています。ローカルサーバの状態に影響
を与えるリモートの 
.Nm ntpq
プログラムからの要求は、認証されねばなりません。そのためには、リモート
プログラムとローカルサーバが共通のキーとキー識別子を共有することが
必要です。このコマンドの引数は、32 ビット符合なし整数です。
設定ファイルに
.Em requestkey
コマンドが含まれていないか、キーがマッチしないと、この要求は無視され
ます。
.It authdelay Ar seconds
ローカル計算機上で NTP 認証フィールドを暗号化するのに要する時間の
総計を示します。この値は、送出パケットに認証が用いられる際、送信タイム
スタンプを修正するのに使用されます。通常、この値は 0.0001 秒から 
0.003 秒あたりになりますが、これはまさにホスト計算機の CPU 速度に依存して
います。通常、この値は、ディストリビューションに含まれている
.Em authspeed
プログラムを用いて計算されます。
.El
.Sh "アクセス制御オプション"
.Bl -tag -width indent
.It Xo restrict
.Ar address
.Op mask Ar numeric_mask
.Op Ar flag
.Op Ar ...
.Xc
.Nm
は、汎用のアドレスとマスクに基づく制限リストを実装しています。リスト
はアドレスにより、そしてマスクによりソートされ、その順番でマッチして
いるかどうか調べられます。ここで、最後にマッチしたものが受信パケット
に関する制限フラグを定義します。受信パケットのソースアドレスは、制限
リストエントリのマスクでアンドをとられた 32 ビットアドレスと
マッチするか調べられ、それからエントリアドレス (これもまたマスクと
アンドをとられます) と比較され、マッチするものを探します。引数 
.Em mask
のデフォルトは 255.255.255.255 で、
.Em address
が個別のホストのアドレスとして扱われることを意味します。デフォルト
エントリ (address 0.0.0.0, mask 0.0.0.0) は常にリストに含まれ、既定の
ソートアルゴリズムでは、リストの先頭のエントリとなります。 
.Em address
は、通常ドット付き 4 つ組形式で与えられますが、mask
オプションを伴わないテキスト文字列
.Em default
は、デフォルトエントリを示すために使用できることに、注意して下さい。
.Pp
現在の実装では、フラグは常にアクセスを制限します。すなわち、フラグを
持たないエントリは、サーバへの自由なアクセスが与えられることを示す
ことになります。フラグは直交的ではなく、より制限の強いフラグは、より
制限の弱いフラグを冗長にします。フラグは、一般に 2 つのカテゴリに分類
されます。時間サービスを制限するものと、情報問い合わせやサーバの
実行時再設定の試みを制限するものです。次のフラグの内、1 つ以上を指定する
ことができます:
.Bl -tag -width indent
.It ignore
このエントリにマッチするホストからのすべてのパケットを無視します。
このフラグが指定されると、問い合わせも時間サーバへのポーリングも応答さ
れなくなります。
.It noquery
NTP の モード 6 と 7 のすべてのパケット (つまり情報問い合わせと設定要求)
を無視します。時間サービスは影響を受けません。
.It nomodify
サーバの状態を変えようとするモード 6 と 7 のすべてのパケット (つまり
実行時再設定) を無視します。情報を返す問い合わせは許されます。
.It notrap
マッチしたホストにモード 6 の制御メッセージのトラップサービスを提供
することを拒否します。トラップサービスは、モード 6 の制御メッセージ
プロトコルのサブシステムで、リモートのイベントロギングプログラムによ
る使用が意図されています。
.It lowpriotrap
マッチしたホストによるトラップセットを低い優先度として宣言します。1 
つのサーバが保持し得るトラップの数は制限されています(現在の制限値は 
3 です)。トラップは通常、先入れ先処理ベースで割当てられ、後から来た
トラップ要求はサービスを拒否されます。
このフラグは割り当てアルゴリズムを変更し、
後から到着する要求のための通常優先度のトラップを
低い優先度のトラップより優先させます。
.It noserve
モード 6 と 7 以外のすべての NTP パケットを無視します。基本的には、
時間サービスは拒否されますが、それでも問い合わせは許されています。
.It nopeer
ポーリングしているホストに、状態を持たない (stateless) 時間サービス
を与えますが、そうしなければ将来的に同期の相手として有用であるかもし
れない場合にさえ、それらに更新相手 (peer) 用のメモリ資源を割当てません。
.It notrust
これらのホストは同期源としては決して使用されませんが、その他の点では
普通に扱われます。
.It limited
これらのホストは、同一のネットからのクライアント数の制限の対象となり
ます。ここで言うネットとは、 (class A, class B, class C 等の) ネット
の IP 表記のことです。 サーバに見えるホストで、過去 
.Qq client_limit_period
秒の間アクティブであった、最初の
.Qq client_limit
個のホストのみが、受け付けられます。同一の
ネットの他のクライアントからの要求は拒否されます。時間要求パケットのみが、
考慮されます。
.Qq プライベート
、
.Qq 制御
、
.Qq ブロードキャスト
等のパケットは、クライアント制限の対象にはならず、
クライアントの数の内には入れられません。クライアントの履歴は、
.Nm
のモニタリング機能を使用して維持されます。それゆえ、モニタリングは、 
.Qq limited
フラグに制限エントリがある限り、アクティブです。
.Qq client_limit
のデフォルト値は 3 です。
.Qq client_limit_period
のデフォルト値は 3600 秒です。
.It ntpport
実質的には、制限フラグと言うより、マッチのアルゴリズムを変更するもの
です。このフラグが存在すると、パケットのソースポートが標準の NTP の 
UDP ポート (123) である場合にのみ、制限エントリにマッチします。 
.Qq ntpport
と
.Pf non\- Qq ntpport
の両方が指定できます。
.Qq ntpport
はより限定的であると考えられ、リストの後方にソートされます。
.El
.Pp
デフォルトの制限リストエントリは、フラグ
.Qq ignore ,
.Qq ntpport
を持ち、ローカルホストのインタフェースアドレスの各々に対し
スタートアップ時にテーブルに挿入され、サーバがそれ自身の時間に同期しようと
しないようにします。また、デフォルトエントリは常に存在しますが、他で
は設定されない場合は、どのフラグもデフォルトエントリに関連づけられま
せん (すなわち、あなた自身の NTP サーバ以外のすべてが無制限になります) 。
.Pp
制限機能は、NSFnet の幹線上で動いている時間サーバの現在のアクセスポリシが、
.Nm
と同様に実装され得るように、付け加えられたものです。
望まないまたは故障したリモート時間サーバからのあなたのサーバへの影響を
避けるために、この機能がことのほか有用である一方、これが 標準の NTP 認証
機能の代わりになると考えるべきではありません。ソースアドレスに
基づく制限は、確信犯的クラッカーにたやすく裏をかかれます。
.It clientlimit Ar limit
.Qq client_limit
を
.Ar limit
にセットし、クライアント制限ポリシの設定を可能にします。
この変数は、そのサーバの使用を許される
同一ネットワークからのクライアント数を定義します。
.It clientperiod Ar period
.Qq client_limit_period
をセットし、クライアント制限ポリシの設定を可能にします。
この変数は、その時間後にクライアントがインアクティブであるとみなし、
従って制限されるクライアント数にもはや数えられなくなるような秒数を指定します。
.El
.Sh "モニタリングオプション"
.Bl -tag -width indent 
.It statsdir Ar /directory path/
統計ファイルが作られるべきディレクトリのフルパスを指定します(下記参照)。
このキーワードにより (そうでなければ定数である) filegen ファイル名の
プレフィックスを統計ログ処理に対して用いられるファイル生成セットに対して
修正することが可能となります (下記
.Em filegen
文を参照)。
.It statistics Ar name Ns ...
統計レコードの書込みを有効にします。現在のところ、3 種類の統計がサポート
されています。
.Bl -tag -width indent
.It loopstats
ループフィルタの統計情報の記録を有効にします。ローカル時計の更新を行う度に、
.Qq loopstats
と名付けられたファイル生成セットに次の形式の行を出力します:
.Dl 48773 10847.650 0.0001307 17.3478 2
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
午前 0 時からの秒数)です。次の 3 つのフィールドは、時計の更新時の、
秒での時間オフセット, 100 万分の 1 単位の周波数オフセット,
clock-discipline アルゴリズムの時定数です。
.It peerstats
通信相手に関する統計情報の記録を有効にします。これには、存在し設定済みの
NTP サーバと 1-pps シグナルのすべての通信相手に関する統計レコードが
含まれます。有効な更新が行われる度に、
.Qq peerstats
と名付けられたファイル生成セットの現在の要素に次の形式の行を出力します:
.Dl 48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
午前 0 時からの秒数)です。次の 2 つのフィールドは、それぞれ 
ドット付き 4 つ組記法で表された通信相手のアドレスとステータスです。
ステータスフィールドは、 NTP の仕様である RFC 1305 の Appendix A で記述さ
れたフォーマットに従い 16 進数にエンコードされています。最後の 3 つ
のフィールドは、オフセット, 遅延, ばらつきで、すべて秒単位です。
.It clockstats
時計ドライバの統計情報の記録を有効にします。時計ドライバからの更新を
受ける度に、
.Qq clockstats
と名付けられたファイル生成セット次の形式の行を出力します:
.Dl 49213 525.624 127.127.4.1 93 226 00:08:29.606 D
最初の 2 つのフィールドは、日付 (ユリウス歴に修正済) と時刻 (UTC
午前 0 時からの秒数)です。次のフィールドは、ドット付き 4 つ組記法で表された
時計のアドレスです。最後のフィールドは、時計から受け取った最後のタイム
コードで、ここでは意味のある
.Tn ASCII
形式にデコードされています。いくつかの
時計ドライバでは、たくさんの付加的情報が集められ、同様に表示されます。
より詳しくは、それぞれの時計の仕様情報を参照してください。
.El
.Pp
統計ファイルは、ファイル生成セット(下記
.Em filegen
を参照)を用いて管理されます。統計を記録することで得られる情報は、
.Nm
サーバの一時的なプロパティ (properties) の解析を可能にします。通常は 
主要な (primary) サーバで役立つだけですが、あるいはキャンパスのメイン
サーバでも役立つかもしれません。
.It Xo filegen
.Ar name
.Op file Ar filename
.Op type Ar typename
.Op flag Ar flagval
.Op link | nolink
.Op enable | disable
.Xc
ファイル生成セット (file generation set) 
.Ar name 
の設定を行います。ファイル生成セットは、サーバの活動期間を通じて
継続的に大きくなっていくファイルを扱う手段を提供します。サーバ統計は
このようなファイルの典型例です。ファイル生成セットにより、現状のデータ
を格納するのに用いられるファイル集合にアクセスできます。任意の時点で、
集合の高々 1 つの要素への書き込みが行われます。
.Em type
は、その集合の新たな要素に、データが、いつ、どのように出力されるのか
の仕様を与えます。この方法で、
.Nm
の動作を妨げる危険なしに、管理的な操作 (administrational operations) 
から、現在使用されていないファイル集合の要素に格納されている情報が、
利用できるようになります。(最重要: それらは、新たな出力データのため
空きを作るのに削除される可能性があります。)要素のファイル名は 3 つの
部分から作られます。
.Bl -tag -width indent
.It prefix
不変なファイル名のパスです。
.Em filegen
文による修正の対象にはなりません。サーバによって定義され、通常コンパイル時の
定数として指定されます。しかし、他のコマンドにより、個別のファイル生成
セットに対して設定は可能です。たとえば、
.Qq loopstats
と 
.Qq peerstats
という filegen で用いられるプレフィックスは、すでに説明した
.Em statsdir
文を使用して設定できます。
.It filename
この文字列は、上で述べた
.Em prefix
に、(
.Sq /
(スラッシュ) を入れずに ) 直接連結されます。
.Em filegen
文の
.Ar file
引数を使って修正できます。 
.Em prefix
により示されるファイル名が、ファイルシステム階層の
外側を参照しないように、この部分は
.Qq ..
を含んではいけないようになっています。
.It suffix
この部分はファイル集合の各要素を反映します。後述のように、ファイル集合の
.Em type
に従って生成されます。
.El
.Pp
ファイル生成セットは、その型 (type) により特徴づけられます。次の型が
サポートされています:
.Bl -tag -width indent
.It none
ファイル集合は実際には、単一のプレーンファイルです。
.It pid
.Nm
サーバの起動ごとに、ファイル集合の 1 つの要素が使われます。この型は、
実行中にファイル集合の要素への変更を一切行いませんが、異なる 
.Nm
サーバの起動ごとに別々のファイルをつくる簡単な方法になります。要素の
ファイル名は、
.Em prefix
と
.Em filename
をドット 
.Pf ( Sq \&. Ns )
でつなげた上、
.Nm
サーバプロセスのプロセス ID の10進表現をつなげて作られます。
.It day
1 日に 1 つのファイル生成セットの要素が作成されます。ここで、
.Em 日
という用語は、
.IR UTC 
に基づきます。1 日は、 UTC の 00:00 と 24:00 の間の期間として定義されます。
要素のサフィックスは、ドット
.Pf ( Qq \&. Ns )
と
.Aq < YYYYMMDD >
の形式の日付指定からなります。
.Em YYYY
は 4 桁の西暦年 (たとえば 1992)で、
.Em MM
は、2 桁の月です。
.Em DD
は、2 桁の日となります。したがって、1992 年 12 月 10 日に情報はすべて、
.Qq <prefix><filename>.19921210
という名前のファイルに書かれます。
.It week
どの要素も 1 年の内のある週に関連するデータを含みます。ここで、
.Em 週 
という用語は、
.Qq 年の始まりからの日数
の 7 の商により定義されます。この
ようなファイル生成セットの要素は、ファイル集合のファイル名のベースに
次のようなサフィックスをつけることで区別されます。サフィックスは、
ドット、4 桁の西暦年、文字
.Qq W
、2 桁の週番号です。例えば、1992 年 1 月 10 日からの情報は、サフィックス
.Qq .1992W1
を持つファイルに出力されます。
.It month
1 月に 1 つのファイル生成セットの要素が作成されます。ファイル名の
サフィックスは、ドット、4 桁の西暦年、2 桁の月からなります。
.It year
1 年に 1 つのファイル生成セットの要素が作成されます。ファイル名の
サフィックスは、ドットと 4 桁の西暦年からなります。
.It age
この型のファイル生成セットは、サーバが 24 時間活動するごとに新たな要素に
変わります。ファイル名のサフィックスは、ドット、文字 
.Qq a
、8 桁の数からなります。この数は、対応する 24 時間の始め
からサーバが実行されている秒数であるようになります。
.El
.Pp
情報は、ファイル生成セットが
.Qq enabled
のときのみ、そのセットに書込まれます。出力は
.Qq disabled
を指定することで抑止されます。
.Pp
ファイル生成セットの
.Em 現在の
要素に決まった名前でアクセスできると便利です。この機能は、 
.Qq link
を指定することで有効になり、
.Qq nolink
を使って無効になります。
.Qq link
が指定されると、 現在の要素から
サフィックスを持たないファイルへのハードリンクが作成されます。その名前
を持つファイルが既に存在し、そのファイルのリンク数が 1 の場合、その
ファイル名に、ドット、文字
.Qq C
、
.Nm
サーバプロセスの pid をつなげて、名前変更を行います。リンク数が 1 
以上の場合、ファイルはアンリンクされます。これにより現在のファイルを
定数名でアクセスすることができます。
.El
.Sh "その他のオプション"
.Bl -tag -width indent
.It precision Ar #
このコマンドは、ローカル時計の名目上の (nominal) 精度を指定します。
この値は、秒単位のローカルの時間管理精度の底を 2 とする対数に近似的
に等しい整数です。通常、デーモンは起動時に自動的に精度を決定するの
で、このコマンドは、精度を自動的に決定できない特殊な場合にのみ必要に
なります。
.It broadcastdelay Ar seconds
ブロードキャストおよびマルチキャストモードは、ローカルとリモートサーバ間の
ネットワーク遅延を決定するため、特別の修正を必要とします。通常、
この修正は、ローカルとリモートサーバ間の最初のプロトコル交換により、
自動的に行われます。修正手続きは、例えば、ネットワークもしくはサーバ
のアクセス制御のために失敗する可能性があります。このコマンドは、これ
らの状況下で使用されるデフォルトの遅延を指定します。(イーサネットに
対する)典型としては、0.003 から 0.007 秒が適切です。このコマンドが使
用されない場合のデフォルトは、0.004 秒です。
.It Xo trap
.Ar host_address
.Op port Ar port_number
.Op interface Ar interface_addess
.Xc
このコマンドは、指定されたローカルインタフェースに送られる
メッセージに対する、所与のホストアドレスとポート番号でのトラップレシーバを
設定します。ポート番号が指定されない場合、 18447 が使用されます。
インタフェースアドレスが指定されない場合、メッセージが送信時に通過する
ローカルインタフェースのアドレスをソースアドレスとしてメッセージが
送られます。マルチホームのホストでは、使用されるインタフェースが、
ルーティングの変更にともない変化し得ることに注意してください。
.Pp
トラップレシーバは、一般には、イベントメッセージやサーバからのその他
の情報をログファイル中に記録するものです。このようなモニタプログラム
はまた、それら自身のトラップをダイナミックに要求するかもしれませんが、
トラップレシーバの設定は、サーバのスタート時にメッセージが失われない
ことを保証することになっています。
.It Xo setvar
.Ar variable
.Op Ar default
.Xc
このコマンドは、付加的なシステム変数を追加します。これらの変数は、
アクセスポリシなどの付加的な情報を配布するために使用できます。 
<name>=<value> の形式の変数に、キーワード
.Em default
が続いた場合、変数はデフォルトのシステム変数の一部としてリストされる
ようになります (
.Pf ( Nm ntpq
コマンド) 。これら付加的な変数は、情報を与える目的だけを果たします。
リストされ得ると言うこと以外に、プロトコルに関係しません。
既知のプロトコル変数は常に、
.Em setvar
の機構により定義されたいかなる変数よりも優先されます。
.Pp
同一グループのすべての変数の名前を含む 3 つの特別な変数があります。
.Em sys_var_list
は、すべてのシステム変数の名前を保持しています。
.Em peer_var_list
は、すべての更新相手 (peer) 変数の名前を保持しています。
.Em clock_var_list
は、参照時計変数の名前を保持しています。
.It monitor Ar yes|no
.It authenticate Ar yes|no
これらのコマンドは、
.Em enable
と
.Em disable
コマンドに置き換えられました。ここにあげたのは歴史を述べるためです。
.El
.Sh "認証キーファイルのフォーマット"
.Tn NTP
標準は、受信した NTP パケットの認証の確認を可能とし、送信パケット内の
認証の指示を与えるための拡張を定めています。これは、
.Nm
においては、デジタル署名, あるいは message-digest を計算するため、 
DES もしくは MD5 アルゴリズムを使用して実装されています。この仕様は、 
32 ビットのキー識別子により、約 40 億個のうちの 1 つが、連携 (association) 
の認証に使用できるようにしています。連携に含まれるサーバは、各々独立
にキーとキー識別子を学習せねばならないにも関わらず、データを認証する
のに使用されるキーとキー識別子に合意せねばなりません。 DES の場合、
キーは 56 ビット長で、型によっては各バイトにパリティがつきます。MD5
の場合、キーは 64 ビット (8 バイト) です。
.Nm
は、
コマンドラインオプション
.Fl k
もしくは設定ファイル中の
.Em keys
文を使用して指定されるファイルからキーを読み込みます。キー番号 0 は、
.Tn NTP
標準によって (56 ビットの 0 として) 決定されており、変更できませんが、
一方、1 から 15 のキー番号の内の 1 つ以上がキーファイル中で任意に
セットできます。
.Pp
キーファイルは、設定ファイルと同様のコメント記述法
を使用しています。キーエントリはの形式の固定されたフォーマットを
使用します:
.Pp
.Dl keyno type key
.Pp
の形式の固定されたフォーマットを使用します。ここで、
.Em keyno
は正の数、
.Em type
はキーが与えられる形式を定義する単一文字、 
.Em key
はキーそれ自身です。
.Pp
キーは、
.Em type
文字による制御で、3 つの異なるフォーマットの
内の 1つで与えられます。3 つのキーの型とそれに対応するフォーマットは、
次にあげるとおりです:
.Bl -tag -width indent
.It S
.Em key
は、 DES のドキュメントに定められたフォーマットの 64 
ビットの 16進数で、各オクテットの上位 7 ビットが使用された 56 ビット
キーです。各オクテットの下位 1 ビットは、オクテットを奇数パリティに
保つように与えられます。先頭の 0 は省略できません (すなわち、キーは
正確に 16 桁の 16 進数である必要があります) 。また、奇数パリティが保
たれねばなりません。それゆえ、ゼロキーは、標準フォーマットで、
.Em 0101010101010101 
として与えられます。
.It N
.Em key
は、
.Tn NTP
標準で定められたフォーマットの 64 ビットの 16
進数です。これは、各オクテットを 1 ビット右 rotate して、パリティビットが
オクテットの上位ビットになったことを除いては、DES フォーマット
と同じです。先頭の 0 は省略できず、奇数パリティが保たれねばなりません。
0 キーは、 NTP フォーマットで、
.Em 8080808080808080 
のように指定されます。
.It A
.Em key
は 1 文字から 8 文字の ASCII 文字列です。キーは、文字列中の各文字の
.Tn ASCII
表現の下位 7 ビットを使用して構成されます。56 
ビット幅のキーを作るために、 Unix パスワードから暗号化キーを作るのと
同じ方法で、必要なら 0 が右端に付加されます。
.It M
.Em key
は 1 文字から 8 文字の
.Tn ASCII
文字列で、 MD5 の認証方式
を使用しています。キーと認証方式 (DES または MD5) の両方が、同じキー
番号を共有する一組の交信相手の間で一意であることが、必要であることに
注意してください。
.El
.Pp
設定ファイルの
.Em requestkey
文の方法で、
.Xr xntpdc 8
プログラムを用いてなされる実行時の設定要求を認証するために、キーの内 
1 つが選択できます。後者のプログラムは、パスワードとして端末からキー
を得ます。ですから、一般に、この目的のために使用されるキーを
.Tn ASCII 
表現で指定するのは、適切なことです。
.Sh 主要な時計サポート (PRIMARY CLOCK SUPPORT)
.Nm
は、オプションで、いくつかの型の参照時計に対するサポートを含むように
コンパイルできます。参照時計は、一般に (常にではなく)、カナダの NRC 
やアメリカの NIST により提供されるサービスと同様の標準時刻の供給源に
同期している無線時刻コード受信機です。コンピュータと時刻コード受信機
の間のインタフェースはデバイス依存で多種にわたりますが、多くは
シリアルポートです。
.Pp
多種類の参照時計ドライバに対するサポートは、他の場所で記述された
コンパイラ定義のコードを使用して、条件コンパイルされます。参照時計を設定
しようとする試みは、特定のサポートが得られないか、ハードウェアポート
が適切に設定されていないとき、システムログファイルに警告を残しますが、
そのほかでは障害となりません。
.Pp
設定のために、
.Nm
は、参照時計を、できるかぎり普通の
.Tn NTP
の交信相手にするのと同じよう
な方法で扱います。参照時計は、普通の交信相手と同様にアドレスで参照さ
れますが、普通の交信相手と区別するため、無効なアドレスが使用されます。
参照時計のアドレスは、
.Em 127.127.t.u
の形式となります。ここで、
.Em t
は、時計の型を示す整数で、
.Em u
は、型で特定されるユニット番号を示します。参照時計は、設定ファイル中の
.Em server
文を使用して設定されます。このときの
.Em host_address
は、時計のアドレスです。
.Em key ,
.Em version ,
.Em ttl
オプションは、参照時計サポートのためには使用されませんが、
.Em prefer
オプションは、ある参照時計を、それが望ましい場合には、他の参照時計や
交信相手より少し熱心に大事に扱わせるよう、サーバに促すのにうまく使え
ます。時計のアドレスは、一般に設定ファイル中で普通
の IP アドレスが使用できるところならどこでも使用できます。例えば、
.Em restrict
文中などですが、このような使用法は普通は奇妙に思えるでしょう。
.Pp
参照時計サポートは、特別の方法で参照時計を設定するのに使用できる
.Em fudge
コマンドを与えます。
以下は、このコマンドに適用される一般的なフォーマットです。
.Pp
fudge
.Ar 127.127.t.u
.Op time1 Ar secs
.Op time2 Ar secs
.Op stratum Ar int
.Op refid Ar int
.Op flag1 Ar 0|1
.Op flag2 Ar 0|1
.Op flag3 Ar 0|1
.Op flag4 Ar 0|1
.Pp
.Em time1
と
.Em time2
オプションは、秒単位の固定小数点で指定され、いくつかの時計ドライバで
は、補正定数として使用されます。慣習により、別のやり方で示されない限り、
.Em time1
は、特定の時計の名目上の時間オフセットを、高精度の PPS 信号のような、
外部の標準に一致させるように調整するための補正定数として使用されます。
指定されたオフセットは、内部の DIP スイッチのような他の手段により与えられた
伝搬遅延に付加されます。
.Em stratum
オプションは 0 から 15 までの数で、時計に対し非標準の operating
stratum を割当てるのに使用します。
.Em refid
オプションは、 1 から 4 文字までの
.Tn ASCII
文字列で、時計に対し非標準
の参照識別子を割当てるのに使用します。最後に、4つの 2 値フラグ
.Em flag1 ,
.Em flag2 ,
.Em flag3 ,
.Em flag4
は、時計ドライバをカスタマイズするのに使用されます。これらの値の解釈
や、ともかくそれらが用いられるのかどうかは、特定の時計ドライバが必要
とするかに関わっています。しかし、慣習により、別のやり方で示されない
限り、
.Em flag3
は、 ppsclock ストリームモジュールを設定されるドライバにアタッチする
のに使用され、一方、
.Em flag4
は、
.Em filegen
コマンドで設定される時計統計 (clockstats) ファイルへの詳細なモニタリング
データの記録を有効にするために使用されます。 ppsclock ストリーム
モジュールについてのさらなる情報は、現在の xntp3 プログラムの
ディストリビューション中の
.Pa ./kernel
ディレクトリの
.Pa README
ファイル内にあります。この機能についてのさらなる情報は、
同じディストリビューション中の
.Pa ./scripts/stats
ディレクトリにあります。
.Pp
通常、参照時計の stratum は、デフォルトで 0 です。
.Nm
デーモンは、各交信相手の stratum に 1 を加算するので、主要 (primary) 
サーバは、通常 stratum 1 を示します。巧みに運用されたバックアップを
与えるために、参照時計の stratum を 0 以上に指定することは、役に立つ
ことが多いです。
.Em stratum
オプションは、この目的のために使用されます。また、参照時計と 1-pps 
discipline 信号の両方を含む場合、ドライバによっては、参照時計識別子
をデフォルト以外に指定することは有用です。
.Em refid
オプションは、この目的のために使用されます。そう記されていない限り、
これらのオプションは、すべての時計ドライバに適用されます。
.Pp
現在、Unix マシン上の
.Nm
は、バックアップとして用いられる、あるいは他の時計供給源が与えられな
いとき使用される特殊な仮想時計に加えて、いくつかの異なる型の時計
ハードウェアをサポートしています。たいていの時計ドライバの場合、xntp3
プログラムのディストリビューション中の
.Pa ./doc
ディレクトリの
.Pa README
ファイル内で述べられているように 1-pps 精度のタイミング信号に対する
サポートが利用可能です。時計ドライバ、およびそれらを設定するのに使用される
アドレスは、現在の xntp3 プログラムのディストリビューション中の
.Pa doc 
ディレクトリの
.Pa README.refclocks
で記述されています。
.Sh 変数
.Tn NTP
プロトコルにより用いられるたいていの変数は、
.Nm xntpdc
(モード 7 メッセージ) と
.Nm ntpq
(モード 6 メッセージ) で、調べることができます。
現在は、ごくわずかの変数が、モード 6 メッセージを通して変更可能です。
これらの変数は、
.Em setvar
の指示で作られたか、リープ警告 (leap warning) 変数かのどちらかです。
リープ警告ビットは、
.Em leapwarning
変数で (1 ヶ月前までに) セットされます。
.Em leapwarning
と
.Em leapindication
変数内の両方が通常の
.Em leap
ビット解釈と少し違ったエンコーディングを持っています:
.Bl -tag -width indent
.It 00
デーモンは、同期源のリープビットを渡します (通常モードの動作) 。
.It 01/10
うるう秒 (leap second) が、付加/削除されます (オペレータによるうるう秒の強制)。
.It 11
同期源からのリープ情報は、無視されます (それゆえ LEAP_NOWARNING が
与えられます) 。
.El
.Sh 関連ファイル
.Bl -tag -width /etc/ntp.drift -compact
.It /etc/ntp.conf
デフォルトの設定ファイル名
.It /etc/ntp.drift
ドリフトファイルの慣習上の名前
.It /etc/ntp.keys
キーファイルの慣習上の名前
.El
.Sh 関連項目
.Xr ntpdate 8 ,
.Xr ntpq 8 ,
.Xr xntpdc 8
.Sh 歴史
コマンドは
University of Toronto の
.An Dennis Ferguson
によって書かれました。
テキストは University of Delaware の
.An David Mills
により修正されました。
.Sh バグ
.Nm
はかなり大きくなってしまいました。巨大とは言いませんが、ワークステーションで
実行される可変プライオリティのデーモンとして望ましい大きさを
超えてしまいました。それは特に、かさばる凝った特徴の多くが、高い 
stratum のワークステーションよりは、高負荷の主要 (primary) サーバに
あわせて設計されているからです。