离线服务器时间同步NTP服务器配置

背景

我发现某几台完全离线的服务器的时间校准与北京时间相差快十分钟了,这必然会导致系统运行时的时间获取错误,极易让人忽视,所以我想将那几台离线服务器的时间校准为AD服务器的时间。

离线服务器时间配置

将时间同步服务器指向AD服务器IP(内网),配置完离线服务器将每隔几分钟去自动同步一次AD服务器的时间

问题发现

笔者的AD服务器是联网的,实际上这样做并不规范,规范做法应该是自己在内网搭建一个NTP服务器去同步外部的NTP服务器时间,比如阿里的NTP服务器,中国国家授时中心的NTP服务器,然后再去AD配置时间指向内网的NTP服务器

1、首先查看AD时间准不准,跟了几分钟发现与北京时间也差个2分钟,说明AD服务器的时间也不准,我第一时间想法是不是自动同步时间没开,但是去看了也不对,AD服务器压根没有自动同步时间的选项

2、使用w32tm /query /status查看时间同步状态,我一看到Free-running System Clock就知道AD服务器实际上依靠的是本地硬件时钟,非常容易时间误差。我们需要把时间同步源改为外部的可靠的NTP服务器。

AD服务器时间配置

确认和NTP服务器的连接性

使用 w32tm /monitor /computers:ntp.aliyun.com命令,确认和NTP服务器是否可连接。这里ntp.aliyun.com是阿里云提供的NTP服务的域名。

与NTP服务器的连接正常时,显示如下。

而当和NTP服务器无法连接时,显示如下错误信息。

w32tm /query /source命令,确认当前时间同步服务器。这里显示Free-running System Clock,既没有进行NTP同步。

给出几个国内常用的NTP服务器地址

中国国家授时中心 NTP 服务器

阿里云 NTP 服务器

腾讯云 NTP 服务器

华为云 NTP 服务器

配置时间同步

AD 域控本机 ,打开管理员 CMD,逐条完整执行:

1. 重置 Windows 时间服务
复制代码
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
2. 配置域控同步阿里云 NTP,设为内网权威时间源
复制代码
w32tm /config /manualpeerlist:"ntp.aliyun.com,0x8" /syncfromflags:manual /reliable:yes /update

参数含义:

  • ntp.aliyun.com,0x8 阿里官方时间源,格式正确

  • /reliable:yes 关键:标记域控为内网可信时间服务器,别的机器才能同步它

  • /syncfromflags:manual 强制关闭自由时钟 freerunning

3. 重启服务并强制同步外网
复制代码
net stop w32time && net start w32time
w32tm /resync /force
4. 域控验证(确认成功)
复制代码
w32tm /query /source

正常结果:

复制代码
ntp.aliyun.com

不再显示 freerunning system clock

查看详细状态:

复制代码
w32tm /query /status

域控防火墙放行【入站 UDP 123】(重中之重!)

离线机 ping 得通域控,却同步失败 ,100% 就是这里没开! Windows 默认防火墙拦截外部所有设备访问本机 UDP123,哪怕网络通也连不上 NTP。

在 AD 域控上直接运行放行命令:

复制代码
netsh advfirewall firewall add rule name="NTP-In-UDP-123" dir=in action=allow protocol=UDP localport=123 enable=yes profile=any

作用:允许内网其他服务器、电脑连接域控同步时间

同时补全域控出站(连阿里外网用):

复制代码
netsh advfirewall firewall add rule name="NTP-Out-UDP-123" dir=out action=allow protocol=UDP remoteport=123 enable=yes profile=any

内网离线服务器配置(无外网,只同步 AD 域控)

离线业务服务器 上操作,不需要外网、不需要改网关 DNS,只填域控内网 IP。 同样管理员 CMD 逐条执行:

1. 重置本机时间服务
复制代码
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
2. 指定同步源为【AD 域控内网 IP】

假设你的AD 域控内网 IP 为:192.168.1.10(192.168.1.10) 替换成你真实 IP,命令如下:

复制代码
w32tm /config /manualpeerlist:"192.168.1.10,0x8" /syncfromflags:manual /reliable:no /update

要点:

  • 末尾必须加 ,0x8,Windows NTP 强制格式

  • /reliable:no 离线机不作为权威源,只做客户端同步

3. 重启服务 + 强制同步
复制代码
net stop w32time && net start w32time
w32tm /resync /force
4. 离线服务器验证
复制代码
w32tm /query /source
相关推荐
keyipatience7 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
星夜夏空999 小时前
网络编程(1)
服务器·网络
川石课堂软件测试9 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
redreamSo10 小时前
一天涨 1800 星的 GitHub 榜首:AI 编程瓶颈变成了 token
人工智能·开源·github
逛逛GitHub11 小时前
盘点 18 个 Kimi K3 外网爆火的案例,太令人惊艳了。
github
就不掉头发12 小时前
计算机的虚拟内存
linux·服务器·windows
暴力求解12 小时前
Linux ---线程控制(二)
linux·运维·服务器·操作系统
smartvxworks12 小时前
Linux 实时内核(Linux Real-Time Kernel)详解:原理、实践与优化
java·linux·服务器
梦痕长情12 小时前
等保三级三权账户
linux·运维·服务器
wuqingshun31415913 小时前
说说TCP的3次握手?为什么需要三次握手?
服务器·网络协议·tcp/ip