時刻同期の設定


Red Hat Enterprise Linux 10

ネットワークデバイス間で正確な時刻を維持するための時刻同期の設定

Red Hat Customer Content Services

概要

時刻同期を設定することで、ネットワーク全体で正確な時刻を維持し、信頼性の高い通信とシステム操作を確保できます。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。

Jira からのフィードバック送信 (アカウントが必要)

  1. Jira の Web サイトにログインします。
  2. 上部のナビゲーションバーで Create をクリックします。
  3. Summary フィールドにわかりやすいタイトルを入力します。
  4. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
  5. ダイアログの下部にある Create をクリックします。

第1章 chrony スイートの概要

Network Time Protocol (NTP) の実装は chrony です。chrony を使用すると、以下のことができます。

  • システムクロックを、NTP サーバーと同期する
  • システムクロックを、GPS レシーバーなどの基準クロックと同期する
  • システムクロックを、手動で入力した時間と同期する
  • ネットワーク内の他のコンピューターにタイムサービスを提供する NTPv4(RFC 5905) サーバーまたはピアとして使用

chrony はさまざまな環境で優れたパフォーマンスを発揮します。

  • ネットワーク接続を含む
  • 非常に混雑したネットワーク
  • 温度の変化 (通常のコンピューターの時計は温度の影響を受ける)
  • 継続的に実行されないシステム、または仮想マシン上で実行されるシステム

chrony は、ユーザー空間で実行する chronyd と、chronyd のパフォーマンスを監視し、実行時にさまざまなオペレーティングパラメーターを変更するのに使用できるコマンドラインプログラムである chronyc で構成されます。

chronyd デーモンは、コマンドラインユーティリティー chronyc によって監視および制御できます。このユーティリティーは、chronyd の現在の状態に対してクエリーを実行し、その設定を変更する多数のコマンド入力を可能にするコマンドプロンプトを提供します。デフォルトでは、chronydchronyc のローカルインスタンスのコマンドのみを受け付けますが、リモートホストから監視コマンドを受け付けるように設定することも可能です。リモートアクセスは制限する必要があります。

第2章 chrony の使用

chronyd を起動および停止する方法、同期されているかどうかを確認する方法、およびシステムクロックを手動で調整する方法を学びます。

2.1. chrony の管理

chronyd を起動、停止し、そのステータスを確認できます。

  1. Red Hat Enterprise Linux では、chrony スイートがデフォルトでインストールされます。インストールされていることを確認するには、root で以下のコマンドを実行します。

    # dnf install chrony

    chrony デーモンのデフォルトの場所は、/usr/sbin/chronyd です。このコマンドラインユーティリティーは /usr/bin/chronyc にインストールされます。

  2. chronyd のステータスを確認するには、以下のコマンドを実行します。

    $  systemctl status chronyd
    chronyd.service - NTP client/server
       Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled)
       Active: active (running) since Wed 2013-06-12 22:23:16 CEST; 11h ago
  3. chronyd を開始するには、root で以下のコマンドを実行します。

    # systemctl start chronyd

    システムの起動時に chronyd を自動的に起動するように設定するには、root で以下のコマンドを実行します。

    # systemctl enable chronyd
  4. chronyd を停止するには、root で以下のコマンドを実行します。

    # systemctl stop chronyd

    システムの起動時に chronyd を自動的に起動しないように設定するには、root で以下のコマンドを実行します。

    # systemctl disable chronyd

2.2. システムクロックの手動調整

システムクロックは手動で調整できます。

手順

  • システムクロックを徐々に調整していく (slew) のをやめ、一度に修正 (step) するには、次のように入力します。

    # chronyc makestep
重要

rtcfile ディレクティブを使用している場合は、リアルタイムクロックを手動で調整しないでください。ランダムな調整を行うと、リアルタイムクロックがずれる変化量を測定する必要がある chrony に影響を与えます。

2.3. NetworkManager ディスパッチャースクリプトの無効化

chrony ディスパッチャースクリプトは、NTP サーバーのオンラインとオフラインの状態を管理します。システム管理者は、ディスパッチャースクリプトを無効にして、chronyd がサーバーを常にポーリングし続けるようにすることができます。

NetworkManager は、インターフェイスの再設定、停止、または起動操作中に chrony ディスパッチャースクリプトを実行します。ただし、NetworkManager の外部で特定のインターフェイスまたはルートを設定すると、次の状況が発生する可能性があります。

  1. NTP サーバーへのルートが存在しない場合にディスパッチャースクリプトが実行され、NTP サーバーがオフライン状態に切り替わる可能性があります。
  2. 後でルートを確立すると、デフォルトではスクリプトは再実行されず、NTP サーバーはオフライン状態のままになります。

chronyd が、個別に管理されたインターフェイスを持つ NTP サーバーと確実に同期できるようにするには、ディスパッチャースクリプトを無効にします。

手順

  • chrony ディスパッチャースクリプトを無効にするには、/dev/null へのシンボリックリンクを作成します。

    # ln -f -s /dev/null /etc/NetworkManager/dispatcher.d/20-chrony-onoffline
    注記

    この変更後、NTP サーバーは常にオンライン状態になります。

2.4. 分離されたネットワークでの chrony の設定

インターネットに接続されないネットワークの場合、1 台のコンピューターがプライマリータイムサーバーとして選択されます。他のコンピューターは、サーバーの直接のクライアント、またはクライアントのクライアントです。サーバーでは、ドリフトファイルは、システムクロックのドリフトの平均率を使用して手動で設定します。サーバーを再起動すると、周囲のシステムから時間を取得し、システムクロックを設定するために平均値を計算します。その後、drift ファイルに基づいて調整の適用を再開します。drift ファイルは、settime コマンドが使用されたときに自動的に更新されます。

分離されたネットワーク内のシステムに chrony を設定するには、次の手順に従います。

手順

  1. サーバーとして選択したシステムで、/etc/chrony.conf を次のように編集します。

    driftfile /var/lib/chrony/drift
    commandkey 1
    keyfile /etc/chrony.keys
    initstepslew 10 client1 client3 client6
    local stratum 8
    manual
    allow <subnet>

    <subnet> は、クライアントの接続元として許可するネットワークです。サブネットを指定するには、Classless Inter-Domain Routing (CIDR) 表記を使用します。

  2. サーバーの直接のクライアントとして選択したシステムで、/etc/chrony.conf を次のように編集します。

    server <server_fqdn>
    driftfile /var/lib/chrony/drift
    logdir /var/log/chrony
    log measurements statistics tracking
    keyfile /etc/chrony.keys
    commandkey 24
    local stratum 10
    initstepslew 20 ntp1.example.net
    allow <server_ip_address>

    <server_fqdn> はサーバーのホスト名、<server_ip_address> はサーバーのアドレスです。この設定のクライアントは、再起動するとサーバーと再同期します。

サーバーの直接のクライアントにはならないクライアントシステムの /etc/chrony.conf ファイルでは、local ディレクティブおよび allow ディレクティブが省略される以外は、同じになる必要があります。

孤立したネットワークでは、ローカルの参照モードを有効にする local ディレクティブも使用できます。これにより、NTP サーバーとして動作している chronyd は、サーバーが一度も同期されていなかったり、クロックの最終更新から長い時間が経過している場合でも、リアルタイムに同期してるように見えます。

ネットワーク内の複数のサーバーが同じローカル構成を使用し、互いに同期しつつ、複数のサーバーにポーリングを行うクライアントを混乱させないようにするには、local ディレクティブの orphan オプションを使用して、orphan モードを有効にします。各サーバーは、他のすべてのサーバーを local でポーリングするように設定する必要があります。これにより、最小の参照 ID を持つサーバーでのみローカル参照が有効になり、他のサーバーはそれに同期します。サーバーに障害が発生すると、別のサーバーが引き継ぎます。

