0

0

chronyc sources 显示 stratum 16 或 delay 极大的上游源问题

舞夢輝影

舞夢輝影

发布时间:2026-01-21 15:14:02

|

653人浏览过

|

来源于php中文网

原创

stratum 16 表示上游 NTP 服务器不可用,通常由网络不通、防火墙拦截、服务器失效或配置错误导致;需检查端口连通性、同步状态、上游可用性、本地配置及日志。

chronyc sources 显示 stratum 16 或 delay 极大的上游源问题

chronyc sources 显示某个上游 NTP 服务器的 stratum 为 16delay 极大(如数秒甚至几十秒),说明 chronyd 无法正常与该源通信或同步失败。stratum 16 在 NTP 协议中代表“不可用”(相当于离线或拒绝服务),而高 delay 通常意味着网络路径异常、防火墙拦截、服务器过载或配置错误。

检查网络连通性与端口可达性

chronyd 默认使用 UDP 123 端口与上游通信,需确保本地能正常访问目标服务器的该端口:

  • nc -uz ntp.example.com 123timeout 2 bash -c 'echo > /dev/tcp/ntp.example.com/123' 2>/dev/null && echo "OK" || echo "Blocked" 快速验证 TCP/UDP 连通性(注意:NTP 实际走 UDP,但部分系统可用此方式粗略判断端口是否被拦)
  • 运行 chronyc tracking 查看当前同步状态;若 System clock wrong by 显示极大偏差(如 >1000s),chronyd 可能因安全策略拒绝步进校时,需先手动修正时间再重启 chronyd
  • 确认未被本地防火墙(如 firewalld、iptables)、云平台安全组或企业网络策略屏蔽 UDP 123 出向流量

确认上游服务器是否真实可用

stratum 16 常见于上游本身已失效、返回拒绝响应或配置为仅限特定客户端访问:

  • 换用公共可靠源测试,例如:pool.ntp.orgtime.google.comtime.cloudflare.com,在 /etc/chrony.conf 中临时替换并重启服务:sudo systemctl restart chronyd
  • chronyc -v sources -v 查看详细原因字段(如 REJECTTIMEOUTNOPEER),对应含义可在 man chronyc 的 SOURCES OUTPUT 部分查到
  • 某些机构内网 NTP 服务器可能要求 NTP auth key 或限制 IP 段,若属此类,需按其文档配置 keyfileauthselect 等参数

排查 chronyd 本地配置与资源限制

延迟异常有时并非网络问题,而是 chronyd 自身行为或系统环境导致:

LobeHub
LobeHub

LobeChat brings you the best user experience of ChatGPT, OLLaMA, Gemini, Claude

下载
  • 检查 /etc/chrony.conf 中是否误配了 offlineiburst 缺失(首次同步建议保留)、或 minpoll/maxpoll 设置过大(如 maxpoll 12 = 4096 秒,可能加剧 delay 观感)
  • 确认系统未启用 systemd-timesyncd 或其他 NTP 客户端冲突:sudo systemctl stop systemd-timesyncd && sudo systemctl disable systemd-timesyncd
  • 查看日志定位具体错误:journalctl -u chronyd -n 50 --no-pager,留意类似 Source xxx.xxx.xxx.xxx not suitable: invalid stratumrecvfrom: Connection refused 的记录

应对高延迟场景的实用建议

即使网络延迟较高(如跨国链路),只要稳定且小于 1s,chronyd 仍可有效工作;但若 delay 持续 >1s,应主动优化:

  • 优先选择地理邻近的 NTP 池,例如中国用户可用 cn.pool.ntp.org阿里云提供的 ntp1.aliyun.com
  • 避免单点依赖:在 chrony.conf 中配置至少 3–4 个不同来源,chronyd 会自动剔除异常源并加权计算最优时间
  • 如设备位于 NAT 后或容器中,确认宿主机未拦截 UDP 123,或尝试在容器启动时添加 --cap-add=SYS_TIME(仅限需要调整系统时间的场景)

不复杂但容易忽略。关键是把 stratum 16 当作“连接失败信号”,而非单纯的时间偏差问题;逐层验证网络、服务端、配置三者,通常能快速定位根因。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

232

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

437

2024.03.01

tcp和udp的区别
tcp和udp的区别

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

119

2023.07.25

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

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

287

2023.08.08

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

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

381

2024.11.14

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

3

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

13

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 4万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

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

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