正確な時刻管理は、ネットワークベースのコンピュータ間で信頼性の高い通信を行うために必要な、最も重要な構成の一つです。また、systemd timer や cronjobs などのシステムコンポーネントが正しい時刻に稼働するようにするためにも必要です。ネットワーク・タイム・プロトコル (NTP) を利用するとアップストリーム・タイム・サーバーやサーバープールと時刻を同期し、正確な時刻を維持できます。

Red Hat Enterprise Linux (RHEL) では、chrony パッケージに含まれる chronyd デーモンがデフォルトの NTP クライアントとなっています。chronyd デーモンをサーバーとして構成して、内部ネットワークのコンピュータシステムに正確な時刻を提供することもできます。

この記事では、ネットワークデバイスにこれらの設定を実装できるように、両方の構成について説明します。

chrony を NTP クライアントとして構成する

RHEL をインストールすると、chronyd サービスにデフォルト設定が構成されます。これらの設定の一つは、タイムソースとして NTP.org プールを利用します。これは信頼できるタイムソースであり、ほとんどのホームユーザーはこの設定でまったく問題ないでしょう。しかし、セキュリティのベストプラクティスに従うエンタープライズ環境では外部への NTP 通信が制限されていることが多いため、内部に NTP のタイムソースが必要になります。

chronyd デーモンで内部または別の NTP ソースを利用するように構成するには、/etc/chrony.conf ファイルを編集する必要があります。このファイルでは、3 つのタイムソース設定のいずれかを構成します。chrony でタイムソースを設定するために最もよく使われるのは、serverpool の 2 つです。server ディレクティブを使用すると、タイムソースとして単一の NTP サーバーを指定できます。pool ディレクティブは server ディレクティブに似ていますが、単一の NTP タイムソースではなく NTP サーバーのプールを指定できます。プール名は複数のアドレスとして解決されます。これらのアドレスは時間の経過とともに変化する場合があります。

以下は chronyd クライアントが ntp.lab.int という NTP サーバーと同期するためのデフォルト設定の例です。この設定では、iburst を使用することで、chronyd が時計の最初のアップデートをより迅速に行えるようにしています。

server ntp.lab.int iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony

[ e ブック:成功するための Linux 環境管理をダウンロードして、作業を効率化する方法を学びましょう ]

構成変更を適用した後、chronyd サービスを再起動し、稼働していることを確認します。そして、NTP ソースをチェックし、システムクロックがアップストリーム・タイム・サーバーに正しく同期していることを確認します。

$ sudo systemctl restart chronyd.service

$ systemctl is-active chronyd.service
active

$ chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 192.168.50.13                 4   6    17    22    +28us[  +26us] +/-   27ms

$ timedatectl
               Local time: Wed 2022-05-18 12:47:41 EDT
           Universal time: Wed 2022-05-18 16:47:41 UTC
                 RTC time: Wed 2022-05-18 16:47:42
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

chrony を NTP サーバーとして構成する

chrony パッケージの優れた機能の一つは、基準とするタイムサーバーを簡単に構成できることです。最初のステップは、前のセクションで示したように、そのサーバー自身のタイムソースを構成することです。タイムソースを構成したら、chrony.conf ファイルで allow ディレクティブを構成する必要があります。allow ディレクティブは、NTP クライアントが NTP サーバーにアクセスできるサブネットを指定します。デフォルトでは、どのクライアントもアクセスを許可されておらず、chronyd は純粋に NTP クライアントとして動作します。したがって、chronyd を NTP サーバーとして動作させるには、このディレクティブを有効にする必要があります。allow ディレクティブの詳細は、chrony.conf のマニュアルページを参照してください。

[ アップグレードの準備はできましたか? Red Hat Developer プログラムから RHEL 9 を無料でダウンロードしましょう​​ ]

以下の例では、192.168.0.0/24 サブネットからの接続を受け入れるように allow ディレクティブを構成しています。

server ntp.lab.int iburst
allow 192.168.0.0/24
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony

タイムソースを構成し、allow ディレクティブを追加し、chronyd サービスを再起動したら、NTP サービスを許可するように firewalld を構成する必要があります。

$ sudo firewall-cmd --add-service=ntp --permanent

$ sudo firewall-cmd --reload

最後に、最初のセクションで示したように、NTP クライアントを構成します。

まとめ

この記事では chrony を NTP クライアントとして構成し、サーバーまたはプールベースのタイムソースを利用するようにサーバーを構成する方法を説明しました。また、ネットワーク内の NTP クライアントに正確な時刻を提供するために、chrony を信頼できるタイムサーバーとして構成する方法も説明しています。


執筆者紹介

Morgan Peterman is a Senior Partner Technical Account Manager for Red Hat OpenShift. He is a Red Hat Certified Engineer (RHCE) and a Red Hat Certified Specialist in OpenShift. Before joining Red Hat, Morgan spent 15 years as a Linux Engineer and Systems Administrator, deploying a wide variety of technologies and delivering cost-cutting IT solutions within the healthcare and travel industries.

UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Virtualization icon

仮想化

オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください