NTPサーバ(chrony)の構築

目次
今回はNTPサーバを構築していきます。

NTPサーバは時刻同期を行うためのサーバとなります。

システム間で連携を行う上でシステム間で同じ時刻で同期していることは重要なものとなります。

NTPサーバはLinuxサーバで容易に作成が可能となりますので、是非参考にしてください。

作業環境

導入サーバとしてAmazon Linux2023を用意してログインできるようにしておいてください。

また、導入対象のサーバはインターネットアクセスが可能である必要があります。

対象サーバに直接グローバルIPを設定しても良いですし、NATを経由したアクセスでも構いません。

設計要素

設計項目 手順No 内容
NTPサーバの同期先 構築手順② 時刻同期先とする外部のNTPサーバを選定する必要があります。
公開されている一般的なNTPサーバは「時刻同期の仕組み」で紹介しています。
迷う場合は参考にしてみてください。

構築手順

①NTPサーバとして使用するchronyが導入されているか確認します。
# rpm -qa | grep chrony
chronyインストール確認

②chronyの設定ファイルを編集します。
# vi /etc/chrony.conf
chrony設定変更

変更する内容を赤太字で表記します。

# Use NTP servers from DHCP.
# sourcedir /run/chrony.d

# Include configuration found in /etc/chrony.d/*.conf
#confdir /etc/chrony.d

# Use NTP sources found in /etc/chrony.d/*.sources
#sourcedir /etc/chrony.d

server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst

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

allow <NTPクライアントのIPレンジ>

③chronyサービスを再起動して、設定ファイルを読み込ませます。
# systemctl status chronyd
# restart chronyd
# systemctl status chronyd
chronyサービス再起動

④時刻同期の状態を確認します。
# chronyc sources -v
# chronyc tracking
chrony状態確認

以上でNTP(chrony)の設定作業は完了です!

動作テスト

続いて設定したNTP(chrony)サーバの動作を確認してみましょう。

①クライアント側でもchronyを使っているので、同期先を構築したNTPサーバに向けておきます。
chronyクライアントの向き先設定

②わざと時間を5分遅らせて、そこから時刻同期させて直るかで確かめてみます。
# date
# date -s "+5 minutes"
# systemctl restart chronyd
# date
# chronyc makestep
# date
時刻同期確認

③クライアント側で時刻が修正されNTPサーバとの同期が確認出来たら、NTPサーバ側でもクライアントから接続にきていることを確認してみます。
# chronyc clients
chronyクライアント確認

NTPクライアント側で時刻同期の確認とNTP(chrony)サーバ側でもクライアントが同期にきていることを確認できました。

これでNTP(chrony)サーバの動作確認も完了です。

まとめ

今回はNTPサーバの構築手順を紹介しました。

Amazon Linux2023やRedHat Enterprise Linuxでは標準で導入されているchronyによりNTPサーバを実装しています。

標準導入ということもあり、簡単にNTPサーバを作ることができます。

システムにおいてはサーバ間で同じ時刻を参照していることが重要となります。

NTPの仕組みを理解して、NTPサーバを構築できるようにしておきましょう。