2.5. リモート監視アクセスの設定

chronyc ユーティリティーは、次の方法を使用して chronyd にアクセスできます。

  • IPv4 または IPv6
  • root および chrony ユーザーがローカルでアクセスできるドメインソケット

デフォルトでは、chronyc は、Unix ドメインソケットに接続します。デフォルトのパスは /var/run/chrony/chronyd.sock です。この接続が失敗した場合、chronyc は 127.0.0.1 に接続を試み、さらに ::1 に接続を試みます。

chronyd の動作に影響しない次の監視コマンドのみが、ネットワークに許可されています。

  • activity
  • manual list
  • rtcdata
  • smoothing
  • sources
  • sourcestats
  • tracking
  • waitsync

デフォルトでは、このコマンドが許可されるのは、ローカルホスト (127.0.0.1 または ::1) のものだけになります。

その他のコマンドはすべて、Unix ドメインソケットのみを介して許可されます。ネットワーク上で送信されると、たとえローカルホストであっても、chronydNot authorised エラーを返します。

以下の手順では、chronyc を使用して chronyd にリモートでアクセスする方法を説明します。

手順

  1. /etc/chrony.conf ファイルに以下を追加して、chrony がローカルインターフェイスでリッスンするように設定します。

    bindcmdaddress 0.0.0.0

    および

    bindcmdaddress ::
  2. リモート IP アドレス、ネットワーク、サブネットからのコマンドを許可します。

    /etc/chrony.conf ファイルに以下の内容を追加します。

    cmdallow 192.168.1.0/24
    cmdallow 2001:db8::/64
  3. ファイアウォールでポート 323 を開き、リモートシステムからの接続を許可します。

    # firewall-cmd --permanent --add-port=323/udp
  4. ファイアウォール設定を再読み込みします。

    # firewall-cmd --reload

2.6. chrony の同期確認

chrony が同期されているかは、trackingsourcessourcestats コマンドを使用して確認できます。

手順

  1. chrony のトラッキングを確認するには、次のように入力します。

    $  chronyc tracking
    Reference ID    : CB00710F (ntp-server.example.net)
    Stratum         : 3
    Ref time (UTC)  : Fri Jan 27 09:49:17 2017
    System time     :  0.000006523 seconds slow of NTP time
    Last offset     : -0.000006747 seconds
    RMS offset      : 0.000035822 seconds
    Frequency       : 3.225 ppm slow
    Residual freq   : 0.000 ppm
    Skew            : 0.129 ppm
    Root delay      : 0.013639022 seconds
    Root dispersion : 0.001100737 seconds
    Update interval : 64.2 seconds
    Leap status     : Normal
  2. chronyc の sources コマンドは、chronyd がアクセスしている現在の時間ソースに関する情報を表示します。

    $ chronyc sources
    	210 Number of sources = 3
    MS Name/IP address         Stratum Poll Reach LastRx Last sample
    ===============================================================================
    #* GPS0                          0   4   377    11   -479ns[ -621ns] /-  134ns
    ^? a.b.c                         2   6   377    23   -923us[ -924us] +/-   43ms
    ^ d.e.f                         1   6   377    21  -2629us[-2619us] +/-   86ms

    オプションの -v 引数を指定すると、より詳細な情報を出力できます。この例では、余分なキャプション行は、コラムの意味を説明するものとして表示されます。

  3. sourcestats コマンドは、chronyd が現在調べている各ソースに関するドリフトレートとオフセット推定プロセスの情報を表示します。chrony ソースの統計情報を確認するには、以下のコマンドを実行します。

    $  chronyc sourcestats
    210 Number of sources = 1
    Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
    ===============================================================================
    abc.def.ghi                11   5   46m     -0.001      0.045      1us    25us

    任意の引数 -v (verbose (詳細) の意) を指定できます。この例では、余分なキャプション行は、コラムの意味を説明するものとして表示されます。

