RHEL9でNTPサーバを構築

Linux
スポンサーリンク
スポンサーリンク

はじめに

RHEL9でNTPサーバを構築する方法を載せておきます。

設定ファイルの解説も併せて行います。

chronyのインストール

chnoryをインストールします。

dnf install chrony

chrony.confの確認

ここで、設定ファイルの確認と解説を行います。

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
pool 2.rhel.pool.ntp.org iburst ※デフォルト。大抵コメントアウトする。
server [NTPサーバーのIP or FQDN] iburst ※任意のNTPサーバを指定。

# Use NTP servers from DHCP.
sourcedir /run/chrony-dhcp

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync ※ハードウェアクロックの時刻同期を有効化します。無効にするメリットがないのでデフォルトのまま。

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2 ※時刻同期に最低限必要な、候補となるNTPサーバの数を指定

# Allow NTP client access from local network.
#allow 192.168.0.0/16 ※NTPサーバとして動作させる場合、NTPサーバにアクセス可能なセグメントやIPアドレスを指定。複数行設定可能。

# Serve time even if not synchronized to a time source.
#local stratum 10 ※NTPサーバとして動作させる場合、上位のNTPサーバと時刻同期できていない場合でも自分自身を、ここで指定したstratumで時刻同期をクライアントに提供することが可能。

# Require authentication (nts or key option) for all NTP sources.
#authselectmode require

# Specify file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Save NTS keys and cookies.
ntsdumpdir /var/lib/chrony

# Insert/delete leap seconds by slewing instead of stepping.
#leapsecmode slew

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

設定ファイルの修正

設定ファイルの修正を行います。先ほど水色で塗った箇所を適宜修正してください。

vi /etc/chrony.conf

chronyの有効化

次のコマンドでchroryを有効化しておきます。

systemctl is-enabled chronyd
systemctl enable chronyd

chronyの再起動

設定を反映させるためにchronyを再起動します。

systemctl restart chronyd

chronyの状態確認

ステータスを確認します。Active: active (running)となっていれば問題ありません。

systemctl status chronyd

NTPの許可

NTPサーバとして動作させている場合はNTPを許可する必要があります。

RHEL9ではiptablesではなくfirewalldを採用しています。

firewall-cmd --state
systemctl start firewalld
firewall-cmd --list-all | grep services
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
firewall-cmd --list-all | grep services

NTPサーバとの疎通確認

NTPクライアント側にて次のコマンドを投入します。

[root@RHEL9 ~]# chronyc tracking
Reference ID : 8582798D (mail1.marinecat.net)
Stratum : 3
Ref time (UTC) : Mon Sep 16 12:17:48 2024
System time : 0.000010081 seconds slow of NTP time
Last offset : +0.000194532 seconds
RMS offset : 0.000183744 seconds
Frequency : 2.182 ppm slow
Residual freq : -0.003 ppm
Skew : 0.214 ppm
Root delay : 0.018152466 seconds
Root dispersion : 0.002154808 seconds
Update interval : 1044.3 seconds
Leap status : Normal

また、次のコマンドで同期先のNTPサーバの候補、アクティブなNTPサーバがわかります。

[root@RHEL9 ~]# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- v163-44-97-196.rm2n.stat> 2 10 377 803 -582us[ -582us] +/- 25ms
^+ sv1.localdomain1.com 2 10 377 29 +667us[ +667us] +/- 22ms
^+ v4.cloud.ntp.admtan.jp 2 10 377 1038 -96us[ +101us] +/- 20ms
^* mail1.marinecat.net 2 10 377 835 +874us[+1068us] +/- 9504us

※ * が付いているものが現在の同期先のNTPサーバ

参考

5分でできる!NTP(chrony)の設定方法【CentOS7】
NTPサーバ / クライアントのchronyを、インストール~設定~動作確認する方法を解説しています。簡潔かつ初心者にも分かりやすくまとめています。
NTPサーバーの構築手順 - Qiita
はじめに職場で社内用の各種サーバーの管理を任されることになったので、まずは簡単そうなものから構築できるようになろうと考え、第一弾としてChronyを使ったNTPサーバーを立ててみました。この記事…
【CentOS8】chronyの仕様や設定~[chrony.conf] や[chronyc sources] 表示結果の見方~
Linuxのクロックの取り扱い Linux は Windows とは異なり、システムクロックとハードウェアクロックを分離して管理しています。 ハードウェアクロックは『マザーボードに存在する、電源OFFにしても動き続けるもの』 一方、システム

↑深く理解したい場合はおすすめ。

コメント