应优先使用chrony而非ntpd,因centos 8+、rocky/almalinux 8+等已默认切换并停维护ntpd;需配置国内可信ntp源如ntp1.aliyun.com,启用iburst和makestep,放行udp 123端口,并通过chronyc tracking和timedatectl status验证同步状态。

服务器初始化阶段配置 NTP(或 chrony)时间同步服务,是保障日志可信、集群协同、证书有效和审计合规的基础动作。关键不在于“装上就行”,而在于选对工具、连对源、设对权限、验得准。
先判断用 ntp 还是 chrony
CentOS/RHEL 7 及更早版本默认用 ntpd;CentOS 8+、Rocky/AlmaLinux 8+、BCLinux 8.2 等已默认切换为 chronyd,且不再维护 ntpd 包。Ubuntu 20.04+ 也推荐 chrony。强行在新系统装 ntpd 可能引发冲突或无法启动。
验证方式:
-
systemctl list-unit-files | grep -E "(ntp|chrony)"—— 查看已安装服务 -
chronyc tracking或ntpq -p—— 看是否在运行中
配置可靠的时间源(尤其内网/无公网场景)
云主机若未绑定公网 IP,无法直连 pool.ntp.org 等公共域名。此时应:
- 优先使用国内可信源,如:
ntp1.aliyun.com、time1.cloud.tencent.com、cn.ntp.org.cn - 若完全隔离(如生产网),必须部署内网 NTP/chrony 主服务器,并配置其从北斗/GPS 授时器或 4G 网络时钟服务器获取权威时间
- 避免写域名(如
pool.ntp.org)而 DNS 不通;可直接填 IP(如203.107.6.88对应 cn.ntp.org.cn),但需确认该 IP 长期稳定
正确修改配置并启用服务
以 chrony(主流推荐)为例(CentOS 8+/Ubuntu 20.04+):
- 编辑
/etc/chrony/chrony.conf,添加或替换 server 行:server ntp1.aliyun.com iburst minpoll 4 maxpoll 6 - 确保有
makestep 1.0 -1—— 允许开机时快速校正大偏差(如虚拟机休眠后) - 重启并设开机自启:
systemctl restart chronyd && systemctl enable chronyd - 立即手动同步一次(非必需但建议):
chronyc makestep
若用 ntpd(CentOS 7):
- 确认
/etc/ntp.conf中restrict规则未过度封锁(如误加noquery会阻断状态查询) - 首次启动前先执行:
ntpdate -u ntp1.aliyun.com(防止 drift 过大导致服务拒绝启动) - 再运行:
systemctl start ntpd && systemctl enable ntpd
验证同步是否真正生效
不能只看服务是否 running,要确认“已连上、有响应、偏移小”:
-
timedatectl status—— 查看 “NTP enabled” 和 “NTP synchronized” 是否均为 yes -
chronyc tracking(chrony)或ntpq -p(ntpd)—— 关键看 offset 值:理想应 500ms 说明未同步成功 -
chronyc sources -v—— 看是否有带*的活动源(chrony);ntpq -p中带*表示当前主源
防火墙需放行 UDP 123 端口,否则所有同步请求会被静默丢弃。











