要配置chrony實現網絡時間同步,首先安裝chrony服務,在debian/ubuntu執行sudo apt update && sudo apt install chrony,centos/rhel使用sudo yum install chrony或sudo dnf install chrony;安裝后確認chronyd狀態并啟動、啟用服務;接著修改/etc/chrony.conf文件,將server行替換為可信時間服務器如ntp.aliyun.com等,并添加優化選項如keyfile、driftfile、rtcsync、makestep和logdir;保存后重啟chronyd服務;最后通過chronyc sources -v查看對等節點狀態,chronyc tracking檢查同步情況,必要時用chronyc makestep強制同步;此外需確保udp 123端口出站開放,局域網可設內部時間服務器,虛擬機環境注意宿主機時間同步影響。
在linux系統中,保持時間準確非常重要,尤其是在服務器環境中。chrony 是一個比 ntp 更輕量、更靈活的時間同步服務,適合各種網絡環境使用。下面介紹如何配置 chrony 來實現網絡時間同步。
安裝 chrony 服務
大多數主流 Linux 發行版默認已經安裝了 chrony,如果沒有,可以通過包管理器手動安裝:
-
Debian/Ubuntu:
sudo apt update && sudo apt install chrony
-
centos/RHEL:
sudo yum install chrony # 或者使用 dnf(適用于較新版本) sudo dnf install chrony
安裝完成后,chrony 通常會自動啟動并設置為開機自啟??梢杂靡韵旅畲_認狀態:
sudo systemctl status chronyd
如果沒運行,就啟動它并設為開機啟動:
sudo systemctl start chronyd sudo systemctl enable chronyd
配置 chrony 時間源
chrony 的主配置文件是 /etc/chrony.conf,我們主要就是修改這個文件來指定時間服務器和一些行為參數。
打開配置文件后,找到 server 行,默認可能有類似這樣的內容:
server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst
你可以將這些替換成你信任的時間服務器,比如國內常用的 NTP 源:
server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server time1.cloud.tencent.com iburst
iburst 參數表示在初次連接時快速同步時間,建議保留。
還可以添加一些通用優化選項:
keyfile /etc/chrony.keys driftfile /var/lib/chrony/drift rtcsync makestep 1.0 3 logdir /var/log/chrony
保存退出后,重啟 chrony 生效:
sudo systemctl restart chronyd
查看與驗證同步狀態
配置完成后,我們可以用幾個常用命令來檢查當前時間同步情況:
-
查看對等節點狀態:
chronyc sources -v
看輸出中的 ^* 標記,代表當前正在使用的主時間源。
-
查看時間偏差和同步狀態:
chronyc tracking
-
如果發現時間差得太多,可以強制同步一次:
sudo chronyc makestep
正常情況下,chrony 會自動調整時間漂移,不需要頻繁干預。
其他注意事項
- 防火墻設置:確保允許 UDP 123 端口出站訪問,否則無法連接遠程 NTP 服務器。
- 局域網內部同步:如果你有多臺機器,可以讓其中一臺做時間服務器,其他機器指向它作為 source。
- 虛擬機或容器環境:某些云廠商的虛擬機會自動同步宿主機時間,此時 chrony 可能只是輔助作用。
基本上就這些。chrony 的配置雖然不復雜,但容易忽略的是選擇合適的時間源以及定期檢查同步狀態。只要做好這兩點,系統時間就能一直保持準確。