0

0

时间跳跃导致证书失效的 chrony makestep threshold 与 hwclock -systohc

舞夢輝影

舞夢輝影

发布时间:2026-02-11 20:54:34

|

462人浏览过

|

来源于php中文网

原创

chrony makestep 仅在全新启动时对超1秒时间跳跃生效,热重载不触发;需用 systemctl restart chronyd 并确保配置在 /etc/chrony.conf 全局段,设 makestep -1 可强制校正任意偏差。

时间跳跃导致证书失效的 chrony makestep threshold 与 hwclock -systohc

chrony makestep 为什么没生效

因为 makestep 默认只对时间跳跃超过 1 秒的场景起作用,且仅在 chrony 启动时触发一次。如果系统时间已经严重偏移(比如关机数天后开机),但 chrony 进程是热重载(chronyc reload)或 service 重启而非全新启动,makestep 根本不会执行。

实操建议:

  • 确认 chrony 是全新启动:用 systemctl restart chronyd,而不是 chronyc makestep 或 reload 配置
  • 检查配置是否写对位置:makestep 必须放在 /etc/chrony.conf 的全局段,不能套在 poolserver 块里
  • 想让任意时间偏移都强制校正?把阈值设成负数:makestep -1(单位秒),这样只要检测到偏差就跳变
  • chronyc trackingLeap statusSystem time 差值,比看日志更直接

hwclock -systohc 写入 BIOS 时间失败的常见原因

最常被忽略的是硬件时钟模式不匹配:Linux 默认认为硬件时钟是 UTC,但有些 BIOS 实际按本地时间维护。一旦 hwclock -systohc 把当前系统时间(UTC)强行写进一个“以为自己存的是本地时间”的 RTC,下次开机系统就会误判时间,造成循环偏移。

实操建议:

  • 先查当前硬件时钟解释方式:timedatectl status | grep "RTC in local TZ",输出 yes 表示 BIOS 用本地时间
  • 若为 yes,别用 -systohc,改用 hwclock --systohc --localtime
  • 若为 no(推荐),确保系统时区设置正确,并在 /etc/adjtime 中第三行是 UTC,不是 LOCAL
  • 虚拟机里运行 hwclock -systohc 可能静默失败——某些 hypervisor 禁止客户机写 RTC,得靠宿主机同步或启用 host-time-sync 特性

chrony + hwclock 协同失效的典型时间链断裂点

问题不在单个命令,而在时间同步链条中多个环节的职责错位:chrony 负责校准系统时钟(CLOCK_REALTIME),hwclock -systohc 负责快照此刻系统时间写入硬件时钟,但二者没有自动联动。系统关机时若没执行 hwclock -systohc,下次开机就从错误的 BIOS 时间起步,chrony 启动前已偏移巨大。

Colourlab.ai
Colourlab.ai

好莱坞内容创作者依赖的AI色彩分级软件

下载

实操建议:

  • 加 systemd 关机钩子:创建 /usr/lib/systemd/system-shutdown/save-clock.sh,内容为 hwclock --systohc(注意权限 +x)
  • 不要依赖 cron 每小时跑一次 hwclock -systohc——它解决不了关机瞬间的时钟冻结问题
  • chrony 的 makestep 是启动时行为,和关机无关;hwclock 是关机时行为,和 chrony 运行状态无关——它们是两个时间维度的操作,硬凑在一起反而容易互相掩盖问题
  • 云环境或容器里,/dev/rtc 往往不可写或不存在,此时 hwclock 无意义,应专注 chrony + NTP + 宿主机时间透传

BIOS 时间倒退导致 chrony 拒绝同步的应对逻辑

当硬件时钟被人为调早再重启,或虚拟机恢复快照后 BIOS 时间比系统上次关机时还旧,chrony 启动时会发现系统时间“倒流”,默认拒绝校正(防止意外跳变影响日志、证书等)。这不是 bug,是保护机制。

实操建议:

  • chronyd -n -d 启动日志,搜 kernel reported time jumpbackwards,确认是否因倒退被拒
  • 临时解法:加 -r 参数强制 chronyd 忽略倒退(chronyd -r -n -d),但仅限调试,生产环境慎用
  • 根治办法:确保 BIOS 时间始终单调前进——物理机定期用 ntpdate -s pool.ntp.org(仅作参考,非 chrony 替代)校准 RTC;虚拟机禁用 RTC 设备或启用 guest time sync
  • 证书类服务(如 TLS)依赖系统时间,若 chrony 因倒退沉默,openssl s_client -connect 就可能报 certificate has expired,实际是时间没校准,不是证书真过期

真正麻烦的从来不是单个命令怎么写,而是 chrony 启动时机、hwclock 写入时机、BIOS 时间语义、以及关机/开机这三秒之间谁在管哪段时钟——漏掉其中一环,证书就敢跟你较真。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1480

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

712

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

298

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

788

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

581

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

559

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

302

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

391

2023.07.25

2026春节习俗大全
2026春节习俗大全

本专题整合了2026春节习俗大全,阅读专题下面的文章了解更多详细内容。

68

2026.02.11

热门下载

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

精品课程

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

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