Windows搭建并运行NTP服务 Windows 自带Windows Timew32time​ 服务就能当 NTP Server 用不用装第三方软件。下面给你一套工作组/局域网环境可用的标准做法Win10/11、Windows Server 通用。一、核心原理NTP 走UDP 123w32time 默认只做客户端要对外提供服务需改注册表NtpServer\Enabled 1开启服务端Config\AnnounceFlags 5声明自己是“可靠时间源”如果是域控NTP Server 默认已开只需调上游时间源二、服务端配置管理员 CMD / PowerShell1. 开启 NTP Server 功能reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer /v Enabled /t REG_DWORD /d 1 /f2. 声明为可靠时间源reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 5 /f若这台机器本身连不上外网上游、又希望强行对外授时可改成0xA不依赖上游也可宣告自己可靠。3.可选指定自己先跟谁同步如果本机时间不准先让它跟公网 NTP 对齐reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v Type /t REG_SZ /d NTP /f reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v NtpServer /t REG_SZ /d ntp.aliyun.com,0x1 time.windows.com,0x1 /f每个 NTP 地址后面必须带,0x1否则 SpecialPoll 模式不生效。4. 重启时间服务net stop w32time net start w32time建议把 Windows Time 服务启动类型设为“自动”5. 放行防火墙 UDP 123 入站netsh advfirewall firewall add rule nameNTP Server protocoludp dirin localport123 actionallow或用 PowerShellNew-NetFirewallRule -DisplayName NTP Server -Direction Inbound -Protocol UDP -LocalPort 123 -Action Allow三、验证服务端是否正常在本机w32tm /query /status netstat -an | findstr :123看到UDP 0.0.0.0:123监听即成功。从局域网另一台机器测w32tm /stripchart /computer:192.168.1.100 /samples:5能出 offset 曲线就通了。四、客户端怎么连Windows 客户端管理员w32tm /config /manualpeerlist:192.168.1.100,0x8 /syncfromflags:manual /reliable:no /update net stop w32time net start w32time w32tm /resyncLinux 客户端ntpdate -q 192.168.1.100 # 或写进 /etc/ntp.conf - server 192.168.1.100 iburst五、常见坑改完注册表没重启 w32time​ → 不生效防火墙只开 TCP 123​ → NTP 是 UDP必须 UDPAnnounceFlags 没改​ → 客户端认为“这不是可靠源”不去同步本机时间差太大MaxPos/NegPhaseCorrection​ → 拒绝跳变需先手动近似对时虚拟机​ → 优先用 Hyper-V/VMware 自带时钟同步再叠加 NTP避免漂移打架