时频科普

避免外部时间源设置的时钟偏差问题

2022-07-25 11:01:26 zhanghonglei

时间就是一切,这在基于 Windows 的环境中尤其重要。

系统时钟从一开始就是 Windows 操作系统的关键部分。虽然可能很容易将时钟准确性视为微不足道的问题,但确保计算机时钟准确且彼此同步对于保持网络上系统的健康状况至关重要。由于时钟偏差,可能会出现许多问题。避免时间问题的最佳方法是将林根域控制器与外部时间源同步。

为什么纠正时钟偏差很重要

Windows Kerberos 协议依赖于计算机时钟同步来实现与身份验证相关的功能。如果系统时钟不同步超过几分钟,Kerberos 将停止运行,导致任何依赖 Kerberos 的服务失败。例如,时钟设置不正确的计算机可能无法加入 Active Directory 域。

即使不涉及Kerberos,时钟偏差也会导致数据库应用程序和事件日志出现问题。时钟偏差可能会影响对时间敏感的事务,使其看起来事件发生的顺序与实际时间不同。

如何保持电脑时钟同步

确保 Windows 机器时钟正确的最佳方法是利用网络时间协议 (NTP),它将时钟同步到集中的权威时间源。

在 Active Directory 环境中,加入域的 Windows 桌面和成员服务器会自动将它们的时钟同步到将它们验证到 Active Directory 中的域控制器。反过来,该域控制器将其时钟同步到主域控制器 (PDC) 仿真器。在多域环境中,PDC 仿真器将其时钟同步到林根操作主机。因此,Active Directory 域中的所有计算机都应自动设置为同一时间。可以将所有 Windows 机器同步到域外的时间源,例如路由器或外部 NTP 服务器,但最佳实践要求 Windows 客户端应该将其时钟同步到域控制器。

如果在位于Active Directory 层次结构顶部的域控制器上的时钟设置不正确,那么不正确的设置将传播到 Active Directory 环境中的所有其他计算机。防止此问题的最佳方法是将域控制器同步到外部时间源。

最初,即使您的林根域控制器也配置为仅使用本地时间同步。您可以通过打开命令提示符窗口并输入以下命令来验证这一点:

W32tm /查询/配置

W32tm 是用于配置和排除 Windows 时间服务故障的实用程序。该命令查询与时间相关的统计信息。图 1 显示了林根域控制器的配置。

时间同步服务器,GPS北斗卫星同步时钟,时间服务器,ntp服务器,PTP服务器,网络时间服务器
图 1. 查询 Windows 时间服务以验证林根域控制器上的时钟配置。

在图 1 中,在 NTPClient 部分中,Type 设置为 NT5DS (Local)。过去,将林根域控制器的时钟同步到外部时间服务器需要修改 Windows 注册表,但更好的选择是通过组策略设置进行更改。

首先,打开服务器管理器,然后从工具菜单中选择组策略管理选项。当组策略管理控制台打开时,选择域控制器文件夹。右键单击默认域控制器策略(或域控制器上使用的策略),然后从快捷菜单中选择编辑命令。通过控制台树导航到计算机配置 > 策略 > 管理模板 > 系统 > Windows 时间服务 > 时间提供程序。

双击配置 Windows NTP 客户端设置。从对话框中启用设置,然后将类型字段设置为 NTP。输入以下行以使用 NTP 服务器填充 NTP 服务器字段:

us.pool.ntp.org,0x1 1.us.pool.ntp.org,0x1 2.us.pool.ntp.org,0x1 3.us.pool.ntp.org,0x1

时间同步服务器,GPS北斗卫星同步时钟,时间服务器,ntp服务器,PTP服务器,网络时间服务器
图 2. 将 Type 字段设置为 NTP,然后提供 NTP 服务器的名称。

 配置更改后,强制更新策略,然后在提升的 PowerShell 窗口中使用以下命令重新启动 Windows 时间服务:

GP更新/强制

重启服务W32Time

配置更改应确保在 Active Directory 中注册的 Windows 计算机上的时钟准确无误。设置可能需要几分钟才能在环境中循环。

返回命令提示符窗口并运行 W32tm 查询;NTP 服务器列表应反映更改。例如,图 3 表明 NTPClient 部分中的 Type 已更改为 NTP (Local),并且现在有一个 NTPServer 条目,显示现在用于时钟同步的 NTP 服务器。

时间同步服务器,GPS北斗卫星同步时钟,时间服务器,ntp服务器,PTP服务器,网络时间服务器
图 3. Windows 时间服务查询显示计算机时钟与外部 NTP 时间服务器同步。

如何解决外部 NTP 服务器问题

如果 Windows 时钟不会与时间源同步,请进行以下检查:

  • 确保防火墙上的 UDP 端口 123 已打开,以允许 NTP 流量通过。

  • 确保虚拟化主机从同一时间服务器获取时间。虚拟机通常从虚拟化主机获得时间。

  • 确保客户端可以解析时间服务器的域名。

  • 验证客户端和时间服务器之间是否存在有效的通信路径。