Windows

Windows11をntpサーバーにする方法!初心者向け完全ガイド

パソコンやネットワーク機器の時刻がずれて困っていませんか。ここ、気になりますよね。社内ネットワークなどで正確な時間を共有するために、新しくwindows11でntpサーバーの構築をしようと考えている方は多いかなと思います。でも、いざ設定しようとすると、レジストリの変更が必要だったり、専用のコマンドを使ったりと、難しそうに感じますよね。

また、設定したはずなのにうまく同期されないといったトラブルで悩むケースも少なくありません。この記事では、私が実際に試して確認した、確実なwindows11をntpサーバーにする方法をステップバイステップで分かりやすく解説します。順番に読み進めていけば、誰でもスムーズに設定できるので、ぜひ一緒にやってみましょう。

ポイント

  1. Windows11標準機能を使ったNTPサーバーの構築手順
  2. レジストリやファイアウォールの具体的な設定方法
  3. コマンドラインを使った詳細な動作確認のやり方
  4. 時刻がうまく同期されない時の効果的な解決策

本記事にはプロモーションが含まれています

スポンサーリンク

windows11をntpサーバーにする方法の解説

まずは、Windows11をNTPサーバーとして動かすための基本的な設定から解説していきますね。普段はただ時刻を受け取るだけのWindowsを、時刻を配信するサーバーへと変身させるための重要なステップです。一つずつ丁寧に進めていきましょう。

タイムサーバーの初期設定と手順

NTPサーバーとして稼働させるWindows11自身の時刻が狂っていたら、ネットワーク全体の時刻がおかしくなってしまいます。これ、意外と見落としがちかも。まずは、信頼できる外部のタイムサーバーとしっかり同期させる初期設定から始めましょう。

設定アプリを開き、「時刻と言語」から「日付と時刻」へと進みます。そこから「その他の時計」を選ぶと、おなじみの小さなウィンドウが開きますよね。その中の「インターネット時刻」タブをクリックして、「設定の変更」へ進んでください。

ここで重要なのが、同期先のサーバー選びです。デフォルトでは「time.windows.com」になっていますが、日本国内で運用するなら、情報通信研究機構の「ntp.nict.jp」などに変更するのがおすすめです。「インターネット時刻サーバーと同期する」にチェックが入っていることを確認したら、サーバー名を入力して「今すぐ更新」をクリックしましょう。

同期のポイント
サーバー自身が正確な時刻を持っていることが、安定したNTPサーバー構築の第一歩です。必ず信頼性の高いStratum 1クラスのサーバーを参照するようにしてくださいね。

無事に「時計は正常に同期しました」と表示されれば、初期設定はバッチリです。

スポンサーリンク

レジストリを編集し機能を有効化

Windows11には最初からNTPサーバー機能が眠っているんですが、標準ではオフになっています。これを叩き起こすために、レジストリエディタを使った少しマニアックな設定をしていきますね。

スタートメニューから「regedit」と検索してレジストリエディタを起動します。まずはNTPサーバー機能そのものをオンにします。以下のパスをたどってください。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
ここにある「Enabled」という項目の値を、「0」から「1」に変更します。これでサーバー機能が目覚めます。

次に、自分が「信頼できる時刻ソースである」と周囲にアピールするための設定です。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
この中にある「AnnounceFlags」の値を「5」に変更してください。これで、もし上位サーバーとの通信が一時的に切れても、クライアントに時刻を提供し続けることができます。

レジストリ編集時の注意点
レジストリの変更はシステムに重大な影響を与える可能性があります。あくまで自己責任での操作となりますので、作業前には必ずバックアップを取り、慎重に行ってください。不安な場合は、専門家に相談することをおすすめします。

スポンサーリンク

ファイアウォールのポートの開放

せっかくNTPサーバー機能を有効にしても、Windowsのファイアウォールが通信をブロックしていたら、他のパソコンから時刻を受け取ることができません。ここ、本当につまずきやすいポイントなんですよね。

NTP通信は「UDPプロトコルの123番ポート」を使います。このポートを通れるように、ファイアウォールに新しいルールを追加してあげましょう。

