Windows NTP 时间同步设置

学习 · 2022-03-09

一、准备工作

1. 确定两台主机处于同一网段,能相互ping通。

二、Windows NTP 服务器配置

1. 单击“开始”-》单击“运行”,键入regedit,单击“确定”。
2. 修改注册表
 a) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
    右键"Type",单击“修改”,在”编辑值“的”数值数据“框中键入NTP,然后单击"确定”(这一步有的机器不用做)。  
  b) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled
    设定为1,打开NTP服务器功能。(默认是不开启NTP Server服务)
  c) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
    设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。
    假如要采用外面的时间服务器就用默认的 a 值即可.
  d) 如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\enable
    设定为0 以防止作为客户端自动同步外界的时间服务

3. 在DOS命令行执行以下命令重启Win32Time服务,确保以上修改起作用
  a) 以管理员身份启动命令行工具
   i) 右键“以管理员身份”运行cmd
   ii) win8,win+X--->命令提示符(管理员)
  b) net stop w32time
  c) net start w32time

4. 开放NTP端口123。

5. 到此NTP服务器配置启动成功。

三、Window客户端配置

1. 修改注册表
  a) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval  
    值修改成十进制3600 (单位为秒,3600为1小时,该值为更新时间间隔)
  b) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollTimeRemaining  
    值修改成[时间同步服务器],0 如:192.168.1.1,0,为ntp服务器地址
  c) HKEY_LoCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\DATETIME\SERVERS\default
    修改默认更新服务器

2. 重新启动Win32Time服务
  a) net stop w32time
  b) net start w32time

开启NTP服务bat:

@echo off
reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config" /v "AnnounceFlags" /t REG_DWORD /d 5 /f
reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" /v "Enabled" /t REG_DWORD /d 1 /f
reg add  "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v "Type" /t REG_SZ /d "NTP" /f
netsh advfirewall firewall add rule name="_123 NTP" protocol=UDP dir=in localport=123 action=allow
net start w32time
netstat -an | find "123"
pause

默认NTP客户端设置:

@echo off
reg add  "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config" /v "AnnounceFlags" /t REG_DWORD /d 10 /f
reg add  "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient" /v "Enabled" /t REG_DWORD /d 1 /f
reg add  "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v "NtpServer" /t REG_SZ /d "time1.cloud.tencent.com time2.cloud.tencent.com time.asia.apple.com" /f
reg add  "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters" /v "Type" /t REG_SZ /d "NTP" /f
netsh advfirewall firewall add rule dir=out action=allow name="W32Time" program="%%SystemRoot%%\System32\svchost.exe" service=w32time protocol=udp localport=123 >nul
net start w32time >nul 2>nul