WindowsのNTPの仕様 〜サーバとしての利用の注意点、クライアントの同期状態確認や設定確認〜

WindowsのNTPサービスの仕様

WindowsではNTPサーバとして「W32Time Service」 が用意されています。しかしMSのこれに対する説明を見ると、結構とんでもないことが書かれています。

https://technet.microsoft.com/ja-jp/library/cc773013(ws.10).aspx

The W32Time service is not a full-featured NTP solution that meets time-sensitive application needs and is not supported by Microsoft as such.

https://support.microsoft.com/ja-jp/help/939322/support-boundary-to-configure-the-windows-time-service-for-high-accura

W32Time サービスは、1 ~ 2 秒の範囲で同期時刻を確実に維持できません。このような許容誤差は、W32Time サービスの設計仕様に含まれていません。

Windows Active Directory ではNTPが必須となっています。これはADドメインのクライアントがドメインコントローラに対してKerberos認証を行う際に、5分以上時刻がサーバとずれていることを許容しないためです。しかし逆に言うと5分未満のずれであれば許容されるということで、W32Timeサービスはこの仕様を基準に作られているようです。

なので、WindowsサーバをNTPサーバとして利用するのは極力避けるべきです。

Windowsのクロックの取り扱い

Windowsではハードウェアクロックの時刻をそのままローカル時間として読み込むし仕様となっています。

つまり、ハードウェアクロックがUTCの状態でインストール済かつローカル時間が日本時間となっているWindowsを起動すると、日本時間にも関わらず表示される時刻がUTCとなるケースがあります。(主に時刻情報をVMに保存しないKVM仮想環境)

WindowsのNTPクライアントの同期状態確認と設定確認の方法

WindowsのNTPクライアントの同期状態は以下コマンドで確認できます。

w32tm /query /status

また、WindowsのNTPクライアントの設定は以下コマンドで確認できます。

w32tm /query /configuration

シェアする

  • このエントリーをはてなブックマークに追加

フォローする