コントロールパネルから「システムとセキュリティ」へと進み、「Windows Defender ファイアウォール」の「詳細設定」を開きます。左側のメニューから「受信の規則」を選び、右側の「新しい規則」をクリックしてください。

規則の種類で「ポート」を選び、プロトコルは「UDP」、特定のローカルポートには「123」と入力して次へ進みます。「接続を許可する」を選んだら、あとは分かりやすい名前(たとえば「NTP Server UDP 123」など)を付けて保存すれば完了です。

ちょっとしたコツ
ここで設定を間違えると、クライアント側からいくらリクエストを送っても「タイムアウト」になってしまいます。UDPとTCPを間違えないように注意してくださいね。

スポンサーリンク

w32timeサービスの再起動と構成

レジストリの設定やファイアウォールの開放が終わったら、その変更をシステムに反映させるために、時刻同期を司る「Windows Time(W32Time)」サービスを再起動する必要があります。

ここはコマンドプロンプトを使うと手っ取り早いです。必ず管理者権限でコマンドプロンプトを開いてくださいね。開いたら、まずは以下のコマンドでサービスを止めます。
net stop w32time

サービスが停止したことを確認したら、すかさず以下のコマンドで起動させます。
net start w32time
これで、さきほどレジストリで行った設定がバッチリ読み込まれ、あなたのWindows11はNTPサーバーとして動き始めました。

さらに、パソコンを再起動したときにも自動でNTPサーバーとして立ち上がるように設定しておきましょう。「サービス(services.msc)」アプリを開き、「Windows Time」を探してプロパティを開きます。スタートアップの種類を「自動 (遅延開始)」に変更して「OK」を押せば完璧です。遅延開始にしておくことで、OS起動時の負荷を分散できるのでおすすめですよ。

スポンサーリンク

閉域網やオフライン環境での構築

インターネットに繋がっていない、いわゆる「閉域網」やオフラインの環境でNTPサーバーを立てたいというケースもあるかなと思います。工場や機密情報を扱うネットワークではよくある話ですよね。

外部のタイムサーバーを参照できない場合、Windows11は自分自身のマザーボードに内蔵されている時計(CMOS時計)を「絶対的な基準」として扱うように設定しなければなりません。

まず、外部サーバーへ同期しようとする動きを止めるため、レジストリの...\W32Time\Parametersにある「NtpServer」の値を空っぽにします。次に、自分の内蔵時計が「すごく正確で信頼できるよ!」とクライアントに信じ込ませるために、...\W32Time\Configにある「LocalClockDispersion」の値を「0」に設定します。

仮想環境での注意
もしHyper-Vなどの仮想マシン上でWindows11を動かしている場合、ホストOSの時刻同期機能とぶつかって時刻が飛んでしまうことがあります。その場合は、レジストリで「VMICTimeProvider」のEnabledを「0」にして、干渉を防ぐようにしてください。

スポンサーリンク

windows11をntpサーバーにする方法の実践編

ここからは、構築したNTPサーバーが実際に正しく動いているかの確認方法や、運用していく上でのコツについて解説していきます。トラブルが起きたときの対処法も知っておくと安心ですよ。

コマンドを用いた同期状態の確認

NTPサーバーがうまく動いているかどうかは、GUI(設定画面)だけでは細かく確認できません。そこで活躍するのが、コマンドラインツールの「w32tm」です。プロっぽくてかっこいいですよね。

まずは、現在の同期状態をザックリ把握するために、コマンドプロンプトで以下のコマンドを打ってみましょう。
w32tm /query /status

このコマンドを実行すると、現在の時刻ソースや、階層を示す「Stratum」の値が表示されます。もしStratumが「16」になっていたら、それは未同期(時刻が信頼できない状態)を意味しているので要注意です。

また、クライアント側からネットワーク越しにサーバーが見えているかをテストするには、ストリップチャート機能が便利です。
w32tm /stripchart /computer:サーバーのIPアドレス
これを実行すると、サーバーとの時刻のズレ(オフセット)がリアルタイムで表示されます。応答があれば、ネットワークもポートも無事に通っている証拠ですね。

