WindowでNTPの設定。

WindowsをNTPサーバにする。

これは簡単。以下のブログに書いてる通り、レジストリを2箇所変更するだけ。
WindowsでNTPサーバー構築 - ひでっぷの技術メモ

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
    • Enabledを1に設定
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
    • AnnounceFlagsを5に設定

あと、ファイアウォールの設定でUDPの123ポートを開放しておく。

NTPクライアントの設定

NTPクライアントとして設定するにはw32tmコマンドを使って設定する。

w32tm /config /manualpeerlist:"ntp.nict.jp" /syncfromflags:manual
w32tm /config /update

manualpeerlistにはカンマ「,」区切りで複数のNTPサーバを指定できる。そして、以下のコマンドで登録内容を確認。

C:\WINDOWS\system32>w32tm /dumpreg /subkey:parameters

値の名前            値の種類                値のデータ
---------------------------------------------------------------------------

ServiceMain     REG_SZ              SvchostEntry_W32Time
ServiceDll      REG_EXPAND_SZ       C:\WINDOWS\System32\w32time.dll
NtpServer       REG_SZ              ntp.nict.jp
Type            REG_SZ              NTP

登録されてる。これらの設定はレジストリに保存されるらしい。
で、この設定を有効にするにはw32timeの再起動がいる。のかな。

net stop w32time && net start w32time

即座に同期を取って時間を反映させるには以下のようにする。

w32tm /resync

因みに同期するタイミングは以下のレジストリに設定されている。

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
    • SpecialPollInterval

SpecialPollIntervalには秒数を指定する。WindowsXP SP2のデフォルトは10進数で3600秒、つまり1時間となっていた。1時間ごとに時刻を合わせにいってるはず。これでしばらく様子をみてみるか。