【CentOS8】非インターネット環境でNTP時刻同期を行う(chrony)
はじめに
非インターネット環境でOracleRACの評価を行うことになりました。OracleRACはインストール時にchronyの設定が適切にされているか、厳密にチェックします。また、上位となるNTPサーバが信頼できる時刻が提供できることを要求されます。
非インターネットの環境なので、インターネット上のNTPサーバは参照できないため、自前で信頼できる時刻が提供できるNTPサーバを構築する必要があります。
本記事ではNTPサーバを構築し、信頼できる時刻が提供できるNTPサーバをchronyを使って構築します。
構成
こんな感じの構成で構築していきます。
サーバ | ホスト名 | IPアドレス |
---|---|---|
NTPサーバ | server | 192.168.200.100 |
NTPクライアント | client1 | 192.168.200.101 |
構築
CentOS8ではchronyは既にインストールされています。
ファイアウォールは無効もしくは必要な通信を許可して下さい。
NTPサーバの構築
「/etc/chrony.conf」を次の様に編集します。
「local stratum 10」が、外部のサーバに時刻同期できなくても、時刻が信頼できるものとして扱うようになります。
# 上位サーバは指定しない
driftfile /var/lib/chrony/drift
# 許可するネットワークアドレスを記載
allow 192.168.100.0/24
# この指定で信頼できる時刻同期サーバとなる
local stratum 10
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
chronyを再起動しておきます。
sudo systemctl restart chronyd
NTPクライアントの構築
「/etc/chrony.conf」を次の様に編集します。
# NTPサーバを指定します
server 192.168.100.100 iburst
driftfile /var/lib/chrony/drift
# SLEWモードに設定しました。この辺はお好みで。
#makestep 1.0 3
leapsecmode slew
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
chronyを再起動しておきます。
sudo systemctl restart chronyd
時刻同期の確認
NTPサーバでクライアント情報を確認します。
$ sudo chronyc -a clients
Hostname NTP Drop Int IntL Last Cmd Drop Int Last
===============================================================================
server 0 0 - - - 5 0 11 51
192.168.100.101 69 0 10 - 627 0 0 - -
NTPクライアントで上位NTPサーバとの同期情報を確認します。
$ chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.100.100 10 6 37 62 -204ns[ +50us] +/- 256us
参照先NTPサーバの行先頭で「^*」が表示されれば構築完了です。
記号の意味は、
・「^」…リモートNTPサーバ
・「*」…ソースとして時刻同期しているNTPサーバ
最後に
本来ならGPS等を使って正確な時刻を提供できるようにすべきです。
しかし、評価等の目的であれば、一台のPCの時刻を信頼できる時刻としてNTPサーバを立てれば事足ります。
非インターネット上でNTPを独立させる事がありましたら、本記事が参照になれば幸いです。
ディスカッション
コメント一覧
まだ、コメントがありません