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で使用するのでファイアウォールで穴をあけておかないといけません。