2.7. NTP クライアントの監視

chronyd Network Time Protocol (NTP) サーバーにアクセスしたクライアントのリストを表示します。この情報は、どのクライアントがアクティブに同期しているかを確認し、その接続履歴を確認するのに役立ちます。

前提条件

  • chronyd サービスが実行中である。
  • chronyd が NTP クライアントを許可するように設定されています。たとえば、/etc/chrony.confallow ディレクティブを追加します。

手順

  1. chronyc clients コマンドを使用してクライアントのリストを表示します。

    # chronyc clients
  2. コマンドの出力を確認します。

    Hostname                          NTP  Drop  Int  IntL  Last  Cmd  Drop  Int  Last
    ====================================================================================
    client1.example.net 			   10 	  0    6 	 - 	 10s 	0 	  0    6   12s
    client2.example.net 			    8 	  0	   6 	 - 	 25s 	0 	  0    6   28s
    desktop-192-0-2-100.example.net 	3 	   	   6 	 - 	  9s 	0 	  0    6   11s

    出力のフィールドには以下が含まれています。

    • Hostname: クライアントのホスト名または IP アドレス。
    • NTP: クライアントから受信した NTP パケットの数。
    • Drop: 主にレート制限が原因で chronyd によってドロップされたパケットの数。
    • Int: クライアントのポーリング間隔 (秒単位)(2 を底とする対数値、例: 6 = $2^6$ = 64 秒)。
    • IntL: レート制限がアクティブな場合のクライアントの平均ポーリング間隔 (秒単位)。クライアントに対してレート制限が現在アクティブでない場合、このフィールドには '-' が表示されます。
    • Last: このクライアントから最後の NTP パケットを受信してからの経過時間。この値は、同期されているクライアントや、最近同期されたクライアントを確認するために使用します。
    • Cmd: クライアントから受信した chronyc (監視) コマンドパケットの数。

      注記

      クライアントの数が多く、コマンドの応答が遅い場合は、DNS ルックアップを実行していることが原因である可能性があります。ホスト名の解決を無効にして、代わりに IP アドレスを表示するには、-n オプションを使用してください。

      +

      # chronyc -n clients
      重要

      デフォルトでは、chronyd は最大 4,096 台のクライアントを監視します。これより多くのクライアントがある場合は、/etc/chrony.conf ファイルの clientloglimit を使用すると、メモリー制限を引き上げることができます。例: clientloglimit 10000000

第3章 ハードウェアタイムスタンプを備えた chrony

一部のネットワークインターフェイスコントローラー (NIC) のハードウェア (HW) タイムスタンプは、着信パケットと発信パケットの正確なタイムスタンプを提供します。NTP タイムスタンプは通常、カーネルにより作成され、システムクロックを使用して chronyd が作成されます。ただし、ハードウェアのタイムスタンプが有効な場合、NIC は独自のクロックを使用して、パケットがリンク層または物理層に出入りするときにタイムスタンプを生成します。ハードウェアスタンプで NTP を使用すると、同期の精度を大幅に向上できます。最高精度を実現するには、NTP サーバーおよび NTP クライアントの両方が、ハードウェアのタイムスタンプを使用している必要があります。理想的な条件下では、サブマイクロ秒単位の精度を実現できるかもしれません。

ハードウェアのタイムスタンプを使用する時間同期の別のプロトコルには、PTP があります。

NTP とは異なり、PTP は、ネットワークスイッチおよびルーターの補助に依存しています。最高の同期精度を実現する場合は、PTP をサポートするスイッチやルーターがあるネットワークでは PTP を使用し、そのようなスイッチやルーターがないネットワークでは NTP を選択してください。

3.1. ハードウェアタイムスタンプのサポートの確認

