Windows 时间同步 time.windows.com 失败,错误指向内网IP 10.74.251.12 的解决记录

最近我电脑的 Windows 时间同步出了点怪事。明明我选的服务器是 time.windows.com,但同步的时候老是弹错误,说:“Windows 在与 10.74.251.12 进行同步时出错。由于超时时间已过,该操作返回。”

这就奇了怪了,10.74.251.12 这明显是个内网 IP 地址,time.windows.com 怎么会跑去连这个呢?

初步检查:

我先是看了下自己的 hosts 文件,干干净净,没什么问题。然后试了下 ping time.windows.com,结果能通。这就让我更纳闷了,既然网络和域名解析看起来都还行,那问题出在哪儿呢?

深入排查:

接下来,我用了几个命令想看看到底怎么回事:

  1. nslookup time.windows.com: 这个命令查了下 DNS 解析。结果显示 time.windows.com 解析到的是 twc.trafficmanager.net,IP 是 20.189.79.72。这是个公网IP,看起来是正常的。

    服务器:  PHICOMM.lan
    Address:  192.168.2.1
    
    非权威应答:
    名称:    twc.trafficmanager.net
    Address:  20.189.79.72
    Aliases:  time.windows.com
    
  2. w32tm /query /status: 这个命令看了下 Windows Time 服务的状态。输出是:

    Leap 指示符: 3(未同步)
    源: Local CMOS Clock
    上次成功同步时间: 未指定
    

    得,果然是没同步上,时间源都回退到主板的CMOS时钟了。

找到元凶:

前面这些都还只是现象,没找到根本原因。直到我用了下面这个命令:

w32tm /query /peers

输出结果让我恍然大悟:

#对等数: 1

对等: 10.74.251.12,0x9
状态: 运行中
...

看到没?Windows Time 服务配置的对等服务器(Peer)竟然就是那个出错的内网IP 10.74.251.12! 这就解释了为什么 time.windows.com 的DNS解析是对的,但同步还是去找那个内网IP。显然是这个手动指定的对等配置优先级更高。

(我还试了 w32tm /query /configuration 想看完整配置,但提示“拒绝访问”,后来才想起来这些操作得用管理员权限的命令提示符。)

解决过程:

既然找到问题根源是这个错误的对等服务器配置,那就好办了。我开了个管理员权限的命令提示符,开始修正:

  1. 一开始我常规操作,想先停止服务,改配置,再启动: net stop w32time w32tm /config /manualpeerlist:"time.windows.com,0x9" /syncfromflags:manual /reliable:yes /update 结果第二步就报错了:“服务尚未启动。(0x80070426)”。这是因为 /update 参数是通知正在运行的服务更新配置,服务都停了自然会失败。

  2. 调整了下顺序,这次就顺利了:

    • 先停止服务: net stop w32time
    • 配置对等服务器列表(这次不带 /update,配置会直接写注册表): w32tm /config /manualpeerlist:"time.windows.com,0x9" /syncfromflags:manual /reliable:yes (提示:成功地执行了命令。)
    • 启动服务(服务启动时会读取新配置): net start w32time (提示:Windows Time 服务已经启动成功。)
    • 现在服务跑起来了,再通知它更新一下当前操作参数: w32tm /config /update (提示:成功地执行了命令。)
    • 然后强制重新同步: w32tm /resync /rediscover (这步提示“此计算机没有重新同步,因为没有可用的时间数据。”,估计是刚改完配置,服务还没完全准备好) w32tm /resync (再用这个简单点的同步命令,提示:成功地执行了命令。)

结果确认:

执行完上面一套操作后,我赶紧检查了下状态:

  1. w32tm /query /status

    Leap 指示符: 0(无警告)
    层次: 4 (次引用 - 与(S)NTP 同步)
    引用 ID: 0x14BD4F48 (源 IP:  20.189.79.72)
    上次成功同步时间: 2025/5/11 10:49:09
    源: time.windows.com,0x9
    ...
    

    漂亮!“Leap 指示符”是0无警告,说明同步上了。“源”是 time.windows.com,0x9,“引用 ID”也指向了之前 nslookup 查到的公网IP 20.189.79.72。“上次成功同步时间”也更新了最新的时间戳。

  2. w32tm /query /peers

    #对等数: 1
    
    对等: time.windows.com,0x9
    状态: 运行中
    ...
    

    对等服务器也正确显示为 time.windows.com,0x9

总结一下:

这次 Windows 时间同步失败的根本原因,就是 Windows Time 服务里面被错误地手动指定了一个内网IP 10.74.251.12 作为时间同步源。这个配置的优先级比系统设置里选的 time.windows.com (通过DNS解析)要高,导致服务傻乎乎地一直去连那个有问题的内网IP。

排查这类问题,w32tm /query /peers 命令是找到实际配置的关键。而且,所有修改系统服务配置的操作,都必须在管理员权限的命令提示符下进行。

至于那个错误的内网IP是怎么进到配置里的,具体原因我也搞不清了,可能是以前不小心手动改的,也可能是连某些网络时被DHCP服务器下发了错误的NTP信息,或者是某些软件干的好事。总之,现在问题解决了,时间同步恢复正常了就好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值