Help us understand the problem. What is going on with this article?

Chrony によるNTP設定(CentOS7.4)

More than 1 year has passed since last update.

ChronyによるNTP設定のメモ

OSバージョン

CentOS Linux release 7.4.1708 (Core)

Chronyとは

CentOS7/RHEL7でntpdの変わりに標準となったNTP機能(サーバ/クライアント両方)
これからNTPを学ぶ方はChronyの方が良いのかなと思われます。

事前確認

# rpm -qa | grep chrony
chrony-3.1-2.el7.centos.x86_64

サービスとしても自動起動が設定されています。

# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 土 2017-12-30 14:40:12 JST; 4min 9s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 797 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 774 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 779 (chronyd)
   CGroup: /system.slice/chronyd.service
           mq779 /usr/sbin/chronyd

12月 30 14:40:11 centos74.localdomain systemd[1]: Starting NTP client/server...
12月 30 14:40:12 centos74.localdomain chronyd[779]: chronyd version 3.1 star...
12月 30 14:40:12 centos74.localdomain chronyd[779]: Frequency 0.047 +/- 0.03...
12月 30 14:40:12 centos74.localdomain systemd[1]: Started NTP client/server.
12月 30 14:40:49 centos74.localdomain chronyd[779]: Forward time jump detected!
12月 30 14:40:54 centos74.localdomain chronyd[779]: Selected source 133.130....
12月 30 14:40:54 centos74.localdomain chronyd[779]: System clock wrong by -2...
12月 30 14:40:28 centos74.localdomain chronyd[779]: System clock was stepped...
12月 30 14:40:28 centos74.localdomain chronyd[779]: Selected source 122.215....
12月 30 14:40:30 centos74.localdomain chronyd[779]: Source 129.250.35.250 re...
Hint: Some lines were ellipsized, use -l to show in full.

設定

設定は非常に簡単です。

(1)定義ファイルのバックアップ

# cp -p /etc/chrony.conf /etc/chrony.conf.org
# diff /etc/chrony.conf /etc/chrony.conf.org
#

(2)定義ファイルの設定を行います。
 NTPサーバの指定としてNICTのNTPサーバを指定してみました。

# vi /etc/chrony.conf

/etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server ntp.nict.jp iburst ★←同期したいNTPサーバを指定してください。

# 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.
#  もし1秒以上のズレがある場合、最初の3回まではslew調整の代わりにstep調整する
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

# Allow NTP client access from local network.
#allow 192.168.0.0/16 ★←NTPクライアントからの接続を制限したい場合はこちらを設定

# Serve time even if not synchronized to a time source.
#local stratum 10 ★←Stratum1を最上位としてローカルがどこのNTPになるかを設定(NTPサーバとする場合は記述)

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

# Specify directory for log files.
logdir /var/log/chrony ★←ログの出力先ディレクトリを指定

# Select which information is logged.
#log measurements statistics tracking ★←取得するログの種類を指定

# デフォルトで入っていなかったオプション
# noclientlog ★←こちらを指定するとクライアントログが取得されない

取得可能なログは下記表の通り。

ログ 説明
measurements 生のNTP測定と関連情報を measurements.log と呼ばれるファイルにログ記録します。
statistics 回帰処理についての情報を statistics.log と呼ばれるファイルにログ記録します。
tracking システムが進むまたは遅れるレートの予測に対する変更、およびなされたスルーを tracking.log と呼ばれるファイルにログ記録します。
rtc システムのリアルタイムクロックについての情報を rtc.log と呼ばれるファイルにログ記録します。
refclocks 生およびフィルター処理された参照クロックの測定を refclocks.log と呼ばれるファイルにログ記録します。
tempcomp 温度測定とシステムレートの補正を tempcomp.log と呼ばれるファイルにログ記録します。

(3)サービスの再起動を行います。

# systemctl restart chronyd

(4)動作確認
同期状態を確認します。

# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-b3.nict.go.jp             1   6   177    26    +66us[ +632us] +/- 4299us

クライアントログについて

クライアントログは、「自ホスト NTPクライアント設定の上位NTPサーバへのアクセス」を記録したものです。
NTPサーバ機能で下位NTPクライアントからのアクセスを記録することはできません。
(他サイトで見てこの部分を混乱していました。)

ハードウェアアプライアンス等々でも「NTPクライアントからのアクセス記録」するのは難しいようです。
(仕様的にそういう想定はしてなさそう)

顧客要求があった場合はNW機器(FW)やOSのFirewall設定で通信記録を取るしかなさそうです。

参考

RHEL公式
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-understanding_chrony_and-its_configuration

gitya107
某メーカに入社して開発系⇒インフラSEとなりました。 2014年から技術者派遣の会社に居ます。そろそろフリーランス or 自社サービス/自社請負かなぁと思う今日この頃
http://www.tech-joy.work/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした