我们用作源的外部 NTP 服务器之一(目前主要的服务器)似乎没有响应 NTP 调用。不幸的是,在我们的核心路由器 (Cisco 6509) 上,NTP 功能并未按预期切换到辅助 NTP 外部服务器。结果,我们的核心路由器(几乎是我们主要的内部 NTP 源)迟到了 2 分钟。
我计划通过使外部 NTP 源成为当前工作的源来解决外部路由器问题。 我想知道,2 分钟的更改会对我的用户和服务产生多大影响?特别是最近,我们严重依赖基于证书的身份验证。
我们是 Windows/Cisco 商店。
内部 NTP 设置:
[核心路由器 1 / Cisco 6509]:
查看两个外部 NTP 服务器(其中主要服务器未响应 NTP 调用)
[核心路由器 2]:
与核心路由器 1(主要)同步,工作的外部路由器(次要)
[其他思科网络设备]:
与核心路由器1(主用)、核心路由器2(次要)同步
[域控制器]:
与核心路由器 1 同步
[所有 windows 客户端/服务器]:
与域控制器同步
除非非常准确的计时对您来说是关键任务,否则除了他们的时钟改变 2 分钟之外,对您的用户应该没有明显的影响。
可能的例外是,如果他们宣布您的 NTP 服务器由于大的更改而“疯狂”(这将需要您在受影响的系统上重新启动 NTP 服务以强制他们同步时钟 - 尽管您可以在没有中断)。
在您修复此问题时,还有一些其他提示:
您应该将查看外部 NTP 源的系统配置为查看来自公共 NTP 池项目的多个 (4-5) 服务器——最好是地理位置合适的服务器。
拥有更多 NTP 服务器允许选择算法忽略那些中断/疯狂并保持时钟准确的服务器。
在像你这样的配置中,我会指向外部时钟源(
Core Router 1
而Core Router 2
不是彼此)。这为您提供了两个独立同步的时钟,它们之间的误差应该在几毫秒以内,但是如果您的一个路由器出现故障,它不会伤害另一个。
在像您这样的配置中,我会将域控制器指向两个核心路由器(同样是为了防止其中一个出现故障)。
如果你想防止时钟发疯,你应该添加第三个权威的 NTP 服务器(或者两次列出你的路由器之一,希望它不是那个失去理智的......)
Windows 的域默认值允许在身份验证停止工作之前关闭+/- 300 秒的时间,所以你会没事的。 Here's a fairy exhaustive article on the subject,其中甚至提到了如何使用域级 GPO 更改对时间偏差的容忍度。它位于
Computer Configuration
->Policies
->Windows Settings
->Security Settings
->Account Policies
->Kerberos Policy
->Maximum tolerance for computer clock synchronization
。也就是说,您应该让您的权威时间源(通常是在 Windows 域中担任 PDC 仿真器角色的域控制器)与外部
ntp
源同步,例如pool.ntp.org
. 来自 Technet 的更多信息,请点击此处。并响应另一个答案,这不需要停机。只需重新指向您的权威时间源,其余加入域的计算机也会自行同步。
编辑:由于 @voretaq7 提到了它,我应该指出我们只有一个系统可以看到外部时间源,即我们的 PDC 模拟器。所有设备,包括网络设备都同步到它。我们发现这是一个更好的安排,因为网络设备不会因时间偏差而拒绝身份验证,但使用 Kerberos 的域加入计算机(对我们来说就是所有计算机)会。因此,在这方面,在我们的网络设备上获得准确的时间并不是特别重要,但它在我们的 Windows 系统上更重要,因为我们也在 Windows 服务器上为小时工运行我们的计时软件。
Windows 客户端实际上在登录时不会有任何问题。如今,对该政策的描述
Maximum tolerance for computer clock synchronization
非常不准确。时钟严重错误的客户端将从服务器获得响应,建立它们的时钟之间的偏差 - 然后身份验证正常进行(客户端调整自身以解决明显的时钟偏差)。
关于一件事的描述是正确的;该策略仍然有效地设置了重放攻击的计时器——但是,就合法流量而言,通信对于大的时钟偏差是健壮的。
有关详细信息,请参阅此 MS 知识库文章。
您可能需要考虑查看核心思科设备以外的其他 NTP 服务器:严重的 NTP 流量会给思科设备带来高 cpu 负载,这可能会导致网络问题。
显然你不能安排一个小的停机时间,是吗?我会要求停机,以便在所有受影响的服务器上重新启动 ntp 服务。如果那不可能,那么您必须等待一段时间。
(我本来打算对 vortaq7 的回答发表评论,但我认为它本身值得重复,因为很多人都犯了这个错误。)
NTP 的算法至少需要 3 个(最好是 4-6 个)时间源才能准确收敛到正确的时间。如果 NTP 只有两个主要来源,而且它们都出自大量数据,则 NTP 无法知道应该信任哪一个。
对我理解这一点的最大帮助是 Sun 蓝图“使用 NTP 控制和同步系统时钟,第三部分:NTP 监控和故障排除”第 9 页的图表。当 Oracle 收购 Sun 时,这份文件从视图中消失了,但您仍然可以在Wayback Machine上找到它。如果您搜索标题,网络上也有很多点击率。