NTP によるハードウェアタイムスタンプがインターフェイスでサポートされていることを確認するには、ethtool -T コマンドを使用します。ethtoolSOF_TIMESTAMPING_TX_HARDWARE および SOF_TIMESTAMPING_TX_SOFTWARE 機能と HWTSTAMP_FILTER_ALL フィルターモードをリストしている場合、インターフェイスを NTP によるハードウェアタイムスタンプに使用できます。

手順

  • デバイスのタイムスタンプ機能と、関連する PTP ハードウェアクロックを表示します。
# ethtool -T enp1s0

3.2. ハードウェアのタイムスタンプの有効化

/etc/chrony.conf ファイルの hwtimestamp ディレクティブを使用して、1 つまたは複数のインターフェイスでハードウェアタイムスタンプを有効にできます。ディレクティブは、個別のインターフェイスを指定できますが、ワイルドカード文字を使用して、ハードウェアのタイムスタンプをサポートするすべてのインターフェイスでハードウェアのタイムスタンプを有効にすることもできます。

手順

  1. /etc/chrony.conf ファイルを編集し、次の変更を加えます。

    1. ハードウェアタイムスタンプをサポートするインターフェイスに hwtimestamp 設定を追加します。以下に例を示します。

      hwtimestamp enp1s0
      hwtimestamp eno*

      ptp4l などの他のアプリケーションがハードウェアタイムスタンプを使用していない場合は、ワイルドカード * を使用できます。

    2. minpoll および maxpoll オプションをサーバー設定に追加して、短いクライアントポーリング間隔を設定します。次に例を示します。

      server ntp.example.comlocal minpoll 0 maxpoll 0

      ハードウェアタイムスタンプの場合、システムクロックのオフセットを最小限に抑えるために、デフォルトの範囲 (64 - 1024 秒) よりも短いポーリング間隔を設定する必要があります。

    3. サーバー設定に xleave オプションを追加して、NTP インターリーブモードを有効にします。

      server ntp.example.comlocal minpoll 0 maxpoll 0 xleave

      この設定では、chrony はパケットを送信した後にのみハードウェア送信タイムスタンプを取得します。この動作により、サーバーが応答するパケット内のタイムスタンプを、サーバーが保存できなくなります。xleave オプションを使用すると、chrony は送信後に生成された送信タイムスタンプを受信できます。

    4. オプション: サーバーでクライアントのアクセスのロギング用に割り当てられるメモリーの最大サイズを増やします。次に例を示します。

      clientloglimit 100000000

      デフォルトのサーバー設定では、数千のクライアントが同時にインターリーブモードを使用できます。clientloglimit 設定の値を増やすことで、多数のクライアントに対応するサーバーを設定できます。

  2. chronyd サービスを再起動します。

    # systemctl restart chronyd

検証

  1. オプション: /var/log/messages ログファイルでハードウェアタイムサンプリングが有効になっていることを確認します。

    chronyd[4081]: Enabled HW timestamping on enp1s0
    chronyd[4081]: Enabled HW timestamping on eno1
  2. chronyd が NTP クライアントまたはピアとして設定されている場合、送信および受信タイムスタンプモードとインターリーブモードを表示します。

    # chronyc ntpdata
    
    Remote address  : 203.0.113.15 (CB00710F)
    Remote port     : 123
    Local address   : 203.0.113.74 (CB00714A)
    Leap status     : Normal
    Version         : 4
    Mode            : Server
    Stratum         : 1
    Poll interval   : 0 (1 seconds)
    Precision       : -24 (0.000000060 seconds)
    Root delay      : 0.000015 seconds
    Root dispersion : 0.000015 seconds
    Reference ID    : 47505300 (GPS)
    Reference time  : Wed May 03 13:47:45 2017
    Offset          : -0.000000134 seconds
    Peer delay      : 0.000005396 seconds
    Peer dispersion : 0.000002329 seconds
    Response time   : 0.000152073 seconds
    Jitter asymmetry: +0.00
    NTP tests       : 111 111 1111
    Interleaved     : Yes
    Authenticated   : No
    TX timestamping : Hardware
    RX timestamping : Hardware
    Total TX        : 27
    Total RX        : 27
    Total valid RX  : 27
  3. NTP 測定の安定性を表示します。

    # chronyc sourcestats
    ....
    
    210 Number of sources = 1
    Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
    ntp.local                  12   7    11     +0.000      0.019     +0ns    49ns
    ....