スポンサーリンク

高精度な時刻同期を実現する条件

Windows11の時刻同期は、昔のWindowsに比べて飛躍的に進化しています。条件さえ整えば、なんと1ミリ秒(0.001秒)単位の高精度な同期もサポートされているんですよ。金融取引などのシビアな環境でも使えるレベルかも。

ただし、この高精度を実現するには、システムだけでなくネットワーク全体の最適化が不可欠です。Microsoftの基準によると、1ミリ秒の精度を出すためには、以下のような厳しい条件をクリアする必要があります。

精度目標ネットワーク遅延最大ホップ数
1秒100 ms 未満制限なし
50ミリ秒5 ms 未満6 ホップ以内
1ミリ秒0.1 ms 未満4 ホップ以内

ネットワーク機器の遅延や、行きと帰りで通信ルートが違う「非対称パス」があると、すぐに誤差が生まれてしまいます。どこまで精度を求めるかによって、ネットワークの設計から見直す必要があることは覚えておいてくださいね。

スポンサーリンク

同期できない時のトラブル解決策

「よし、設定完了!」と思ってクライアントから同期を試みても、「時間データが利用できなかったため、再同期しませんでした」という非情なエラーが出ること、結構あるんです。焦りますよね。

このエラーが出る原因は、だいたい3つのどれかに絞られます。1つ目は、IPアドレスやホスト名が間違っている「名前解決・接続の問題」。2つ目は、ファイアウォールやルーターで「UDP 123ポートが塞がっている問題」。3つ目は、サーバー側のレジストリ設定(AnnounceFlagsなど)が甘くて「時刻を配信する準備ができていない問題」です。

切り分けのコツとしては、まずはクライアントからw32tm /stripchartで通信が届くか確認すること。届かないならファイアウォールを疑いましょう。通信は届くのに同期できないなら、サーバー側のw32tm /query /statusで、サーバー自身が未同期(Stratum 16)になっていないかチェックするのが解決の近道です。

スポンサーリンク

セキュリティ対策と運用上の注意

NTPサーバーを運用するなら、セキュリティのことも忘れてはいけません。特に怖いのが、NTPサーバーを踏み台にした「NTP増幅攻撃(リフレクション攻撃)」です。これに巻き込まれると、自社のサーバーが他社へのサイバー攻撃に加担してしまうことになります。

幸いなことに、Windows11のW32Timeサービスは、この攻撃の引き金となる「monlist」機能を持っていません。だから標準のままでも比較的安全なんですが、油断は禁物です。

安全な運用のための対策
ファイアウォールの設定で、NTP通信を許可するIPアドレスを「社内のサブネットのみ」に制限することをおすすめします。これで外部からの不正なアクセスをシャットアウトできます。

また、盲点になりがちなのが「マザーボードのボタン電池」です。古いPCをNTPサーバーに転用する場合、この電池が切れていると再起動のたびに時刻が大きく狂ってしまいます。運用前には電池を新品に交換しておくのが、安定運用の隠れたコツですね。

スポンサーリンク

まとめ

ここまで、長丁場お疲れ様でした!Windows11をNTPサーバーにする方法は、レジストリをいじったりコマンドを打ったりと、少しハードルが高く感じたかもしれません。でも、一つ一つの意味を理解しながら進めれば、決して難しくないことが分かっていただけたかなと思います。

正確な時刻は、Windows環境での認証(Kerberos)やログの管理において、まさにシステムの心臓部と言っても過言ではありません。今回構築したNTPサーバーが、あなたのネットワーク環境で安定したリズムを刻み続けてくれるはずです。

もし運用中に「あれ、おかしいな?」と思ったら、この記事のトラブルシューティングの項目やコマンドを思い出して、落ち着いて原因を探ってみてくださいね。最終的なシステム導入や変更の判断については、ご自身の環境に合わせて専門家にご相談のうえ、安全に進めていただければと思います。快適なネットワーク運用を応援しています!

スポンサーリンク

-Windows