WindowsをNTPサーバーにする

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日経てば同期できるようになりました・・・。
解決にはなっておりませんが参考までに・・・。

タイトルとURLをコピーしました