この安定性は、Std Dev 列に表示されます。ハードウェアタイムスタンプを有効にすると、NTP 測定の安定性は、通常の負荷で数十または数百ナノ秒になります。

3.3. PTP-NTP ブリッジの設定

非常に精度が高い PTP (Precision Time Protocol) のプライマリータイムセーバーが、PTP サポートのあるスイッチまたはルーターを持たないネットワークで利用可能な場合、コンピューターは、PTP スレーブおよび stratum-1 の NTP サーバーとしての操作に専念する可能性があります。このようなコンピューターには、2 つ以上のネットワークインターフェイスが必要であり、プライマリータイムサーバーの近くに配置するか、プライマリータイムサーバーに直接接続する必要があります。これにより、ネットワークで非常に精度の高い同期が確実に実行されます。

手順

  1. 1 つのインターフェイスを使用し、PTP を使用してシステムクロックを同期するように、linuxptp パッケージの ptp4l および phc2sys プログラムを設定します。
  2. chronyd を設定して、その他のインターフェイスを使用してシステム時間を提供するには、以下を行います。

    bindaddress 203.0.113.74
    hwtimestamp enp1s0
    local stratum 1
  3. chronyd サービスを再起動します。

    # systemctl restart chronyd

第4章 chrony における Network Time Security (NTS) の概要

Network Time Security (NTS) は、大規模なクライアントを拡張するように設計された Network Time Protocol (NTP) の認証メカニズムです。これは、クライアントマシンへの移動時に、サーバーマシンから受信したパケットが変更されていないことを確認します。NTS (Network Time Security) には、サーバーとそのクライアント間で使用される暗号鍵を自動的に作成する NTS-KE (Key Establishment) プロトコルが含まれます。

警告

NTS は、FIPS および OSPP プロファイルと互換性がありません。FIPS および OSPP プロファイルを有効にすると、NTS で設定された chronyd が致命的なメッセージを表示して中断する可能性があります。/etc/sysconfig/chronyd ファイルに GNUTLS_FORCE_FIPS_MODE=0 設定を追加することで、chronyd サービスの OSPP プロファイルと FIPS モードを無効にできます。

4.1. クライアントでの Network Time Security (NTS) の有効化

デフォルトでは、Network Time Security (NTS) は有効になっていません。/etc/chrony.conf ファイルで NTS を有効化できます。

前提条件

  • タイムサーバーが NTS をサポートしている。

手順

/etc/crony.conf ファイルを編集し、次の変更を加えます。

  1. iburst オプションに加えて、nts オプションを使用してサーバーを指定します。

    For example:
    server time.example.com iburst nts
    server nts.netnod.se iburst nts
    server ptbtime1.ptb.de iburst nts
  2. システムの起動中に Network Time Security-Key Establishment (NTS-KE) セッションが繰り返されないように、次の設定を追加します。

    ntsdumpdir /var/lib/chrony
  3. 次の設定をコメントアウトまたは削除して、DHCP によって提供される Network Time Protocol (NTP) サーバーとの同期を無効にします (設定が存在する場合)。

    sourcedir /run/chrony-dhcp
  4. chronyd を再起動します。

    systemctl restart chronyd

