第 4 章 chrony 中的网络时间安全概述(NTS)


Network Time Security(NTS)是用于网络时间协议(NTP)的身份验证机制,旨在扩展大量客户端。它将验证从服务器计算机接收的数据包在移到客户端机器时是否被取消处理。Network Time Security(NTS)包含 Key Establishment(NTS-KE)协议,该协议会自动创建在服务器及其客户端中使用的加密密钥。

警告

NTS 与 FIPS 和 OSPP 配置文件不兼容。当您启用 FIPS 和 OSPP 配置文件时,使用 NTS 配置的 chronyd 可能中止,并显示一条致命消息。您可以通过在 /etc/sysconfig/chronyd 文件中添加 GNUTLS_FORCE_FIPS_MODE=0 设置添来对 chronyd 服务禁用 OSPP 配置文件和 FIPS 模式。

4.1. 在客户端上启用网络时间安全(NTS)

默认情况下不启用 Network Time Security(NTS)。您可以在 /etc/chrony.conf 文件中启用 NTS。

先决条件

  • 时间服务器支持 NTS。

流程

编辑 /etc/crony.conf 文件并进行以下更改:

  1. 除了 iburst 选项外,使用 nts 选项指定服务器。

    For example:
    server time.example.com iburst nts
    server nts.netnod.se iburst nts
    server ptbtime1.ptb.de iburst nts
    Copy to Clipboard Toggle word wrap
  2. 添加以下设置以避免在系统引导过程中重复 Network Time Security-Key Establishment (NTS-KE)会话:

    ntsdumpdir /var/lib/chrony
    Copy to Clipboard Toggle word wrap
  3. 如果存在,注释掉或删除以下设置,以禁用与 DHCP 提供的网络时间协议(NTP)服务器的同步:

    sourcedir /run/chrony-dhcp
    Copy to Clipboard Toggle word wrap
  4. 重启 chronyd 服务:

    systemctl restart chronyd
    Copy to Clipboard Toggle word wrap

验证

  • 验证 NTS 密钥是否已成功建立:

    # chronyc -N authdata
    
    Name/IP address  Mode KeyID Type KLen Last Atmp  NAK Cook CLen
    ================================================================
    time.example.com  NTS     1   15  256  33m    0    0    8  100
    nts.netnod.se   NTS     1   15  256  33m    0    0    8  100
    ptbtime1.ptb.de   NTS     1   15  256  33m    0    0    8  100
    Copy to Clipboard Toggle word wrap

    KeyIDTypeKLen 应带有非零值。如果该值为零,请检查系统日志中来自 chronyd 的错误消息。

  • 验证客户端是否正在进行 NTP 测量:

    # chronyc -N sources
    
    MS Name/IP address Stratum Poll Reach LastRx Last sample
    =========================================================
    time.example.com   3        6   377    45   +355us[ +375us] +/-   11ms
    nts.netnod.se   1        6   377    44   +237us[ +237us] +/-   23ms
    ptbtime1.ptb.de    1        6   377    44   -170us[ -170us] +/-   22ms
    Copy to Clipboard Toggle word wrap

    Reach 列中应具有非零值;理想情况是 377。如果值很少为 377 或永远不是 377,这表示 NTP 请求或响应在网络中丢失。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat