こんばんは!WindowsサーバーをNTPサーバーとして動作させるための備忘録です。実際にNTPサーバーを設定するときの手順をまとめました。
あるサーバーをNTPサーバーにする時は参照先はどうするか?
クライアントは公開NTPサーバーを参照すればよいか?そんな時にまとめた備忘録です。
Windows NTPサーバーとは
NTPサーバーは、インターネットなどのTCP/IPネットワーク上で現在時刻の情報を配信するサーバです。正式名はNTP(Network Time Protocol)となります。
コンピューターの時刻を正確に同期する為に建てられます。時刻がずれていたりすると、メールが遅れて届いたり、ログを見たときに時間がズレて解らなくなってしまいます。
時刻はNTPサーバ間で時刻を同期したり、クライアントやネットワーク機器などに正確な現在時刻を知らせたりする為の役割を持ちます。 日本の標準時刻はNICT(情報通信研究機構)によって定められています。
NICT公開NTPサービスではインターネットを利用して、日本標準時を時刻配信しています。
引用元: http://jjy.nict.go.jp/tsp/PubNtp/index.html
■NTPサーバ名 : ntp.nict.jp
Windows NTPサーバー設定手順
サーバー NTP設定手順
まずは、NTPサーバー(参照される側)にするサーバーの設定を見ていきます。
サーバー側の必要なレジストリ設定2箇所です。
(1)権限のあるNTPサーバとして公開する
サブキー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config
値名: AnnounceFlags
型: REG_DWORD
値: 5
値のデータ1は、NTPサーバとして公開する設定
値のデータ4は、権限がある設定
1と4の足し算で、5になることで、権限があるNTPサーバとして公開する設定。
権限がないと、他のサーバの状況次第でNTPサーバになったりならなかったりするので、5にしておくと確実。
(2)NTPサーバの有効設定
サブキー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer
値名: Enabled
型: REG_DWORD
値: 1
これを1にしないと、NTPサーバとして動作しないので、必ず1にすること。
クライアント端末 NTP設定手順
続いてクライアント端末(参照する側)の設定手順です。
必要な設定は
①GUI設定
Windows日付と時刻の設定の変更 → ファイル名を指定して実行で timedate.cpl と打つ
timedate.cpl
「日付と時刻」画面が表示されるので 「インターネット時刻」タブをクリック > 「設定の変更」をクリック > サーバー名に参照先のサーバー名を入力 > 「OK」を押して閉じる
※「日付と時刻の変更」でレジストリNtpServerのキーに反映される。
②レジストリ設定1
■時刻サーバとしてアドバタイズ(管理情報を伝達)するかどうかを設定するレジストリキー
・時刻サーバとしてアドバタイズ(管理情報を伝達)するかどうかなどを設定するレジストリキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config
値名: AnnounceFlags
型: REG_DWORD
値: 0x5
全bitが0 (0) 時刻サーバとして公開しない
1bit目が1(1) 時刻サーバとして公開する
2bit目が1(2) 他のマシンとの兼ね合いで、時刻サーバとなるか決定される
3bit目が1(4) 権限があるサーバとして公開される
4bit目が1(8) 他のマシンとの兼ね合いで、権限があるサーバとなるか決定される
AnnounceFlags(NTPサーバーとして公開するか)・・・0x10(する) →0x0(しない)
※あえてNTPサーバーとしての公開を止める設定もできます。
AnnouceFlags は、通常、0x5 もしくは 0xA が設定されます。
0x5 が設定されると、自身を常に信頼できるタイム サーバーとして告知します。
0xA が設定されると、以下の条件に当てはまる際に自身を信頼できるタイム サーバーとして告知します。
・ルート ドメインの PDC エミュレータである
・タイム サーバーを指定していない
③レジストリ設定2
■サーバーとのポーリング(同期間隔)を設定するレジストリキー
・同期間隔を設定するレジストリ
キー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient
値名: SpecialPollInterval
型: REG_DWORD
値: 604800
ポーリング既定値 3600
③トリガー無効
以下のコマンドを実行し、トリガー起動サービスを削除してください。
sc triggerinfo w32time delete
※自動メンテナンスタスクにて使用されることから、タスク Time Synchronizationについても無効化やタスクの削除はコマンドで行う。デフォルトで「自動メンテナンス」というタスクの一部として実行される。
④サービスを確認する
Windows Time サービスのスタートアップの種類を [手動(トリガー開始)] から
[自動] に変更します。
■その他
・NTPクライアントの有効/無効を設定するレジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient
値の名 enabled
型 REG_DWORD
値 0x1 (有効)
・NTPサーバの有効/無効を設定するレジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer
値の名 Enabled
型 REG_DWORD
値 0x1 (有効)
ここらへんさえ抑えとけば単純なNTPサーバーの設定は出来ます。それではー!
良ければ過去記事も見てみてください↓