WindowsをNTPサーバーにする手順、覚え書き
- レジストリの変更(二箇所)
- サービスの起動/再起動
- ファイアーウォールに通信の許可設定を加える
Windows10と8で確認。
レジストリエディタの変更箇所
HKEY_LOCAL_MACHINE
└SYSTEM
└CurrentControlSet
└Services
└W32Time
└TimeProviders
└NtpServer
└Enabled
の値を「1」に(16進数のままで可) もう一箇所
HKEY_LOCAL_MACHINE
└SYSTEM
└CurrentControlSet
└Services
└W32Time
└Config
└AnnounceFlags
の値を「5」に(16進数のままで可)
サービスの起動/再起動
コントロールパネルからサービスを開き
コントロール パネル
└すべてのコントロール パネル項目
└管理ツール
└サービス
「Windows Time」をダブルクリックで開く (すでに実行中だった場合は一度停止してからもう一度開始、停止中ならばそのまま開始) ※サーバーとして使うので、「スタートアップの種類」を「自動」にしておきましょう。 ※Windowsの大型アップデート後はサービスが停止状態に戻されてしまうことがあるので注意
ファイアーウォールの設定
NTP用にポートを開ける必要があります。 WindowsをNTPサーバーとして使用するためには、UDPの123番を開ける必要があります。 コントロール パネル └すべてのコントロール パネル項目 └Windows ファイアウォール ↓ 「詳細設定」をクリック ↓ 受信の規則 ↓ 新しい受信の規則を追加 ↓ ポート ↓ UDP ↓ 123を入力 ↓ 接続を許可する ↓ 使用するネットワークをチェック ↓ ルールに任意の名前を付けて完了
試しに桜時計を起動して、上記の設定をしたWindowsPCのIPアドレスを入れると・・・ 無事に時刻調整できました。 桜時計はサーバーとしても機能するので、NTPサーバーにしたいPCで桜時計を起動してNTPサーバーにしておけば良いのですけどね。 ただ、この方法ならサービス登録できるので、ログインしなくてもWindowsが立ち上がっていれば機能するのが良いところ。 さらに、桜時計などを使わなくても、Windows標準のインターネット時刻を使って時刻調整ができるようになるのがGOOD (NTPサーバ化したPCのIPアドレスをタイムサーバーに指定してやればOK) タスクスケジューラで全部のPCに時刻合わせのアプリケーションを起動させる設定をしなくても済みますので、こちらのほうがスマートですね。 さらに言えば、外部のNTPサーバーに時刻を問い合わせるのは一台だけにして、他のLAN内のPCはその一台と同期させるようにしておけば、ネットワークの負荷・外部のNTPサーバーの負荷を減らすことにも繋がりますね。
関連記事
インターネットに繋がらない?原因は○○が狂っていたせいだった コマンドラインでLAN内のWindowsPCに時刻を同期させる【覚書】 【覚書】時計をあわせる【Linux/debian】
コメント