サーバーの時刻同期 NTPサーバーの設定

ntp

NTPとは

ネットワーク上で時間同期するプロトコルのことである。
コンピュータの内部時刻を正しく設定するために、
ネットワーク上の時刻サーバに問いあわせることで時刻を定期的に合わせている。

サーバーの場合は、特に時刻が正確にあっていなければ、
サービスの時刻が実時間と合わないといったことはもちろん、
障害発生の正確な時間がわからない、といったような様々なが不具合が発生するため、
地味だが非常に重要な設定である。

本ページではLinuxで時刻同期を行う方法について確認する。

NTPサーバー

NTPサーバーとは、正しい時刻情報を取得・配信しているサーバーのことです。
各コンピュータでは日本では主に下記のサーバーが存在しますので、こちらを指定することが多いです。

提供組織: 独立行政法人情報通信研究機構(NICT)
ntp.nict.jp
ストラタム1でありながら個人での利用も認めている。

提供組織: インターネットマルチフィード (MFEED)
ntp.jst.mfeed.ad.jp
ストラタム2

提供組織: 国立天文台
s2csntp.miz.nao.ac.jp
ストラタム2

その他のパブリックNTPサーバーの一覧
https://qiita.com/halpas/items/5a451ead0b13f6792595

NTP関連のコマンド

ntpdateコマンドを使って、NTPサーバから正確な時刻を取得できる。
下記のコマンドを実行すると、即時時刻を同期することができる。

ntpdate <ntpサーバー>

また、ntpサーバートの通信のみを確認する場合は下記のオプションを追加することで、
事前に同期が可能かどうか確かめておくことができる。

ntpdate -q  <ntpサーバー>

ntpqコマンドを使えば現在通信しているNTPサーバーの一覧を表示することができる

# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp1.jst.mfeed. 210.173.160.56   2 u   17  256   17   14.353   15.466  10.050
*ntp2.jst.mfeed. 210.173.160.56   2 u   18  256   17   14.389   29.979  11.491
+ntp3.jst.mfeed. 210.173.176.4    2 u   10  256   17   14.024   23.090   6.555

NTPの設定ファイルの修正

/etc/ntp.conf の内容を編集する。以下に例を記載する

特定のサーバーを指定する際の記載方法

server ntp.nict.jp

特定のサーバーを指定する際の記載方法

restrict default ignore(デフォルト全NTP通信を拒否)
restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap notrust
restrict 172.16.36.10 mask 255.255.255.255 nomodify notrap noquery

restrict 210.173.160.27 nomodify notrap noquery
restrict 210.173.160.57 nomodify notrap noquery
restrict 210.173.160.87 nomodify notrap noquery

server 210.173.160.27 # ntp1.jst.mfeed.ad.jp
server 210.173.160.57 # ntp2.jst.mfeed.ad.jp
server 210.173.160.87 # ntp3.jst.mfeed.ad.jp

このあと、ntpdを再起動してconfファイルを読み込む

# /etc/init.d/ntpd start

NTP設定時のコツ

基本的には複数のNTPサーバーを設定しておくと良いです。
会社などの場合は、社内のNTPサーバーがあるはずなので確認してみよう。

stepモードとslewモード

stepモードとは、時刻同期を即時実行するモードのことである。
slewモードとは、とてもゆっくりと徐々に(1秒間に最大0.0005秒)時間をあわせるモードである。
※デフォルトではstepモード
ちなみに、一般的にはslewモードで同期をすることが推奨される。

参考にさせていただいたページ

ntp.confの設定方法
https://qiita.com/tmatsumot/items/1587a710006a0417abbb
https://gentoo.reichsarchiv.jp/item/30

ntpdateコマンド
https://webkaru.net/linux/ntpdate-command/

CentOS7の人はChronyなので注意!!

今回の記事ではntp.confやntpdateコマンドを使いましたが、
CentOS7以降はサービスがchronyというものに変わっていますのでご注意ください。

コメント