Windowsも簡単にNTPサーバーにすることができます。
レジストリの設定もしくは確認が必要です。
①レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled
を1にする。
②レジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
を5(0x5)にする。
一応パラメーターの意味は以下の通り
0x1 明示的にタイムサーバーであることを公開する
0x2 Windows Time サービスの設定によって、自動的にタイムサーバーであることを公開する
0x4 明示的に信頼できるタイムサーバーであることを公開する
0x8 Windows Time サービスの設定によって、自動的に信頼できるタイムサーバーであることを公開する
0x5 0x1 と 0x4 をあわせたモード
0xa 0x2 と 0x8 をあわせたモード (デフォルト値)
③サービスの再起動
コマンドプロンプトで
net stop w32time net start w32time
と入力すればOKです。
WindowsのNTPサーバーにLinuxから同期できない
WindowsのNTPサーバーにLinuxから同期できないという現象が発生して苦労しました。
・WindowsのNTP ← Windowsクライアント 同期OK
・WindowsのNTP ← Linuxクライアント 同期NG
・LinuxのNTP ← Windowsクライアント 同期OK
・LinuxのNTP ← Linuxクライアント 同期OK
という結果です。
なぜかntpq -p で確認するとlocalと同期してしまうのです。
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== 192.168.0.10 133.243.238.243 2 u 9 64 17 0.207 15.274 15.012 *LOCAL(0) .LOCL. 4 l 6 64 17 0.000 0.000 0.001
あきらめて、linuxをNTPサーバーにしたのですが、
後日linuxからwindowsのサーバーに同期してみると、簡単にできてしまいました・・・ :x001:
何故かWindowsNTPはStratum2なのに、Stratum10 のローカルと同期してしまうのです。
ネットで色々検索してみた結果の抜粋・・・
(RedHat Fedra Core 4およびRedHat Linux 8.0を利用)では、・・・ntpdは権威あるNTPサーバとして設定されたWindows Timeサービスから、時刻同期を行うことはなかった・・・。
これはntpdがStratum 1のNTPサーバに直接時刻同期を行うような場合、ローカル・クロックの分散の値がごく小さい場合以外、十分に精度のある時刻と見なさず、ポーリングを行っても実質同期しないためと考えられる・・・。
とか
上位の NTP サーバーと同期が取れていない際に NTP クライアントから時刻同期の要求が来ると、Stratum “0” を応答します。
結果Stratum “0” を受け取った NTPクライアントと自身との間で時刻同期に失敗する・・・
とか、w32tmのログを出力したりしましたが、よくわかりませんでした。
結果として時間が解決してくて、1日経てば同期できるようになりました・・・。
解決にはなっておりませんが参考までに・・・。