[问题处理]AD相关 时间提供程序 NtpClient 报错处理

  • ~3.14K 字
  • 次阅读
  1. 1. 现象
  2. 2. 过程
  3. 3. 文档
  4. 4. 总结
  5. 5. w32tm

现象

报错信息如下
“时间提供程序 NtpClient: 在尝试联系域控制器 X 8 次以后,仍然没有收到有效的响应。此域控制器将不再作为时间源使用,并且 NtpClient将尝试发现一个新的域控制器来同步。错误为: 无法连接到对等机。”

事件报告
“时间提供程序 NtpClient 正在从 计算机名(ntp.d|0.0.0.0:123->目的:123) 接收有效的时间数据。”

然后基本每条后面跟最前面那种报错报告。

过程

看到了这篇文章
https://shiyousan.com/post/635774974180847748

有说明原因,但说的很含糊,甚至有点乱(我自己写的也乱)。因为按我的理解,加域的机子都是把内网AD作为NTP Server的。(但实际不是,https://www.azurew.com/windows/windows-server-2016/3098.html,也可以不这么设)
划掉,按个人理解,虽然没有显式的设置以及注明,但实际加域客户端默认都是找AD进行NTP,类似于潜规则。从之前的AD断电导致的客户端时间异常,以及一些相应的文章都表明如此。

很可能单纯的是网络问题,原先两个域控,我看提示有问题的那个域防火墙开了,但其他工作或者公共的防火墙是关的。
而另一台刚好相反,别的都开了,把域防火墙关了……………..

我手头的系统都没有类似设置项,查询的都是看注册表,除了个别设了个内网机子(没报错的那台)

别的都是 time.windows.com ,0x8或0x9,但是ping不通

理论上 Server 自己进行过 NTP 所以应该能用才是

究其原因 123端口是udp的,也就是telnet不通,所以不大好判断。总之是防火墙的锅,所以理论按那个文章写的似乎没有任何意义。也不知道前任是怎么做出这种奇葩配置的,两个防火墙刚好配的相反(域防火墙应该专门针对域里的机子,然后把公用,工作关了就很emmmm)


发现360这个憨逼似乎会把win32tm相关服务禁用(再结合360浏览器的速度单位M/s,可以确定360是垃圾软件)(这是另一次处理问题发现的) -

仔细看了下,问题机子还有其他问题,在我来之前已经带病坚持了半年。然后我来了一年,就只动过上面的DHCP

先记一下,之后可能会用到的名词
PDC Emulator: The DC with the Primary Domain Controller Emulator role is the authoritative DC in the domain. The PDC Emulator responds to authentication requests, changes passwords, and manages Group Policy Objects. And the PDC Emulator tells everyone else what time it is! It’s good to be the PDC.

https://www.renanrodrigues.com/post/how-to-configure-ntp-server-in-active-directory-step-by-step

(正常来说,默认会自动配置,不需要一步步的配置,里面的命令挺有用)


又研究了一下,13天没报错,所以其实是成功了,中间出问题,连续疯狂报错我也没太搞懂。

文档

https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/identity/configure-authoritative-time-server

1
Windows Server 2016 已改进时间同步算法以与 RFC 规范保持一致。 因此,如果要将本地时间客户端设置为指向多个对等节点,我们建议你准备三个或更多不同的时间服务器。

https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings

https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/configure-authoritative-time-server

总结

错误的防火墙配置导致 AD 间 ntp 无法通讯(ntp 使用了 udp 123端口),外加之前的坑货 Server 上装 360 把 w32tm 服务干了,而其他 site 的坑货弄得 AD 也是弄得乱七八糟的。并且 Server 一堆 2008,不太标准。

通常来说,域里只要有一台域控出问题,就可能导致问题。

微软自己的 NTP Server(time.windows.com) 很可能是被墙状态。

默认 AD Server 会自动开启NTP Server,注册表里能看到enable,普通电脑默认不开NTP Server,默认会将 AD 当作 NTP Server。

理论上域内的NTP Server是自动查询,有啥用啥(没做验证),理论client端不需要做任何配置,可以在client端用w32tm /query /status验证,未加域的机子,不会启用用w32tm,”The Windows Time service (W32Time) synchronizes the date and time for all computers managed by Active Directory Domain Services (AD DS). “说明w32tm是AD域里专用的。
w32tm配置主要还是通过命令行。

NTP Server配置可以见HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

如问题机的type就是NTP,新加的AD是NT5DS(Most domain-joined computers have a time client type of NT5DS, which means that they synchronize time from the domain hierarchy. An exception to this is the domain controller, which functions as the primary domain controller (PDC) emulator operations master for the root forest domain. The PDC emulator operations master in turn is usually configured to synchronize time with an external time source.)
具体type的意思文档里都有

w32tm

状态
w32tm /query /status

同步
w32tm /resync /nowait

Server 端配置
w32tm /config /manualpeerlist: cn.pool.ntp.org /syncfromflags:manual /reliable:yes /update

打赏
打赏提示信息
分享
分享提示信息