【CentOS8】Chronyを使ってローカル環境のNTPサーバーを構築する

どうも、Tです。

検証環境でローカルで動作するNTPサーバー(外部のNTPサーバーと同期しない。自分のシステムクロックを用いてStratum1になる)が必要になったので備忘録。

これは、外部NTPサーバーと同期するような設定ではありません。検証目的のNTPサーバーのためご注意ください。
スポンサーリンク
アドセンス1

やりたいこと

Stratum1(階層)として動作するローカルネットワーク(閉鎖ネットワーク)用の検証用NTPサーバーが欲しい。

なぜかというと1年後、2年後という未来の時刻の際にどのような動作になるか検証を行う必要があるという稀な状況のため・・・・。

Stratum0では?

Stratumの階層的にトップ階層はStratum0ですが、こちは原子時計などになります。

TCP/IP - NTPとは
NTPについて詳細に解説します。

通常ネットワークでNTP同期をするための公開されているNTPサーバは、Stratum1もしくは2になります。

環境

  • NTPサーバーOS:CentOS Linux release 8.2.2004 (Core)
  • NTPサービス:chrony-3.5-1

事前準備

下記は、事前にできているとして説明しません。

  • Firewalld無効化
  • SELinux無効化
  • 操作はrootで実施
  • 動作確認のクライアント側の設定済み

方法

Chronyインストール・設定

下記のコマンドでchronyをインストールします。

# dnf -y install chrony

chronyの設定ファイルを開きます。

# vi /etc/chrony.conf

下記を設定変更します。デフォルトで2.centos.pool.ntp.orgと時刻同期を行う設定になっているためコメントアウトしてどこのNTPサーバーも時刻同期を行わないようにします。poolが複数ある場合はすべてコメントアウトします。

pool 2.centos.pool.ntp.org iburst
↓
#pool 2.centos.pool.ntp.org iburst

下記を設定変更します。NTPクライアントから時刻同期の許可するネットワークアドレスを記述します。自分の環境のものを設定してください。192.168.10.0/24は僕の環境です。

#allow 192.168.0.0/16
↓
allow 192.168.10.0/24

下記を設定変更します。今作っているNTPサーバー自身が外部のNTPを同期がとれない場合、stratumをいくつで動作するか(クライアントに通知するか)の設定です。

#local stratum 10
↓
local stratum 1

Chrony起動設定・確認

chronydサービスのstart(起動)とenable(自動起動)設定を行います。すでにstartしていた場合は、restartとして設定ファイルを読み込ませてください。

# systemctl start chronyd
# systemctl enable chronyd

chronydの起動状態がactive(runnning)で動作していることを確認します。

# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-08-14 09:50:10 JST; 6min ago

--以下割愛--

時刻同期先を確認します。設定していれば下記のようにどことも時刻同期していない状態です。

# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===================================================

時刻とサービス状態を確認します。System clockはどことも同期されていない状態で、NTP serviceは稼働状態です。

# timedatectl
Local time: 金 2020-08-14 09:50:12 JST
Universal time: 金 2020-08-14 00:50:12 UTC
RTC time: 金 2020-08-14 00:50:59
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: no
NTP service: active
RTC in local TZ: no

動作確認

NTPサーバーの時刻を未来時間に設定します。

# timedatectl set-ntp no
# timedatectl set-time "2020-08-14 10:40:00"
# timedatectl set-ntp yes

timedatectl set-ntp noでNTP同期を無効にしないと下記のように失敗します。

NTP同期無効→未来時間に設定→NTP同期有効の手順を踏んでください。

# timedatectl set-time “2020-08-14 10:40:00”
Failed to set time: NTP unit is active

NTPクライアントから同期状態を確認し未来時間に同期を行えることを確認します。

参考

NTPに変わるChronyって何が変わったの? - @legitwhiz
【CentOS7】chronydで時刻同期
「CentOS7」からNTPのサーバが、「ntpd」から「chronyd」へと変更となりましたので、その設定方法を説明していきます。ちなみに、NTPクライアントの機能は「chronyc」コマンドとなっています。chronydの設定「chro
NTPサーバー構築(chrony) - CentOSで自宅サーバー構築
NTPサーバー構築(chrony)
CentOS 8 インストールと設定 : Server World
第6章 Chrony スイートを使用した NTP の設定 Red Hat Enterprise Linux 8 | Red Hat Customer Portal
The Red Hat Customer Portal delivers the knowledge, expertise, and guidance available through your Red Hat subscription.

まとめ

はぁ・・・検証しよ・・・・

スポンサーリンク
アドセンス1
アドセンス1
ブログランキング・にほんブログ村へ

シェアする

フォローする