Home > Windows にまつわる e.t.c.

ドメインの時刻をNICTのNTPと同期させる


ドメイン環境において、ドメインコントローラーとドメインメンバーの時刻同期は、認証にケルベロスを使っている関係上とても重要な要素となっています。

このため、ドメインメンバーはドメインコントローラーから時刻をもらい、自分の時刻をドメインコントローラーに合わせています。

では、ドメインコントローラー自身はどこから時刻をもらっているのでしょうか?

以前(Windows Server 2003 とか)は、MS が運用している NTP サーバーである time.windows.com から時刻をもらっていましたが、Windows Server 2008 R2 では、PC の内部クロックと同期をしています(仮想環境上にドメインコントローラーを作っているからかも)

以前から time.windows.com は反応が遅かったり(これは別の原因もあるのですが、それについては後述)と不評だったので仕様変更になったのかもしれません。

日本国内で正確な時刻を公式に提供している NTP サーバーは NICT(独立行政法人 情報通信研究機構)が提供している公開 NTP サーバーがありますので、これから時刻をもらうように設定しましょう。

 

< 独立行政法人 情報通信研究機構 >
http://www.nict.go.jp/

< 日本標準時プロジェクト 公開NTP >
http://www2.nict.go.jp/w/w114/tsp/PubNtp/

 

ドメイン環境の NTP はピラミッド構造になっており、ドメイン内で基準となる NTP サーバーから他のドメインコントローラーやドメインメンバーに対して時刻が配布されます。

このため、親となっているドメインコントローラーに対して外部の NTP サーバーから時刻をもらうように設定する必要があります。

通常は、PDC エミュレータがこの役割を担っています。どれが PDC エミュレータなのか不明な場合は、FSMO をチェックすれば良いのですが、一番最初にインストールしたドメインコントローラーになっているはずです。

確認は、「w32tm /query /status」コマンドを使います。

 

Windows Server 2008 R2 ドメインコントローラー(親 NTP)のデフォルト時刻同期

 

このように、ソースが「Local CMOS Clock」か「Free-running System Clock」あるいは「time.windows.com」となっているのが親 NTP です。

「Local CMOS Clock」、「Free-running System Clock」は、コンピューターのハードウェアが刻んでいる内蔵時計なので、こいつと同期していても時間は狂う一方です。

ちなみに、子 NTP になっているドメインコントローラーでは、以下のように他のドメインコントローラーから時刻をもらうようになっています。

 

子 NTP のデフォルト時刻同期

 

親 NTP のドメインコントローラーが時刻をもらう NTP サーバーを変更するには、以下のコマンドを使用します(要管理権限)

w32tm /config /syncfromflags:manual /manualpeerlist:ntp.nict.jp /update
w32tm /resync
w32tm /query /status
← 設定確認

 

時刻をもらう NTP サーバーの変更

 

nict との時刻ズレ状態を確認は、以下コマンドでできます。

現在のズレ確認(警告は無視してかまいません)
w32tm /monitor /computers:ntp.nict.jp

ズレを継続的に確認
w32tm /stripchart /computer:ntp.nict.jp

 

以上で設定は終了ですが、ここから少し余談を....

 

実は以前、NICT 中の人と Windows の時刻同期について意見交換をしたことがありまして、その時に...

XP(Windows Server 2003も)が「symmetric mode」で時刻同期しているのは仕様的にどうなのよ。この仕様だと NTP サーバー側の反応に時刻がかかるので、「client mode」をデフォルトにすべきだよね(かなり意訳していますw)

ってお話をさせて頂きました。

この問題は Vista(Windows Server 2008)で改善されています。

こいつを最初に書いた時には、明示的に client mode である 0x8 を指定していましたが、このオプションは Windows Server 2008 R2 以降は使えなくなっているようです。

 

関連情報

現在時刻を NICT の Web API / NTP で合わせる
http://www.vwnet.jp/Windows/PowerShell/AdjustTime.htm

 

 

 

Copyright © MURA All rights reserved.