Windows10NTPサーバー設定方法

PC備忘録

ローカルネットワークで時刻合わせが必要な場合にネットワーク内にNTPサーバーが必要となります。

そこで、設定方法、運用方法をまとめておきます。

NTPサーバーの構成

NTPサーバーが必要となる場合とは、

ローカルネットワークがインターネットに接続できない、またはFA機器のIPグループでインターネットへの接続ができない環境でFA機器の時刻合わせが必要な時です。

必要に応じては、上位IPアドレスとローカルIPアドレスそれぞれを設定する必要がありますが、WindowsPCの場合はIPアドレス追加設定が可能です。

NTPサーバー設定

サーバー設定とは、特定のPCをNTP(ネットワーク時刻プロトコル)サーバー機能を追加することになります。

レジストリ設定、サーバーの再起動、ファイヤーウォールの設定が必要です。

レジストリ設定

検索でregeditと入力(レジストリエディターを起動します。

レジストリ設定は失敗すると二度とPC起動できなくなるので、自己責任で行ってください。

下記の設定を5とします。

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

NTPサーバーをEnable=1とします。

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

UNIX系サーバとの同期する場合にはLocalClockDispersionを「0」に設定する必要があります。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config\LocalClockDispersion

サービス再起動

NTPサーバーを再起動します。

Windowsシステムツールから、コマンドプロンプトを管理者権限(その他から選択)で実行します。

Net stop w32time

Net start w32time

Windowsファイヤーウォール設定

次にWindowsのファイヤーウォールの設定をします。

ここで設定しないとファイヤーウォールで接続できません。

コントロールパネルからWindows Defenderファイアウォールを開きます。

受信の規則で追加します。新しい規則ポートを選択します。

UDPで123ポート番号を設定します。

接続はすべて設定しておきます。

受信の規則にわかりやすい名称を付けて完了します。

クライアント側での設定

コントロールパネル

日付と時刻

インターネット時刻でサーバーにNTPサーバーを設定したIPアドレスを設定します。

今すぐ更新で同期ができれば、設定ができたことを確認できます。

PLCの場合

PLCの場合はパラメータで設定します。

Windows-NTPコマンド設定

Windows NTPクライアント設定(w32tmコマンド)

w32tmコマンドとは

w32tmコマンドは、Windows Timeサービスの設定や時刻同期の状態確認、設定変更、手動同期を行うことができるコマンドです。

w32tmコマンドは、NTP(SNTP)プロトコルによって同期を行います。

現在のNTP設定を確認する

Windowsにおいて、現在どのNTPサーバーを参照しているのか確認するには、以下のコマンドを実行します。

> w32tm /query /source

> w32tm /query /peers

NTPクライアントに構成されたNTPサーバーを表示させるには、以下のコマンドを実行します。

> w32tm /query /configuration

通信先のNTPサーバを設定する

w32timeサービスを有効化(ここでは遅延起動に設定)し、起動します。

サービスが無効となっている場合には、w32tmコマンドが実行できません。

> sc config w32time start= delayed-auto

> net start w32time

w32tmコマンドでNTPサーバを指定します。

> w32tm /update /manualpeerlist:192.168.24.33 /syncfromflags:manual

複数NTPサーバ(IPアドレス)を設定する場合には、ダブルクォートでくくる必要があります。

w32tm /config /update /manualpeerlist:”192.168.11.1 192.168.11.2 192.168.11.3″ /syncfromflags:manual

w32timeサービスを再起動して、設定を反映させます。

> net stop w32time

> net start w32time

NTPサーバに同期させる

ローカルマシンとNTPサーバで時刻同期を行うために、再同期(resync)を実行します。

同期処理を試みるため、若干の待ち合わせが発生します。

> w32tm /resync

再同期(resync)を待ち合わせることなく即時に(nowait)実行する場合には、

下記オプションを指定します。

>w32tm /resync /nowait

NTP設定を確認する

Windowsにおいて、現在どのNTPサーバーを参照しているのか確認するには、以下のコマンドを実行します。

> w32tm /query /source

> w32tm /query /peers

NTPクライアントに構成されたNTPサーバーを表示させるには、以下のコマンドを実行します。

> w32tm /query /configuration

レジストリ情報を確認する場合、「regedit.exe」から以下のレジストリを確認します。

HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

Windows NTPクライアント設定(net timeコマンド)

WindowsにおけるNTPクライアントの設定には、「net time」コマンドを利用することも可能です。

net timeコマンドは、Windows OSネットワーク独自の同期用プロトコルを利用しているため、参照するタイム・サーバがWindows OSで運用されている必要があります。(または、Sambaサービスを実行しているUNIX系OSでも同期は可能です。)

net timeコマンドは将来的に廃止される可能性があります。

例えば、Windows Server 2008 R2では「net time /query」コマンドオプションが機能として削除されています。

NTPサーバを設定する

「Y/N」の確認メッセージが不要であれば、以下のように「/yes」を付けて実行すると、すぐに同期させることができます。

> net time ¥¥サーバ名 /set /yes

NTP設定に関するレジストリをクリアする

サービスを停止してから、「unregister」オプションを指定してw32tmコマンドを実行します。

> net stop w32time

> W32tm /unregister

その後、下記コマンドを実行することで設定が初期化されます。

> W32tm /register

まとめ

FA機器は、時間合わせが必要です。

IOTやビックデータの活用でも、ロギングしたデータのタイムスタンプがずれていたら、役にたたないです。

ぜひ参考にしてください。

追記:自動起動設定について

NTP サーバーを設定したパソコンを再起動するとNTPサーバーとして機能してくれない場合があります。都度起動コマンドを実行する場合、管理者権限でコマンドを実行う必要があります。

そこで、NTPサーバー起動のバッチファイルを作成します。

テキストエディタで net start w32time と記述して Batファイルとして保存します。

次にコントロールパネル>管理ツール>タスクスケジューラ タスク作成でBatファイルを実行します。最上位の特権で実行  トリガ ログオン時とします。

こうすることで簡単に再起動時にNTPサーバーとして動作するようにできました。

コメント

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