WindowsのActiveDirectoryでは通常ドメインコントローラーの時刻をドメイン内に配布していますが、そのドメインコントローラーの時刻がずれてしまうことがありました。
手動でその都度直すのもよいのですが、ずれないようにNTPを設定することにしたため、そのメモを残します。
デフォルトの設定
ピア: time.windows.com,0x9 状態: アクティブ 残り時間: 486014.9856000s モード: 3 (クライアント) 階層: 0 (未指定) ピアポーリング間隔: 0 (未指定) ホストポーリング間隔: 9 (512s)
NTPの設定
デフォルトのMicrosoftタイムサーバをやめて、NICTのNTPを利用することとします。
設定手順は以下のサイトを参考にしました。
Windowsタイムサービスを構成する - TechNet
デフォルト設定とNICT間の時刻差異を確認します。
w32tm /stripchart /computer:ntp.nict.jp /samples:5 /dataonly
NICTのNTPを使用するための設定を行います。
なお、相手がWindowsサーバとは限らないため、同期方法はクライアントモードとします。
w32tm /config /manualpeerlist:ntp.nict.jp,0x8 /syncfromflags:manual /reliable:yes /update
入力後、「コマンドは正しく完了しました。」と表示されれば、成功です。
NICTのNTPに切り替わっているかを確認します。
# 確認 w32tm /query /peers # 結果 ピア数: 1 ピア: ntp.nict.jp,0x8 状態: アクティブ 残り時間: 638.3914567s モード: 3 (クライアント) 階層: 1 (主参照 - 電波時計で同期) ピアポーリング間隔: 15 (32768s) ホストポーリング間隔: 10 (1024s)
/manualpeerlistの第二引数
上記では「0x8」とすることでクライアントモードでの動作をさせていますが、他にも引数がいくつかあります。
それらについては、以下に詳しくまとめられています。
3.Active Directory 環境における時刻同期 - @IT
ただ、この中にはデフォルトで指定されていた「0x9」がありません。
「0x9」は新しい値なのか、それともビットフラグなのかを調べたところ、以下の記事が見つかりました。
By making the primary NTP server flag 0x9, we made it “Client 0x08 + SpecialInterval 0x01” and as for the second NTP time server.
Configuring your PDCE with Alternate Time Sources - Ask the Directory Services Team Blog
ビットフラグのようですね。