ひでっぷの技術メモ

はてなダイアリーから移行しました

WindowsでNTPサーバー構築

今回の仕事でNTPサーバーをたてる必要性が出てきました。
しかし、今システムはWindowsマシンばかり。
LinuxならNTPサーバーのたて方がわかるのにWindowsだとどうなるのかよくわからなかったので色々調べてみました。

WindowsのやっかいなのはNTP(Network Time Protcol)ではなくて独自のSNTP(Simple Network Protcol)を使用しているところ。
標準のNTP使えよなあ・・・と思っていたらWindows2003,WindowsXPからNTPを採用していることが判明。
(最初これに気づかなくて変なNTPサーバーのソフトとかいれてちょっとはまってました)

NTPを採用しているならば後はNTPサーバーとして動くようにレジストリを設定してやればOK。

設定箇所は

HKEY_LOCAL_MACHINE
→SYSTEM
→CurrentControlSet
→Services
→W32Time
→TimeProviders
→NtpServer
の「Enabled」を1

HKEY_LOCAL_MACHINE
→SYSTEM
→CurrentControlSet
→Services
→W32Time
→Config
の「AnnounceFlags」を5

この2つです。
レジストリを変更しただけでは設定が反映されていないようだったので
設定後にコマンドプロンプト

net stop w32time && net start w32time

としてW32Timeサービスを再起動させたところNTPサーバーとして使えるようになりました。

[追記]
NTPサーバーは123番ポートをUDPで使用するのでファイアウォールで穴をあけておかないといけません。