系统时间、NTP 与信令过期

47 阅读1分钟

Skeyevss FAQ:系统时间、NTP 与信令过期

试用安装包下载 | SMS | 在线演示

项目地址github.com/openskeye/g…


1. 问题现象

间歇性全平台注册失败、digest 校验随机失败、证书校验错误、录像起止时间偏移;日志中出现 nonce expired401 循环。


2. SIP Digest 与时间的关系

Digest 认证中的 nonce、有时效性的挑战串,依赖 双方时钟大致同步。若服务器时间比设备快/慢超过阈值,设备用本地时间计算的响应可能被判定无效,表现为 偶发 401


3. TLS 与 JWT(若启用)

HTTPS、服务间 mTLS、用户登录 token 均对 时钟偏移 敏感。常见阈值为数分钟级;虚拟机快照恢复后时间跳变会导致 整站登录失效


4. 容器与宿主机

Docker/K8s 中容器默认继承宿主机时间,但:

  • 宿主机未配 NTP 会逐渐漂移;
  • 部分环境禁止容器改时间,需在 宿主机或编排层 统一校时。

5. 推荐实践

  • 所有业务节点启用 chronysystemd-timesyncd 指向同一可靠 NTP 源;
  • 监控 offset 指标,超过 1s 告警;
  • 重大变更后执行 timedatectl status 确认 NTP synchronized: yes

6. 与业务时间的区别

数据库存储的录像计划、报警时间戳使用 应用层时区。若仅改系统时区而未迁移历史数据,报表会看似「错位」。迁移时区需一次性脚本处理。


时间问题是 隐蔽性最强 的故障源之一;遇「无规律、全协议受影响」时优先对时。