検証

  • NTS キーが正常に確立されたかどうかを確認します。

    # chronyc -N authdata
    
    Name/IP address  Mode KeyID Type KLen Last Atmp  NAK Cook CLen
    ================================================================
    time.example.com  NTS     1   15  256  33m    0    0    8  100
    nts.netnod.se   NTS     1   15  256  33m    0    0    8  100
    ptbtime1.ptb.de   NTS     1   15  256  33m    0    0    8  100

    KeyIDType、および KLen には、ゼロ以外の値を指定する必要があります。この値が 0 になっていない場合は、システムログで chronyd からのエラーメッセージを確認します。

  • クライアントが NTP 測定を行っていることを確認します。

    # chronyc -N sources
    
    MS Name/IP address Stratum Poll Reach LastRx Last sample
    =========================================================
    time.example.com   3        6   377    45   +355us[ +375us] +/-   11ms
    nts.netnod.se   1        6   377    44   +237us[ +237us] +/-   23ms
    ptbtime1.ptb.de    1        6   377    44   -170us[ -170us] +/-   22ms

    Reach 列の値はゼロ以外にする必要があります。理想的には 377 です。この値が 377 になることがめったにないか、377 に到達しない場合は、NTP の要求または応答がネットワークで失われていることを示しています。

4.2. タイムサーバーでの Network Time Security (NTS) の有効化

独自の Network Time Protocol (NTP) サーバーを実行している場合は、サーバーの Network Time Security (NTS) サポートを有効にして、クライアントの同期を容易にし、安全に行うことができます。

NTP サーバーがその他のサーバーのクライアントである (Stratum 1 サーバーではない) 場合は、同期に NTS または対称鍵を使用する必要があります。

前提条件

  • PEM 形式のサーバー秘密鍵
  • PEM 形式で必要な中間証明書を持つサーバー証明書

手順

  1. /etc/chrony.conf ファイルを編集し、次の変更を加えます。

    ntsserverkey /etc/pki/tls/private/<ntp-server.example.net>.key
    ntsservercert /etc/pki/tls/certs/<ntp-server.example.net>.crt
  2. 秘密鍵と証明書ファイルの両方に、ファイルの読み取りを chrony ユーザーに許可する権限を設定します。次に例を示します。

    # chown root:chrony /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt
    
    # chmod 644 /etc/pki/tls/private/<ntp-server.example.net>.key /etc/pki/tls/certs/<ntp-server.example.net>.crt
  3. ntsdumpdir /var/lib/chrony 設定が存在することを確認します。
  4. Firewalld で必要なポートを開きます。

    # firewall-cmd --permanent --add-port={323/udp,4460/tcp}
    # firewall-cmd --reload
  5. chronyd を再起動します。

    # systemctl restart chronyd

検証

  1. クライアントマシンからテストを実行します。

    $ chronyd -Q -t 3 'server
    
    ntp-server.example.net iburst nts maxsamples 1'
    2021-09-15T13:45:26Z chronyd version 4.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG)
    2021-09-15T13:45:26Z Disabled control of system clock
    2021-09-15T13:45:28Z System clock wrong by 0.002205 seconds (ignored)
    2021-09-15T13:45:28Z chronyd exiting

    System clock wrong メッセージは、NTP サーバーが NTS-KE 接続を受け入れ、NTS で保護されている NTP メッセージで応答していることを示しています。

  2. サーバーで監視されている NTS-KE 接続と認証された NTP パケットを確認します。

    # chronyc serverstats
    
    NTP packets received       : 7
    NTP packets dropped        : 0
    Command packets received   : 22
    Command packets dropped    : 0
    Client log records dropped : 0
    NTS-KE connections accepted: 1
    NTS-KE connections dropped : 0
    Authenticated NTP packets: 7

    NTS-KE connections accepted および Authenticated NTP packets の値がゼロ以外の値の場合は、少なくとも 1 台のクライアントが NTS-KE ポートに接続し、認証された NTP リクエストを送信できたことを意味します。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る