第 28 章 使用 RHEL 系统角色配置时间同步


Network Time Protocol(NTP)和 Precision Time Protocol (PTP)是通过网络同步计算机时钟的标准。网络中准确的时间同步非常重要,因为某些服务依赖它。例如,Kerberos 只容许服务器和客户端之间很少的时间差异,以防止重播攻击。

您可以在 playbook 的 timesync_ntp_provider 变量中设置要配置的时间服务。如果没有设置此变量,角色会根据以下因素决定时间服务:

  • 在 RHEL 8 及更新版本上:chronyd
  • 在 RHEL 6 和 7 上: chronyd(默认)或者如果已安装了 ntpd

Network Time Protocol(NTP)通过网络,将主机的时间与 NTP 服务器同步。在 IT 网络中,服务依赖于正确的系统时间,例如,出于安全和日志记录目的。通过使用 timesync RHEL 系统角色,您可以在网络中自动配置 Red Hat Enterprise Linux NTP 客户端,并保持时间同步。

警告

timesync RHEL 系统角色在受管主机上替换了指定的或检测到的提供商服务的配置。因此,如果没有在 playbook 中指定,所有设置都会丢失。

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Managing time synchronization
      hosts: managed-node-01.example.com
      tasks:
        - name: Configuring NTP with an internal server (preferred) and a public server pool as fallback
          ansible.builtin.include_role:
            name: redhat.rhel_system_roles.timesync
          vars:
            timesync_ntp_servers:
            - hostname: time.example.com
              trusted: yes
              prefer: yes
              iburst: yes
            - hostname: 0.rhel.pool.ntp.org
              pool: yes
              iburst: yes
    Copy to Clipboard Toggle word wrap

    示例 playbook 中指定的设置包括如下:

    pool: <yes|no>
    将源标记为 NTP 池,而不是单个主机。在这种情况下,服务预期名称解析为可能会随时间变化的多个 IP 地址。
    iburst: yes
    启用快速初始同步。

    有关 playbook 中使用的所有变量的详情,请查看控制节点上的 /usr/share/ansible/roles/rhel-system-roles.timesync/README.md 文件。

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml
    Copy to Clipboard Toggle word wrap

    请注意,这个命令只验证语法,不能防止错误的、但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml
    Copy to Clipboard Toggle word wrap

验证

  • 显示时间源的详情:

    • 如果受管节点运行 chronyd 服务,请输入:

      # ansible managed-node-01.example.com -m command -a 'chronyc sources'
      MS Name/IP address         Stratum Poll Reach LastRx Last sample
      ===============================================================================
      ^* time.example.com              1  10   377   210   +159us[  +55us] +/-   12ms
      ^? ntp.example.org               2   9   377   409  +1120us[+1021us] +/-   42ms
      ^? time.us.example.net           2   9   377   992   -329us[ -386us] +/-   15ms
      ...
      Copy to Clipboard Toggle word wrap
    • 如果受管节点运行 ntpd 服务,请输入:

      # ansible managed-node-01.example.com -m command -a 'ntpq -p'
           remote           refid      st t when poll reach   delay   offset  jitter
      ==============================================================================
      *time.example.com .PTB.           1 u    2   64   77   23.585  967.902   0.684
      - ntp.example.or 192.0.2.17       2 u    -   64   77   27.090  966.755   0.468
      +time.us.example 198.51.100.19    2 u   65   64   37   18.497  968.463   1.588
      ...
      Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat