LAN NTP サーバー設定 (Windows 時刻同期サーバー NetTime) (ubuntu systemd-timesyncd NTP クライアント) 123 ポート、NTP 時刻修正

背景

顧客は LAN を持っていますが、LAN 内のデバイスの時間が不一致であるため、対話中に問題が発生する可能性があります。

ここで、たまたま 2 つのイーサネット インターフェイスを持つホストがあり、そのうちの 1 つは外部ネットワークに接続でき、ネットワーク時刻を取得できるので、このホストを LAN 内の他のホストと時刻同期するための NTP サーバーにすることができます。

関連する手順は次のとおりです。

WindowsでNTPサーバーを設定する方法

手動構成

  1. レジストリ エディタを開きます。Win+R キーを押し、 Enter キーregeditを押して Enter キーを押します。

  2. 案内するHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

  3. 右側のパネルで「有効」をダブルクリックし、データ値フィールドに「1」を入力します。
    ここに画像の説明を挿入します

  4. 案内するHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

  5. 右側のパネルで、「AnnounceFlags」をダブルクリックし、データ値フィールドに「5」を入力します。
    ここに画像の説明を挿入します

  6. レジストリ エディタを閉じます。

  7. コマンド プロンプトを (管理者として) 開き、次のコマンドを入力して Windows タイム サービスを再起動します。

net stop w32time && net start w32time

ここに画像の説明を挿入します

Windows ホストは NTP サーバーとして設定されており、他のデバイス (Linux ホストや NVR デバイスなど) はこのホストから時刻情報を取得できる必要があります。Linux ホストおよび NVR デバイスの場合、NTP クライアントが Windows ホストの IP アドレスを指すようにする必要があります。

設定パラメータAnnounceFlagsEnabled意味

Windows レジストリ設定では、AnnounceFlagsこれらEnabled2 つのキー値は NTP サーバーの構成に対して特別な意味を持ちます。

  1. AnnounceFlags:このキーは、W32Time サービス (Windows タイム) が利用可能なタイム ソースとしてネットワークに自身を通知するかどうか (およびその方法) を制御します。その値は、さまざまなフラグを表すビットマスクです。AnnounceFlagsの値が 5 に設定されている場合は、次の 2 つの条件を意味します。

    • 値 4 (バイナリ 100) は、ローカル マシンが信頼できるタイム サーバーである (たとえば、ハードウェア クロックまたは外部 NTP サーバーと手動で同期するように構成されている) 場合にのみ、W32Time サービス自身をタイム サーバーとしてアドバタイズするように指示します。 。

    • 値 1 (バイナリ 001) を指定すると、W32Time サービスは、正規の時刻更新を受信したかどうかに関係なく、常に自身をタイム サーバーとしてアドバタイズします。

  2. Enabled:このキーは、NTPServer を有効にするかどうかを決定します。この値を 1 に設定すると、NTPServer が有効になります。つまり、W32Time サービスが NTP サーバーとして機能し、他のデバイスに時刻を提供します。

レジストリを変更する前に、必ず復元ポイントを作成するか、レジストリをバックアップしてください。間違った変更を行うと、システムが不安定になる可能性があります。

ソフトウェア設定(NetTime)の使用

Windows には、NTP サーバーを簡単にセットアップできるサードパーティ アプリケーションがあります。

たとえば、「ネットタイム」です。NetTime は、サーバーとしても実行できる、シンプルで使いやすい時刻同期クライアントです。設定方法の手順は次のとおりです。

  1. NetTime をダウンロードしてインストールします: http://www.timesynctool.com/

  2. NetTime を実行し、システム トレイの NetTime アイコンを右クリックして、[設定] を選択します。

  3. 「設定」ウィンドウで「常に時刻を提供する」オプションをチェックして、NetTime が時刻サービスを提供するサーバーとして機能するようにします。

  4. 「OK」をクリックして設定を保存します。

このようにして、Windows ホストを NTP サーバーとして設定します。その後、他のデバイス (Linux ホストや NVR デバイスなど) 上の NTP クライアントに Windows ホストの IP アドレスを指定して、LAN 内で時刻同期を実現できます。

ここに画像の説明を挿入します
ここに画像の説明を挿入します

実際の操作

ダウンロードしてください:
ここに画像の説明を挿入します

ダウンロードが完了したら、デフォルトのインストールをクリックします。
ここに画像の説明を挿入します
[設定] をクリックし、[他のコンピューターがこのコンピューターと同期することを許可する] にチェックを入れます。
ここに画像の説明を挿入します
警告がポップアップ表示され、このホストを NTP サーバーとして使用する場合は、このホストの正確性を確認する必要があることを思い出させます。ホストの時間です。「いいえ」をクリックしてください:
ここに画像の説明を挿入します
ここに画像の説明を挿入します

関連する質問: 0.nettime.pool.ntp.org とは何ですか?

ここに画像の説明を挿入します

0.nettime.pool.ntp.orgNTP プール プロジェクトの一部であるパブリック ネットワーク タイム プロトコル (NTP) サーバー アドレスです。

NTP プール プロジェクトは、ボランティアとスポンサーによって維持される NTP サーバーの大規模なプールです。世界中のインターネット ユーザーに正確な時刻サービスを提供します。「pool.ntp.org」プロジェクトは、DNS ラウンド ロビンを使用してトラフィックをさまざまなタイム サーバーに分散します。つまり、「pool.ntp.org」にクエリを実行すると、DNS サーバーはプール内の任意のサーバーの IP アドレスを返します。

