时间同步是生产系统稳定运行的重要基础。Chrony 是目前 Linux 平台主流的网络时间同步(NTP)软件,相较于传统的 ntpd,具有同步速度快、时间精度高、对网络波动适应能力强、配置简单等优点,已成为 CentOS、RHEL、Rocky Linux、Ubuntu、Debian、openEuler、银河麒麟、统信 UOS 等主流 Linux 发行版推荐的默认时间同步服务。
本文档旨在指导运维人员完成 Linux 系统 Chrony 服务的安装、配置及验证,实现服务器与上级时间源同步,并为局域网内其他设备提供统一的 NTP 对时服务,构建稳定、可靠的企业级时间同步体系。文档适用于工业控制、数据中心及企业信息化等需要统一授时的应用场景。
适用系统:
- Ubuntu 18.04/20.04/22.04/24.04
1. 目的
配置 Linux 服务器使用 Chrony与上级时间服务器同步时间,同时作为局域网 NTP 服务器,为网络设备、电脑、数据库服务器等设备提供统一授时服务。
推荐拓扑如下:
GPS/北斗授时设备 │ 上级NTP服务器 (172.16.0.107) │ Linux Chrony服务器 (CentOS/Ubuntu等) │ ┌────────┬────────┬────────┐ │ │ │ │ 客户端1 客户端2 客户端3 客户端4
2. 安装 Chrony
CentOS / RHEL / Rocky / openEuler / 麒麟
CentOS8 及以后:
Ubuntu / Debian / UOS
apt updateapt install -y chrony
查看是否安装成功
或者
3. 配置 Chrony
配置文件位置
| |
|---|
| CentOS/RHEL/Rocky/openEuler | /etc/chrony.conf |
| /etc/chrony/chrony.conf |
推荐配置
######################################################################### 上级时间服务器########################################################################server 172.16.0.107 iburst######################################################################### 时钟漂移文件########################################################################driftfile /var/lib/chrony/drift######################################################################### 启动时快速校时########################################################################makestep 1.0 3######################################################################### 同步RTC硬件时钟########################################################################rtcsync######################################################################### 允许局域网客户端访问########################################################################allow 172.16.0.0/16######################################################################### 上级时间源不可用时继续提供授时########################################################################local stratum 10######################################################################### 日志目录########################################################################logdir /var/log/chrony
参数说明
4. 启动 Chrony
CentOS / RHEL
systemctl enable chronydsystemctl restart chronyd
Ubuntu / Debian
systemctl enable chronysystemctl restart chrony
查看运行状态
CentOS:
Ubuntu:
正常应显示:
5. 防火墙配置
Chrony 使用:
UDP 123
firewalld(CentOS)
firewall-cmd --permanent --add-service=ntpfirewall-cmd --reload
或
firewall-cmd --permanent --add-port=123/udpfirewall-cmd --reload
ufw(Ubuntu)
查看:
6. 查看同步状态
查看服务器同步状态:
正常示例:
Reference ID : AC10006BStratum : 3Leap status : Normal
重点关注:
查看时间源:
正常示例:
MS Name/IP address===============================================================================^* 172.16.0.107
符号说明:
7. 验证 NTP 服务
查看是否监听:
正常:
udp UNCONN 0 0 0.0.0.0:123
说明已开始提供 NTP 服务。
8. 客户端验证
Linux:
chronyc -h 172.16.0.100 tracking
或者
正常返回:
server 172.16.0.100stratum 3offset 0.000012
说明授时正常。
9. Linux 客户端配置
修改客户端 Chrony 配置:
server 172.16.0.100 iburst
重启:
CentOS:
systemctl restart chronyd
Ubuntu:
10. Windows 客户端配置
管理员 CMD:
w32tm /config /manualpeerlist:"172.16.0.100" /syncfromflags:manual /updatew32tm /resync
查看状态:
11. 客户端配置
设备 NTP Server:
端口默认:
一般无需手动填写端口。
12. 常见问题
无法同步上级时间
检查:
如果显示:
说明无法连接上级服务器。
检查:
客户端无法同步
检查:
确认服务器监听 UDP 123。
检查:
确认服务器已同步上级时间。
检查:
是否包含客户端所在网段。
上级服务器故障
由于配置:
即使上级时间源不可达,本机仍继续提供授时,待上级恢复后自动重新同步。
13. 推荐配置(生产环境)
######################################################################### 上级时间服务器(建议配置两台及以上)########################################################################server 172.16.0.107 iburst# server 172.16.0.108 iburst######################################################################### 时钟漂移记录########################################################################driftfile /var/lib/chrony/drift######################################################################### 启动快速校时########################################################################makestep 1.0 3######################################################################### 同步RTC########################################################################rtcsync######################################################################### 允许局域网访问########################################################################allow 172.16.0.0/16######################################################################### 上级失联后继续授时########################################################################local stratum 10######################################################################### 日志目录########################################################################logdir /var/log/chrony
14. 运维建议
- 建议至少配置 2 台上级 NTP 时间服务器,提高授时可靠性。
- 建议所有网络客户端、数据库服务器等统一指向同一台 Chrony 服务器,确保全网时间一致。
- 建议将
allow限制为实际业务网段,不建议直接使用 allow(允许所有来源),以提升安全性。 - 定期执行
chronyc tracking和 chronyc sources -v检查同步状态,确保时间源正常。 - 确保网络设备、防火墙、安全策略放行 UDP 123。
- 对于生产环境,建议部署两台以上 Chrony 服务器,并由客户端配置多个时间源,实现授时高可用。