NTPD(8) FreeBSD System Manager's Manual NTPD(8) 名称 ntpd - Network Time Protocol (NTP) デーモン 書式 ntpd [-aAbdgmx] [-c conffile] [-f driftfile] [-k keyfile] [-l logfile] [-p pidfile] [-r broadcastdelay] [-s statsdir] [-t trustedkey] [-v variable] [-V variable] 解説 ntpd は、インターネットの標準時間サーバと同期をとって、システム時刻 (time-of-day) を設定し維持するオペレーティングシステムデーモンです。 ntpd は、Network Time Protocol (NTP) バージョン 4 の完全な実装となっています が、RFC 1305 で定義されているバージョン 3 に対する互換性も保っています。 加えて、各々 RFC 1059 と RFC 1119 で定義されているバージョン 1 とバージョ ン 2 に対する互換性も保っています。 ntpd は多くの計算を 64-bit 浮動小数点 演算で行ない、約 232 ピコ秒の絶対的な精度を保つ必要があるときだけ、比較的 扱いにくい 64-bit 固定小数点操作を行ないます。現在の普通のワークステー ションやネットワークでは絶対的な精度は達成できませんが、この精度は将来の ナノ秒 CPU クロックやギガビット LAN において必要となるでしょう。 デーモンは対称的アクティブ/パッシブ、クライアント/サーバ、ブロードキャス ト/マルチキャスト、メニーキャストを含むいくつかのモードのうちのいずれかで 働くことができます。ブロードキャスト/マルチキャスト、もしくはメニーキャス トクライアントは、リモートサーバを探し出し、サーバ-クライアント間の伝播遅 延補正因子を計算して、自動的に自身に対する設定を行います。これにより、ロ ーカルな環境に固有の詳細な設定なしに、一群のワークステーションを配置する ことが可能になります。 通常、 ntpd は、起動時に設定ファイル ntp.conf(5) から同期ソースや動作モー ドを決めるために読込みます。また、機能が限定されますが、コマンドラインか ら全ての動作を指定することにより、設定ファイルを使わずに実行することもで きます。これは、ローカルホストが、実行時にブロードキャストを待受ける (listen) ことで決定される全ての通信相手 (peer) に対してブロードキャス ト/マルチキャストクライアントまたはメニーキャストクライアントとして設定さ れる時には、特に適しています。 ntpd は NetInfo サポートが組み込まれていて、デフォルトの設定ファイルが読 み込めず、また -c オプションによるファイルの指定もされていない場合には、 設定を NetInfo より読み込もうとします。 ntpd デーモンの実行中は、 ntpq(8) および ntpdc(8) プログラムを使用するこ とで、デーモンのさまざまな内部変数を表示したり、設定オプションを変更でき ます。 ntpd は起動時に umask(2) の値を調べ、もしそれが 0 ならば、 022 に設定しま す。 以下にあげるコマンドライン引数が使用可能です: -a 認証モードを有効にします (デフォルト)。 -A 認証モード無効にします。 -b NTP のブロードキャストメッセージを使って同期します。 -c conffile 設定ファイルの名前とパスを指定します。 -d デバッグモードを指定します。このフラグは何回指定してもかまいませ んが、回数が多いほど表示がより詳細になります。 -D level デバッグレベルを直接指定します。 -f driftfile ドリフトファイルの名前とパスを指定します。 -g 通常、デーモンはオフセットが 1000 秒の正気限界 (sanity limit) を 越えている場合は終了します。このオプションはこの制限を無視し、ど の時刻にも制限なく設定できるようにします。しかしこれは一度のみ起 り得ます。この後は、制限を超過すると、デーモンは終了します。 -k keyfile NTP の認証鍵を含むファイルの名前とパスを指定します。 -l logfile ログファイルの名前とパスを指定します。デフォルトはシステムログ機 能です。 -m 224.0.1.1 の IP マルチキャストグループアドレス上の NTP マルチキャ ストメッセージを利用して同期します (マルチキャストカーネルが必要 になります)。 -p pidfile デーモンのプロセス ID を記録するためのファイル名とパスを指定しま す。 -P オペレーティングシステムによって設定される優先度制限を無視しま す。意気地なしには推奨されません。 -r broadcastdelay ブロードキャスト/マルチキャストサーバとこのコンピュータ間のデフォ ルト伝播遅延を指定します。このオプションはプロトコルによって自動 的に遅延を計算できない場合にのみ必要となります。 -s statsdir 統計機能によって作成されるファイルのディレクトリパスを指定しま す。 -t key 鍵番号を信頼できる鍵 (trusted key) のリストに付け加えます。 -v variable -V variable デフォルトでリストされるシステム変数を追加します。 -x 通常、時刻を 128 ms よりも多く調節する場合は、徐々に微調整するの ではなく、単に合わせます。このオプションは全ての場合において微調 整するように強制します。注意: 微調整の速度は 0.5 ms/s までに制限 されていますので、1 秒調節するのに 2000 秒の償却期間が必要です。 このため、たくさんの秒数を調節するには、償却に数時間や数日を要す ることもあります。 変数 NTP プロトコルにより用いられるたいていの変数は、 ntpdc(8) (モード 7 メッ セージ) と ntpq(8) (モード 6 メッセージ) で、調べることができます。現在 は、ごくわずかの変数がモード 6 メッセージを通して変更可能です。これらの変 数は、 setvar ディレクティブ ( ntp.conf(5) マニュアルページの "その他のオ プション" 節で記述されています) で作られた変数か、リープ警告 (leap warn- ing) ビットのどちらかです。リープ警告ビットは、 leapwarning 変数で 1 ヶ月 先までセットできます。 leapwarning と leapindication 変数の両方が通常のリ ープビットの解釈と少し違ったエンコーディングになっています: 00 デーモンは同期源のリープビットを渡します (通常モードの動作)。 01 10 うるう秒 (leap second) が付加/削除されます (オペレータによるうる う秒の強制)。 11 同期源からのリープ情報は無視されます (それゆえ LEAP_NOWARNING が 与えられます)。 関連ファイル /etc/ntp.conf デフォルトの設定ファイル名 /etc/ntp.drift デフォルトのドリフトファイル名 /etc/ntp.keys デフォルトの鍵ファイル名 関連項目 ntp.conf(5), ntpdate(8), ntpdc(8), ntpq(8) 提供されているマニュアルページに加えて、包括的なドキュメントが world wide web 上の http://www.ntp.org/ にあります。このドキュメントのスナップショッ トが HTML 形式で /usr/share/doc/ntp にあります。 David L. Mills, Network Time Protocol (Version 1), RFC1059. David L. Mills, Network Time Protocol (Version 2), RFC1119. David L. Mills, Network Time Protocol (Version 3), RFC1305. 歴史 コマンドは Toronto 大学の Dennis Ferguson によって書かれました。本文は Delaware 大学の David Mills により修正されました。 バグ ntpd はかなり大きくなってしまいました。巨大とは言いませんが、ワークステー ションで実行される高優先度のデーモンとして望ましい大きさを超えてしまいま した。特に、高い階層 (stratum) のワークステーションよりは、高負荷のプライ マリサーバにあわせて、かさばる凝った特徴の多くが設計されているからです。 BSD January 10, 2000