【学习笔记】NTP服务客户端配置

发布于:2025-08-18 ⋅ 阅读:(16) ⋅ 点赞:(0)

【学习笔记】NTP服务客户端配置

需要实现客户端的时间改变之后,尽快进行时间同步,不需要步进同步,一下子大步同步就可以。

主要的配置选项:配置文件 /etc/chrony.conf

server 192.168.0.115 iburst prefer minpoll 2 maxpoll 2

makestep 0.1 -1
maxslewrate 0   

rtcsync
driftfile /var/lib/chrony/drift

主备切换的时候需要修改IP即可。

配置解释:

1、server 192.168.0.115 iburst prefer

连接服务器主要配置,server后面跟服务器IP。

iburst 是一个优化参数,作用是: chronyd 启动或与该服务器重新建立连接时,短时间内快速发送 8 个 NTP 请求(默认间隔约 2 秒),而非默认的单个请求。

  • 效果:通常 NTP 同步需要多次通信才能稳定,iburst 能通过 “批量请求” 快速获取可靠的时间数据,大幅缩短初始同步的耗时(从几分钟缩短到几秒)。
  • 适用场景:特别适合需要快速完成时间校准的场景(如系统启动后、网络恢复后)。

prefer 用于将该服务器标记为 “优先时间源”。当配置了多个 NTP 服务器时:

  • chronyd 会优先选择标记 prefer 的服务器作为主要同步源(即使其他服务器的层级或稳定性略好);
  • 只有当该优先服务器不可达或出现异常时,chronyd 才会切换到其他备用服务器。

2、minpoll 2 maxpoll 2

minpollmaxpollchronyd 中用于控制与 NTP 服务器同步时间的间隔范围的核心参数,它们的值表示 “2 的 n 次方秒”(即同步间隔 = 2^n 秒)。

  • minpoll:限制 “最小同步间隔”,避免过于频繁地向服务器发送请求(防止网络和服务器负载过高)。
  • maxpoll:限制 “最大同步间隔”,确保时间不会因太久不同步而产生过大偏差。

3、makestep 0.1 -1

控制 chronyd 在系统时间与参考时间(NTP 服务器时间)偏差较大时,是否允许 “大步调整”(step adjustment)而非缓慢 “ slew 调整”(平滑微调)。

第一个值 0.1:表示 “偏差阈值”(单位:秒)。当系统时间与参考时间的偏差超过 0.1 秒时,触发大步调整。

第二个值 1:表示 “时间窗口”(单位:秒)。仅在 chronyd 启动后的 1 秒内,允许执行上述大步调整。超过这个时间窗口后,即使偏差超过 0.1 秒,也不再使用大步调整,而是采用 slew 方式缓慢修正。-1表示任意时间。

4、maxslewrate 0

限制 chronyd 对系统时间的 “最大平滑调整速率”(slew rate),单位为 “秒 / 秒”(即每秒最多调整多少秒)。值 0 表示将最大平滑调整速率设置为 0,即完全禁用 “slew 平滑调整” 功能

5、rtcsync

rtcsyncchronyd 配置中用于自动同步系统时间到硬件时钟(RTC) 的参数,其核心作用是确保系统重启后,硬件时钟(RTC)能保持较准确的时间。

时间同步测试:

1、验证客户端和服务器4s同步时间

客户端:tcpdump -i any udp port 123 -n -c 10

服务端:sudo tcpdump -i any udp port 123 -n -vv

可以看见服务器每过四秒就会收到客户端的请求并且回包。

2、客户端修改时间验证同步

修改客户端时间:date -s “+60 seconds” date -s “2026-08-15 16:30:00”

修改客户端时间:date -s “-60 seconds” date -s “2024-08-15 16:30:00”

查看客户端实时时间变化:watch -n 0.5 chronyc tracking

查看服务器实时时间变化: watch -n 1 date

可以看见客户端时间四秒左右就会恢复和服务器时间一致。验证成功。


网站公告

今日签到

点亮在社区的每一天
去签到