Linuxでの時刻同期方法とNTPサーバの作り方

CentOS7 では何も設定しなくても時刻同期は行われる

サーバにおいて時刻同期というものは大切な要素です。では、Linux ではどうやって時刻同期の設定を行うのでしょう。まずは下図を見てほしいのですが、下図ではNICTの日本標準時とCentOS7の「date」コマンド、「hwclock」コマンドの時刻を比較しています。

hwclockは文字通りハードウェアクロックで、NICTと5分ずれています。しかしシステムクロックを表示する「date」コマンドの結果はNICTと一致していますね。ちなみにこれはインストール直後の状態です。

つまり、CentOSにおいて、ユーザが特に設定をする必要なく時刻はNTPサーバと同期するようになっているんですね。

CentOS7 では ntpd ではなく chronyd が標準

では実際に時刻同期を行っているサービスを特定してみましょう。まず思い浮かぶのは「ntpd」ですが、実は CentOS7 では chronyd が標準の時刻同期サービスです。

インストール直後、ntpd はないが chronyd はある。

chronyd でよく使用する確認コマンドは以下の2つです。

chronyc sources //設定されているNTPサーバの一覧を表示する

chronyc tracking //時刻同期の詳細を表示する

“chronyc sources” と “chronyc tracking” を実行するとこんな感じ

chronyd の設定を変更する

chronyd で指定するNTPサーバを変更してみましょう。以下のファイルを編集します。

/etc/chrony.conf //chronyd の設定ファイル

例えば下図はデフォルトのNTPサーバをコメントアウトし、NTPサーバとして「ntp.nict.jp」を指定しています。

NTP サーバにする

Linux を NTP サーバにしたい場合、まずは以下のコマンドを実行してTime Zone が「Asia/Tokyo」であることを確認しましょう。

timedatectl status //NTPの状態を確認する

もし異なっていた場合は時刻同期で不都合が発生するみたいです。

確認後、再度「/etc/chrony.conf」に以下の行を追加します。

allow 時刻同期を許可するクライアントネットワークアドレス

追加後設定ファイルをリロードし、ファイアウォールに穴あけをするだけです。

下図から実際にクライアントから接続できるようになっていることが確認できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)