🖥️ Chrony 時間同步
高精度 NTP 時間同步(ntpd 現代替代)
Chrony 是現代 Linux 發行版的 NTP 實作,比傳統 ntpd 收斂更快、精度更高,特別適合虛擬機與網路不穩定的環境,Ubuntu 20.04+ 預設已採用。
安裝
$ sudo apt update && sudo apt install -y chrony
sudo systemctl enable --now chronyUbuntu 22.04+ 已預裝 chrony,通常不需要另外安裝。
設定(/etc/chrony/chrony.conf)
# NTP 上游伺服器(台灣 NTP 伺服器)
server time.stdtime.gov.tw iburst
server tock.stdtime.gov.tw iburst
server tick.stdtime.gov.tw iburst
# 備用:NTP Pool 亞洲區
pool asia.pool.ntp.org iburst
# 允許時間差超過 1 秒時立即調整(而非慢慢漂移)
makestep 1.0 3
# 時鐘漂移記錄檔
driftfile /var/lib/chrony/drift
# 記錄詳細統計
logdir /var/log/chrony$ sudo systemctl restart chrony驗證同步狀態
$ chronyc trackingReference ID : 123.45.67.89 (time.stdtime.gov.tw)
Stratum : 2
Ref time (UTC) : Tue May 20 02:30:00 2026
System time : 0.000012345 seconds slow of NTP time
RMS offset : 0.000154321 seconds
Frequency : -2.345 ppm slow
Residual freq : -0.001 ppm
Skew : 0.123 ppm
Root delay : 0.005678901 seconds
$ chronyc sources -v # 查看上游伺服器狀態(* = 目前使用的)MS Name/IP address Stratum Poll Reach LastRx Last sample
========================================================
^* time.stdtime.gov.tw 1 10 377 523 -0.5ms[+0.2ms] +/- 5ms
^+ tock.stdtime.gov.tw 1 10 377 523 +0.3ms[+0.1ms] +/- 6ms
作為內網 NTP 伺服器
若要讓 chrony 為內網其他機器提供時間同步服務:
# 在 chrony.conf 加入
allow 192.168.1.0/24 # 允許此子網段的客戶端連線$ sudo systemctl restart chrony
sudo ufw allow 123/udp # 開放 NTP port客戶端設定(/etc/chrony/chrony.conf):
server 192.168.1.10 iburst # 指向內網 NTP 伺服器常用指令
| 操作 | 指令 |
|---|---|
| 查看同步狀態 | chronyc tracking |
| 查看上游伺服器 | chronyc sources -v |
| 查看統計資訊 | chronyc sourcestats |
| 強制立即同步 | sudo chronyc makestep |
| 查看日誌 | sudo journalctl -u chrony |
| 確認時間設定 | timedatectl status |