【CentOS8】NTP(chrony)の設定方法

Chrony
CentOS8はntpdからchronyに変更されている。何が変わったの?違いは何だろう!

この疑問に回答します。

CentOS7は、時刻同期サービスはNtpdがデフォルトで動作していました。

CentOS7でもChronyのパッケージは導入されていたので手動で変更することが可能でしたが、CentOS8はNtpdが廃止されてChronyのみがサポートされました。

Chronyとは?

chronyは、Network Time Protocol(NTP)を提供しているサービスの一つです。ntpdは古い仕組みなので、現在の用途に適応し効率的に時刻同期を提供します。

現在の用途に対応したものの一覧です

  • ネットワークの頻繁に切断される
  • 混雑したネットワーク
  • 温度変化が大きい(一般的なコンピューターの時間は温度の影響を受けやすい)
  • 連続して実行されないコンピューター
  • 仮想マシンで実行されるシステム
  • セキュリティ機能
  • 同期の精度向上
  • ダイヤルアップ接続に対するサポート
  • 自動的にNTPサーバーを見つける

などで幅広い条件で適切に機能するように設計されています。

NTPDとChronyの違いは?

時刻同期ができれば事が足りるので、仕様の違いは何となく知っていれば大丈夫です。

サービス名NTPDChrony
バージョンNTP Version 3(RFC 1305)NTP Version 4(RFC 5905)
ハードウェア クロック同期が不可同期が可能
利用ポート固定(123/udp)可変(デフォルト:123/udp)

NTP Ver.4は、Ver.3の改善版で完全に互換性があります。

Chronyの設定

chronyの設定ファイル は「/etc/chrony.conf」です。

chrony.confは、ntpdの設定ファイル 「ntp.conf」 とほぼ同じです。

サーバーの時刻同期を目的にしているのであれば、設定を変更する必要はありません。サービスさえ起動しておけば時刻同期が勝手に実施してくれます。

NTPサーバーとして設定

時刻同期対象サーバーを指定します。

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#pool 2
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
server 3.jp.pool.ntp.org iburst

外部へのアクセスが不可な場合や、社内にNTPサーバーがある場合は変更します。デフォルトで問題ないです。

アクセス許可するNTPクライアントのIPアドレスを指定します。

# Allow NTP client access from local network.
allow 192.168.0.0/16

NTPサーバーをして動作させないのであれば設定する必要はありません。

Chrony 関連コマンド

接続状態を確認するコマンド:chronyc sources

ntpdの「ntpq -p」コマンドと同じ意味で利用するコマンドです。

時刻同期が動作していることが確認できます。

# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^+ ipv4.ntp2.rbauman.com         2  10   377   244    -39us[  -56us] +/- 2358us
^- time.cloudflare.com           3  10   377    68  +6023us[+6023us] +/-   61ms
^- y.ns.gin.ntt.net              2   6   377    59  -4739us[-4739us] +/-  100ms
^* mx.execve.net                 2   7   377   127    +31us[  +13us] +/- 1263us

コマンドの結果が表示される先頭の記号(^,*,+,-)が状態を表します。

「^」がNTPサーバーを意味しています。

先頭の記号意味
^+NTPサーバーの同期候補
^-NTPサーバーの同期候補外
^*現在、同期しているNTPサーバー

 

トラッキングを確認するコマンド:chronyc tracking

「chronyc sources」は接続先の状態を示すのに対して「chronyc tracking」は、Chronyが動作しているサーバーの状態を確認することができます。

# chronyc tracking
Reference ID    : 2D4C6F95 (mx.execve.net)
Stratum         : 3
Ref time (UTC)  : Wed Jun 03 03:57:14 2020
System time     : 0.000000144 seconds slow of NTP time
Last offset     : +0.000008267 seconds
RMS offset      : 0.000024920 seconds
Frequency       : 31.560 ppm slow
Residual freq   : +0.000 ppm
Skew            : 0.014 ppm
Root delay      : 0.001982081 seconds
Root dispersion : 0.000339276 seconds
Update interval : 128.7 seconds
Leap status     : Normal

手動による時刻同期コマンド:chronyc -a makestep

# chronyc -a makestep
200 OK

ハードウェアクロックとシステムクロックの同期コマンド:chronyc -a trimrtc

# chronyc -a trimrtc
200 OK

 

 

 

以上、「【CentOS8】NTP(chrony)の設定方法」という記事でした。