当前位置:网站首页 >  攻略

CentOS、Ubuntu主流发行版chrony时间同步+本地轻量NTP源搭建实操

时间:2026年06月05日 13:14:46 来源:易频IT社区

一、前置说明

本文覆盖Linux两大主流发行版CentOS7+/Ubuntu18.04+的时间同步配置,同步工具优先推荐chrony(性能远优于ntpd),同时补充本地Windows Server/Windows 10/11的轻量NTP源搭建步骤,所有内容可直接复制执行。

二、Linux系统配置chrony同步

1. 确认并安装chrony

先检查系统是否已默认安装chrony:

  • CentOS7+(含Rocky/AlmaLinux 8+):默认安装chrony,ntpd已被替换为可选依赖
  • Ubuntu18.04+:默认安装chrony,旧系统可能预装ntpd需先卸载

执行对应命令:

 CentOS/Rocky/AlmaLinux 7-9
检查状态
systemctl status chronyd
未安装则执行
yum install -y chrony   7用yum,8+可用dnf install -y chrony
Ubuntu18.04+
检查状态
systemctl status chrony
未安装或需卸载旧ntpd的执行
apt update && apt install -y chrony
旧系统预装ntpd的可先卸载(可选但推荐)
apt remove -y ntp ntpdate

2. 编辑chrony配置文件

两个发行版的默认配置文件均为/etc/chrony.conf,编辑前先备份:

cp /etc/chrony.conf /etc/chrony.conf.bak

用vi/vim/nano打开文件,替换或修改核心配置项(完整可复制的内容根据需求选):

需求1:同步公共NTP源(阿里云+腾讯云+教育网,覆盖国内延迟低)

 注释或删除默认的pool/server开头的配置
pool 2.centos.pool.ntp.org iburst
pool ntp.ubuntu.com iburst
国内公共源,阿里云腾讯云优先,教育网备选
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp.tencent.com iburst
server ntp3.aliyun.com iburst
server edu.ntp.org.cn iburst
允许本地局域网其他设备同步本机(可选,搭本地NTP源用)
allow 192.168.1.0/24   替换为你的局域网段
allow 10.0.0.0/8
本地时间偏移备份,防止断电重启后时间丢失
driftfile /var/lib/chrony/drift
开机10秒内即使未同步到源,也先给出本地时间给上层应用
makestep 1.0 3
允许本地RTC(实时时钟)同步
rtcsync
日志配置(可选)
logdir /var/log/chrony

需求2:同步本地Windows NTP源(需先完成Windows部分配置)

 注释或删除默认公共源
替换为你的本地Windows NTP源IP
server 192.168.1.100 iburst   替换为实际Windows IP
其他配置同需求1的driftfile、makestep、rtcsync部分

3. 重启并验证chrony

执行以下命令重启服务并设为开机自启:

CentOS、Ubuntu主流发行版chrony时间同步+本地轻量NTP源搭建实操

 CentOS/Rocky/AlmaLinux
systemctl restart chronyd
systemctl enable chronyd
Ubuntu
systemctl restart chrony
systemctl enable chrony

验证同步状态的3个关键命令:

  • 查看同步源状态chronyc sources -v(正常显示号标记当前同步源,^号标记未验证的,?号标记不可达的)
  • 查看同步精度chronyc tracking(重点看“System time”偏移量,单位秒,正常为1e-6以下级别)
  • 强制手动同步一次(初始设置卡壳时用)chronyc -a makestep

三、Windows系统搭建轻量NTP源

无需安装第三方工具,直接通过修改注册表+组策略(或命令行)开启,适用于Windows Server 2012+、Windows 10/11专业版/企业版。

1. 修改注册表开启NTP服务

管理员身份打开“命令提示符”或“PowerShell”,执行以下命令(可直接复制):

 启用Windows Time服务并设为自动启动
sc config w32time start= auto
net start w32time
修改注册表配置项,16进制转10进制的说明:
AnnounceFlags=5 → 宣布为可靠时间源
NtpServer=1 → 启用NTP服务器
Type=NTP → 使用NTP协议(不是域控的NT5DS)
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config" /v AnnounceFlags /t REG_DWORD /d 5 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v Type /t REG_SZ /d NTP /f
重启Windows Time服务使配置生效
net stop w32time && net start w32time
验证本地NTP服务器是否正常响应
w32tm /query /configuration

2. 开放Windows防火墙的NTP端口

NTP协议使用UDP 123端口,必须开放局域网访问权限:

  • 图形化操作(新手推荐)
    1. 打开“Windows Defender 防火墙”→ 点击左侧“高级设置”
    2. 点击左侧“入站规则”→ 右侧“新建规则”
    3. 规则类型选“端口”→ 下一步
    4. 协议选“UDP”,特定本地端口填“123”→ 下一步
    5. 操作选“允许连接”→ 下一步
    6. 配置文件全部勾选(域、专用、公用)→ 下一步
    7. 名称填“允许局域网NTP同步”→ 完成
  • 命令行操作(快速)
     管理员PowerShell执行
    New-NetFirewallRule -DisplayName "允许局域网NTP同步" -Direction Inbound -Protocol UDP -LocalPort 123 -Action Allow

3. 验证Windows NTP源

在局域网内另一台Windows设备(管理员身份)执行验证命令:

 替换为你的NTP源IP
w32tm /stripchart /computer:192.168.1.100 /dataonly /samples:3

正常情况下会显示3次时间对比,偏移量在毫秒级别。

四、常见卡壳问题排查

  • Linux chrony同步源全是?:检查DNS解析(ping ntp1.aliyun.com)、防火墙(Linux临时关闭防火墙测试:systemctl stop firewalld,永久放通UDP123端口:firewall-cmd --permanent --add-port=123/udp && firewall-cmd --reload
  • Linux chrony只有^号没有:等待5-10分钟,或强制手动同步chronyc -a makestep
  • Windows NTP源其他设备无法访问:检查防火墙规则是否生效、是否在同一局域网、Windows设备是否开启了“专用网络”的“网络发现”
  • Windows防火墙规则添加失败:确认以管理员身份执行,或检查是否有第三方防火墙拦截

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图