0

0

chrony 同步失败显示 "No suitable source" 但 ntpdate 能同步的原因对比

舞夢輝影

舞夢輝影

发布时间:2026-01-19 15:23:02

|

539人浏览过

|

来源于php中文网

原创

chrony显示“No suitable source”是其严格评估后主动拒绝所有NTP源,而ntpdate无视质量强制单次校正;本质差异在于chrony追求稳定建模,ntpdate仅暴力步进。

chrony 同步失败显示 \

chrony 显示 No suitable source,但 ntpdate 却能成功同步,本质是两者设计目标和工作逻辑完全不同:chrony 是持续、自适应的守护进程,强调稳定性与本地时钟建模;而 ntpdate 是单次暴力校正工具,不关心源质量、不维护状态、也不拒绝“勉强可用”的服务器。

chrony 的“No suitable source”意味着什么

这不是连接失败,而是 chrony 经过一系列严格评估后,主动放弃所有候选服务器。它会检查:

  • 网络往返延迟是否稳定(抖动过大则丢弃)
  • 偏移量是否在合理范围内(例如超过 1 秒且持续波动,可能被标记为不可靠)
  • 服务器是否返回有效 stratum、poll interval 和 leap indicator
  • 本地时钟漂移率是否异常(如突然大幅跳变,chrony 会暂停同步以保护时钟模型)
  • 是否启用了 offline 模式或配置了 burst/iburst 但未生效

ntpdate 为什么“总能成功”

ntpdate(已废弃,仅作对比)不做任何质量判断:

  • 只要 UDP 包能发出去、收到一个响应(哪怕只有一次),就直接计算偏移并强制设置系统时间
  • 完全忽略延迟抖动、服务器 stratum、同步历史或本地时钟状态
  • 不区分 unsynchronizedstep 状态,也不等待多轮测量
  • 例如:对一个公网 NTP 服务器 ping 延迟 200ms 且波动 ±80ms,chrony 会拒用;ntpdate 照样执行一次校正并退出

常见导致 chrony 拒绝但 ntpdate 成功的场景

这些情况暴露的是环境问题,而非工具缺陷:

Descript
Descript

一个多功能的音频和视频编辑引擎

下载
  • 防火墙或中间设备干扰:NTP 请求/响应被限速、截断或修改(如 TTL 被改、字段清零),chrony 检测到协议异常而丢弃;ntpdate 只看是否回包,不验字段
  • 局域网内使用非标准 NTP 服务:比如某嵌入式设备实现的简易 NTP server 缺少 leap indicator 或返回固定 stratum 0,chrony 拒绝,ntpdate 不care
  • chrony 配置过于保守:如 maxdistance 0.1(最大容许偏移 100ms),而实际网络偏移达 300ms;ntpdate 无此限制
  • 系统启动初期时钟严重偏差:chrony 默认启用 makestep 但需满足条件(如启动后首次同步才允许大步调),若未触发或被禁用,就卡在“no suitable source”;ntpdate 总是强制 step

如何排查和解决 chrony 的“No suitable source”

别绕路用 ntpdate,应让 chrony 正常工作:

  • 运行 chronyc tracking 查看当前同步状态和估计误差
  • chronyc sources -v 看每个源的状态码^* 表示选中,^- 表示淘汰,? 表示无响应,x 表示异常)
  • 检查 chronyc sourcestats 中的 OffsetStd DevSkew —— 若 Std Dev 过高(>100ms)或 Skew 爆表,说明网络或源质量差
  • 临时放宽策略:在 /etc/chrony.conf 中添加 makestep 1 -1(允许任意偏移立即步进),再重启 chronyd
  • 确认防火墙放行 UDP 123,且无 ICMP 限速影响 chrony 的路径 MTU 探测

本质上,ntpdate 的“成功”只是掩盖了网络或配置问题;chrony 的“No suitable source”反而是它在认真履职。修复底层条件,chrony 才能发挥其高精度、低扰动、抗抖动的优势。

相关专题

更多
tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

119

2023.07.25

udp是什么协议
udp是什么协议

UDP是OSI参考模型中一种无连接的传输层协议。本专题为大家带来udp是什么协议的相关文章,免费提供给大家。

284

2023.08.08

tcp和udp有什么区别
tcp和udp有什么区别

tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。想了解更多tcp相关的内容,可阅读本专题下面的相关文章。

379

2024.11.14

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

0

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

12

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

86

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

109

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

155

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

79

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux网络安全之防火墙技术汇总
Linux网络安全之防火墙技术汇总

共31课时 | 3万人学习

React 教程
React 教程

共58课时 | 3.8万人学习

Pandas 教程
Pandas 教程

共15课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号