0.nettime.pool.ntp.orgこのアドレスは、NTP0プール内のサーバーの論理番号を示しており、サーバー グループの名前である可能性がありますが、それに関する具体的な情報はnettime見つかりませんでした。nettime通常、次のようなアドレスが表示されます0.pool.ntp.org1.pool.ntp.org数字 (0、1 など) はさまざまなサーバーまたはサーバーのグループを表します。

ただし、ネットワークがインターネットにアクセスできない場合は、インターネット経由で NTP プールのサーバーにアクセスする必要があるため、このアドレスは使用できません。この場合、前に説明したように内部 NTP サーバーをセットアップする必要があります。

予防

Windows ホストのポート 123 が占有されているかどうかを必ず確認してください。方法については、Windows のポート占有の確認、ポートからプロセス番号を見つける (プロセス番号を見つける)、プロセス番号からアプリケーション名を見つける (アプリケーションを見つけます) (netstat、タスクリスト)

ubuntu20.04でNTPサーバーの時間を同期するにはどうすればよいですか?

timedatectl systemd-timesyncd サービスの使用

Ubuntu 20.04 では、systemd-timesyncdデフォルトでこのサービスを使用して時刻を同期するため、NTP を個別にインストールする必要はありません。timedatectlNTP サーバーで時刻を同期する方法は次のとおりです。

  1. まずターミナルを開きます。

  2. systemd-timesyncd次のコマンドを使用してサービスのステータスを確認します。

timedatectl status

ここに画像の説明を挿入します

  1. NTP service: active行に が表示されている場合は、サービスが実行中であることyesを意味します。systemd-timesyncdそうでない場合は、次のようにして開始できます。
sudo timedatectl set-ntp on
  1. これで、システムはデフォルトの NTP サーバーから時刻を自動的に同期するようになります。/etc/systemd/timesyncd.confファイルを変更して NTP サーバーを変更することもできます。たとえば、nano エディターを使用すると、次のようになります。
sudo nano /etc/systemd/timesyncd.conf

ここに画像の説明を挿入します

  1. このファイルで、#NTP=で始まる行を見つけて、#NTP サーバーを削除し、複数のサーバーをスペースで区切って追加します。例えば:
NTP=server1 server2

ここに画像の説明を挿入します

  1. ファイルを保存して閉じます。次に、systemd-timesyncdサービスを再起動して変更を適用します。
sudo systemctl restart systemd-timesyncd

ここに画像の説明を挿入します
7. 時刻の同期が成功したかどうかを確認します。コマンド
を使用してtimedatectl確認します。同期が成功すると、ボックスの RTC 時刻の時刻が 1970xxxx ではなく正しく表示されます。

timedatectl

ここに画像の説明を挿入します
次のコマンドを使用して、systemctl status systemd-timesyncd.service --no-pagersystemd-timesyncd サービスのステータスと重要なログを表示します。

systemctl status systemd-timesyncd.service --no-pager

同期が成功すると、次のテキスト行が表示されます。

Initial synchronization to time server 192.168.19.232:123 (192.168.19.232).

ここに画像の説明を挿入します

これらは、 Ubuntu 20.04 でtimedatectlNTP サーバー時刻を同期するために使用される手順です。

Windows NTP サーバーの送信トラフィックと受信トラフィックを設定する (代替)

注: この方法は代替手段であり、ntp を同期できない場合は、ntp をオンにして同期できるかどうかをテストできます。

Windows では、次の手順に従って、UDP ポート 123 での受信および送信トラフィックを許可するようにファイアウォールを確認および構成できます。

  1. コントロールパネルを開きます。

  2. 「システムとセキュリティ」をクリックします。

  3. 「Windows Defender ファイアウォール」をクリックします。

  4. 左側のメニューで「詳細設定」をクリックします。

  5. 新しいウィンドウには、「受信ルール」と「送信ルール」という 2 つのオプションが表示されます。まず、受信 UDP ポート 123 を許可するルールを作成しましょう。

  6. 「受信ルール」をクリックし、右側の「新しいルール」をクリックします。

  7. ポップアップウィザードで「ポート」を選択し、「次へ」をクリックします。

  8. 「UDP」を選択し、「特定のローカルポート」に「123」を入力して「次へ」をクリックします。

  9. 「接続を許可する」を選択し、「次へ」をクリックします。

  10. すべてのネットワークの種類がチェックされていることを確認し、「次へ」をクリックします。

  11. ルールに名前を付けて (たとえば、「NTP UDP 123 Inbound」)、「完了」をクリックします。

次に、UDP ポート 123 の送信を許可するルールを作成します。

  1. 左側のメニューで「送信ルール」をクリックし、右側の「新しいルール」をクリックします。

  2. 手順 9 で [接続を許可する] を選択する以外は、手順 7 ~ 11 を繰り返します。

これで、UDP ポート 123 での受信および送信トラフィックを許可するように Windows ファイアウォールが構成されます。

参考記事

参考記事:時刻同期サーバー

おすすめ

転載: blog.csdn.net/Dontla/article/details/132655196
おすすめ