時刻同期の設定
ネットワークデバイス間で正確な時刻を維持するための時刻同期の設定
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は質の高いドキュメントを提供することに尽力しており、皆様からのフィードバックを大切にしています。改善にご協力いただくため、Red Hat Jira トラッキングシステムを通じてご提案やエラー報告をお寄せください。
手順
Jira の Web サイトにログインします。
アカウントがない場合、アカウント作成オプションを選択します。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 chrony スイートの概要 リンクのコピーリンクがクリップボードにコピーされました!
Network Time Protocol (NTP) の実装は chrony です。chrony を使用すると、以下のことができます。
-
システムクロックを、
NTPサーバーと同期する - システムクロックを、GPS レシーバーなどの基準クロックと同期する
- システムクロックを、手動で入力した時間と同期する
-
ネットワーク内の他のコンピューターにタイムサービスを提供する
NTPv4(RFC 5905)サーバーまたはピアとして使用
chrony はさまざまな環境で優れたパフォーマンスを発揮します。
- ネットワーク接続を含む
- 非常に混雑したネットワーク
- 温度の変化 (通常のコンピューターの時計は温度の影響を受ける)
- 継続的に実行されないシステム、または仮想マシン上で実行されるシステム
chrony は、ユーザー空間で実行する chronyd と、chronyd のパフォーマンスを監視し、実行時にさまざまなオペレーティングパラメーターを変更するのに使用できるコマンドラインプログラムである chronyc で構成されます。
コマンドラインユーティリティーの chronyc は、chronyd デーモンを監視および制御できます。このユーティリティーは、chronyd の現在の状態に対してクエリーを実行し、その設定を変更する多数のコマンド入力を可能にするコマンドプロンプトを提供します。デフォルトでは、chronyd は chronyc のローカルインスタンスのコマンドのみを受け付けますが、リモートホストから監視コマンドを受け付けるように設定することも可能です。リモートアクセスは制限する必要があります。
第2章 chrony の使用 リンクのコピーリンクがクリップボードにコピーされました!
chronyd を起動および停止する方法、同期されているかどうかを確認する方法、およびシステムクロックを手動で調整する方法を学びます。
2.1. chrony の管理 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux では、chrony スイートがデフォルトでインストールされます。chronyd を起動、停止し、そのステータスを確認できます。
手順
オプション:
rootで以下のコマンドを実行して、chrony スイートがインストールされているか確認します。# dnf install chronychrony デーモンのデフォルトの場所は、
/usr/sbin/chronydです。このコマンドラインユーティリティーは/usr/bin/chronycにインストールされます。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 agochronydを開始するには、rootで以下のコマンドを実行します。# systemctl start chronydシステムの起動時に
chronydを自動的に起動するように設定するには、rootで以下のコマンドを実行します。# systemctl enable chronydchronydを停止するには、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 の外部で特定のインターフェイスまたはルートを設定すると、次の状況が発生する可能性があります。
- NTP サーバーへのルートが存在しない場合にディスパッチャースクリプトが実行され、NTP サーバーがオフライン状態に切り替わる可能性があります。
- 後でルートを確立すると、デフォルトではスクリプトは再実行されず、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 を設定するには、次の手順に従います。
手順
サーバーとして選択したシステムで、
/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) 表記を使用します。サーバーの直接のクライアントとして選択したシステムで、
/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 ドメインソケットのみを介して許可されます。ネットワーク上で送信されると、たとえローカルホストであっても、chronyd は Not authorised エラーを返します。
以下の手順では、chronyc を使用して chronyd にリモートでアクセスする方法を説明します。
手順
/etc/chrony.confファイルに以下を追加して、chronyがローカルインターフェイスでリッスンするように設定します。bindcmdaddress 0.0.0.0および
bindcmdaddress ::リモート IP アドレス、ネットワーク、サブネットからのコマンドを許可するために、
/etc/chrony.confファイルに以下の内容を追加します。cmdallow 192.168.1.0/24cmdallow 2001:db8::/64ファイアウォールでポート 323 を開き、リモートシステムからの接続を許可します。
# firewall-cmd --permanent --add-port=323/udpファイアウォール設定を再読み込みします。
# firewall-cmd --reload詳細は、システム上の
chrony.conf(5)man ページを参照してください。
2.6. chrony の同期確認 リンクのコピーリンクがクリップボードにコピーされました!
chrony が同期されているかは、tracking、sources、sourcestats コマンドを使用して確認できます。
手順
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 : Normalchronycの 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引数を指定すると、より詳細な情報を出力できます。この例では、余分なキャプション行は、コラムの意味を説明するものとして表示されます。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 (詳細) の意) を指定できます。この例では、余分なキャプション行は、コラムの意味を説明するものとして表示されます。詳細は、システム上のchronyc(1)man ページを参照してください。
2.7. NTP クライアントの監視 リンクのコピーリンクがクリップボードにコピーされました!
chronyd Network Time Protocol (NTP) サーバーにアクセスしたクライアントのリストを表示します。この情報は、どのクライアントがアクティブに同期しているかを確認し、その接続履歴を確認するのに役立ちます。
前提条件
-
chronydサービスが実行中である。 -
chronydが NTP クライアントを許可するように設定されています。たとえば、/etc/chrony.confにallowディレクティブを追加します。
手順
chronyc clientsコマンドを使用してクライアントのリストを表示します。# chronyc clientsコマンドの出力を確認します。
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 ルックアップを実行していることが原因である可能性があります。
-nオプションを使用すると、ホスト名の解決を無効にして、代わりに IP アドレスを表示できます (# chronyc -n clients)。重要デフォルトでは、
chronydは最大 4,096 台のクライアントを監視します。これより多くのクライアントがある場合は、/etc/chrony.confファイルのclientloglimitを使用すると、メモリー制限を引き上げることができます (例:clientloglimit 10000000)。詳細は、システム上の
chronyc(1)およびchronyd(8)の man ページを参照してください。
第3章 ハードウェアタイムスタンプを備えた chrony リンクのコピーリンクがクリップボードにコピーされました!
一部のネットワークインターフェイスコントローラー (NIC) のハードウェア (HW) タイムスタンプは、着信パケットと発信パケットの正確なタイムスタンプを提供します。NTP タイムスタンプは通常、カーネルにより作成され、システムクロックを使用して chronyd が作成されます。ただし、ハードウェアのタイムスタンプが有効な場合、NIC は独自のクロックを使用して、パケットがリンク層または物理層に出入りするときにタイムスタンプを生成します。ハードウェアスタンプで NTP を使用すると、同期の精度を大幅に向上できます。最高精度を実現するには、NTP サーバーおよび NTP クライアントの両方が、ハードウェアのタイムスタンプを使用している必要があります。理想的な条件下では、サブマイクロ秒単位の精度を実現できるかもしれません。
ハードウェアのタイムスタンプを使用する時間同期の別のプロトコルには、PTP があります。
NTP とは異なり、PTP は、ネットワークスイッチおよびルーターの補助に依存しています。最高の同期精度を実現する場合は、PTP をサポートするスイッチやルーターがあるネットワークでは PTP を使用し、そのようなスイッチやルーターがないネットワークでは NTP を選択してください。
3.1. ハードウェアタイムスタンプのサポートの確認 リンクのコピーリンクがクリップボードにコピーされました!
NTP によるハードウェアタイムスタンプがインターフェイスでサポートされていることを確認するには、ethtool -T コマンドを使用します。ethtool が SOF_TIMESTAMPING_TX_HARDWARE および SOF_TIMESTAMPING_TX_SOFTWARE 機能と HWTSTAMP_FILTER_ALL フィルターモードをリストしている場合、インターフェイスを NTP によるハードウェアタイムスタンプに使用できます。
手順
デバイスのタイムスタンプ機能と、関連する PTP ハードウェアクロックを表示します。
# ethtool -T enp1s0
3.2. ハードウェアのタイムスタンプの有効化 リンクのコピーリンクがクリップボードにコピーされました!
/etc/chrony.conf ファイルの hwtimestamp ディレクティブを使用して、1 つまたは複数のインターフェイスでハードウェアタイムスタンプを有効にできます。ディレクティブは、個別のインターフェイスを指定できますが、ワイルドカード文字を使用して、ハードウェアのタイムスタンプをサポートするすべてのインターフェイスでハードウェアのタイムスタンプを有効にすることもできます。
手順
/etc/chrony.confファイルを編集し、次の変更を加えます。ハードウェアタイムスタンプをサポートするインターフェイスに
hwtimestamp設定を追加します。以下に例を示します。hwtimestamp enp1s0 hwtimestamp eno*ptp4lなどの他のアプリケーションがハードウェアタイムスタンプを使用していない場合は、ワイルドカード * を使用できます。minpollおよびmaxpollオプションをサーバー設定に追加して、短いクライアントポーリング間隔を設定します。次に例を示します。server ntp.example.comlocal minpoll 0 maxpoll 0ハードウェアタイムスタンプの場合、システムクロックのオフセットを最小限に抑えるために、デフォルトの範囲 (64 - 1024 秒) よりも短いポーリング間隔を設定する必要があります。
サーバー設定に
xleaveオプションを追加して、NTP インターリーブモードを有効にします。server ntp.example.comlocal minpoll 0 maxpoll 0 xleaveこの設定では、chrony はパケットを送信した後にのみハードウェア送信タイムスタンプを取得します。この動作により、サーバーが応答するパケット内のタイムスタンプを、サーバーが保存できなくなります。
xleaveオプションを使用すると、chrony は送信後に生成された送信タイムスタンプを受信できます。オプション: サーバーでクライアントのアクセスのロギング用に割り当てられるメモリーの最大サイズを増やします。次に例を示します。
clientloglimit 100000000デフォルトのサーバー設定では、数千のクライアントが同時にインターリーブモードを使用できます。
clientloglimit設定の値を増やすことで、多数のクライアントに対応するサーバーを設定できます。
chronyd サービスを再起動します。
# systemctl restart chronyd
検証
オプション:
/var/log/messagesログファイルでハードウェアタイムサンプリングが有効になっていることを確認します。chronyd[4081]: Enabled HW timestamping on enp1s0 chronyd[4081]: Enabled HW timestamping on eno1chronyd が 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 : 27NTP 測定の安定性を表示します。
# 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 つのインターフェイスを使用し、
PTPを使用してシステムクロックを同期するように、linuxptpパッケージの ptp4l および phc2sys プログラムを設定します。 chronydを設定して、その他のインターフェイスを使用してシステム時間を提供するには、以下を行います。bindaddress 203.0.113.74 hwtimestamp enp1s0 local stratum 1chronydを再起動します。# 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ファイルを編集して次の変更を加えます。 iburstオプションに加えて、ntsオプションを使用してサーバーを指定します。For example: server time.example.com iburst nts server nts.netnod.se iburst nts server ptbtime1.ptb.de iburst ntsシステムの起動中に Network Time Security-Key Establishment (NTS-KE) セッションが繰り返されないように、次の設定を追加します。
ntsdumpdir /var/lib/chrony次の設定をコメントアウトまたは削除して、
DHCPによって提供される Network Time Protocol (NTP) サーバーとの同期を無効にします (設定が存在する場合)。sourcedir /run/chrony-dhcpchronydを再起動します。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 100KeyID、Type、および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] +/- 22msReach列の値はゼロ以外にする必要があります。理想的には 377 です。この値が 377 になることがめったにないか、377 に到達しない場合は、NTP の要求または応答がネットワークで失われていることを示しています。詳細は、システム上の
chrony.conf(5)man ページを参照してください。
4.2. タイムサーバーでの Network Time Security (NTS) の有効化 リンクのコピーリンクがクリップボードにコピーされました!
独自の Network Time Protocol (NTP) サーバーを実行している場合は、サーバーの Network Time Security (NTS) サポートを有効にして、クライアントの同期を容易にし、安全に行うことができます。
NTP サーバーがその他のサーバーのクライアントである (Stratum 1 サーバーではない) 場合は、同期に NTS または対称鍵を使用する必要があります。
前提条件
-
PEM形式のサーバー秘密鍵 -
PEM形式で必要な中間証明書を持つサーバー証明書
手順
/etc/chrony.confファイルを編集し、次の変更を加えます。ntsserverkey /etc/pki/tls/private/<ntp-server.example.net>.key ntsservercert /etc/pki/tls/certs/<ntp-server.example.net>.crt秘密鍵と証明書ファイルの両方に、ファイルの読み取りを 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-
ntsdumpdir /var/lib/chrony設定が存在することを確認します。 Firewalld で必要なポートを開きます。
# firewall-cmd --permanent --add-port={323/udp,4460/tcp} # firewall-cmd --reloadchronydを再起動します。# systemctl restart chronyd
検証
クライアントマシンからテストを実行します。
$ 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 exitingSystem clock wrongメッセージは、NTP サーバーが NTS-KE 接続を受け入れ、NTS で保護されている NTP メッセージで応答していることを示しています。サーバーで監視されている 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: 7NTS-KE connections acceptedおよびAuthenticated NTP packetsの値がゼロ以外の値の場合は、少なくとも 1 台のクライアントが NTS-KE ポートに接続し、認証された NTP リクエストを送信できたことを意味します。