Linux サーバーの運用において、時刻同期 は非常に重要です。
認証やログ、分散システムの整合性に大きな影響を与えるため、時刻がずれていると様々なトラブルが発生します。
本記事では、ntpd / chronyd が同期できない場合の原因と修正方法 を、確認手順・正常/異常例つきで整理します。
目次
1. 現状の時刻同期状態を確認する
ntpd の場合
ntpq -p
正常例
remote refid st t when poll reach delay offset jitter
*ntp.nict.jp .NICT. 1 u 42 64 377 12.345 -0.123 0.456
*
が付いているサーバーが同期先reach
が 377 になっている → パケット疎通良好
異常例
remote refid st t when poll reach delay offset jitter
ntp.nict.jp .INIT. 16 u - 64 0 0.000 0.000 0.000
*
が付いていない → 同期先が選ばれていないreach
が 0 → サーバーに到達できていない
chronyd の場合
chronyc sources -v
正常例
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
^* ntp.nict.jp 1 10 377 42 -12us[ -34us] +/- 12ms
^*
が付いているサーバーが同期先
異常例
MS Name/IP address Stratum Poll Reach LastRx Last sample
^? ntp.nict.jp 0 10 0 - +0ns[ +0ns] +/- 0ns
^?
→ サーバーに接続できていない
2. 主な原因と解決方法
(1) NTP サーバーに接続できない(ネットワーク問題)
確認
ping ntp.nict.jp
telnet ntp.nict.jp 123
ping
が通らない場合 → ネットワーク/DNS の問題telnet
でポート 123 が閉じている場合 → ファイアウォールや ACL
解決方法
/etc/firewalld/zones/public.xml
などで UDP/123 を許可
sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload
(2) NTP サービス自体が動作していない
確認
systemctl status ntpd
systemctl status chronyd
解決方法
- ntpd
sudo systemctl enable ntpd
sudo systemctl start ntpd
- chronyd
sudo systemctl enable chronyd
sudo systemctl start chronyd
(3) 設定ファイルに誤りがある
- ntpd →
/etc/ntp.conf
- chronyd →
/etc/chrony.conf
確認例
grep "^server" /etc/ntp.conf
正常例
server ntp.nict.jp iburst
よくある誤り
server
の記述がない- 内部 DNS 名を使っていて解決できない
解決方法
- 公開 NTP サーバーを設定
server ntp.nict.jp iburst
- DNS 解決が不安定なら IP アドレス直指定
(4) 仮想環境特有の問題(VMware/Hyper-V)
仮想環境では、ホスト側の時刻同期機能 が干渉してずれることがあります。
対処法
- VMware Tools / Hyper-V Integration Services の時刻同期をオフにする
- NTP/Chrony による同期に一本化する
(5) システムクロックが大きくずれている
時刻が数分〜数時間以上ずれていると、ntpd/chronyd が徐々に補正できずに失敗します。
確認
date
解決方法(強制同期)
- ntpd
sudo ntpd -gq
sudo systemctl restart ntpd
- chronyd
sudo chronyc -a makestep
3. 実運用での推奨設定
- 複数の公開 NTP サーバーを設定(冗長化のため)
iburst
オプションで起動時同期を高速化- chrony の場合は
makestep
を利用して大きな時刻差を補正
例:/etc/chrony.conf
server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
makestep 1.0 3
まとめ:原因と対処の対応表
症状 | 主な原因 | 確認方法 | 解決方法 |
---|---|---|---|
同期先が選ばれない | ネットワーク疎通不可 | ping , telnet host 123 | FW/ACL で UDP/123 を許可 |
サービスが動作していない | ntpd/chronyd が停止 | systemctl status ntpd | systemctl start で起動 |
設定ファイル誤り | /etc/ntp.conf に server 記述なし | grep server | 公開 NTP サーバーを正しく設定 |
時刻が大幅にずれている | システムクロックの乖離 | date | ntpd -gq または chronyc makestep |
仮想環境でずれる | ホストの時刻同期が干渉 | VMware/Hyper-V 設定 | ゲスト側のみで同期 |
あわせて読みたい


cron ジョブが実行されないがログに出ないときの調査手順
Linux サーバーで定期的な処理を自動化するために利用される cron。しかし「設定したジョブが動かない」「ログに何も出ていない」という状況に直面することがあります。…
あわせて読みたい


cron が動かない/実行されないときのチェックリスト
Linux の自動化でよく使われる cron。「手動でコマンドを打つと動くのに、cron に設定すると動かない…」という経験をした方は多いと思います。 本記事では、cron ジョブ…
あわせて読みたい


LinuxのCronジョブを使ったタスク自動化:crontabの基本と使い方
Cronジョブとは? Cronジョブとは、Linuxで定期的にタスク(ジョブ)を自動的に実行する仕組みのことです。システム管理者やユーザーがスクリプトやコマンドを一定の間…