https://blog.csdn.net/hobbithero/article/details/53349531
Windows 2012 R2 服务器NTP
开启 NTP Server服务
将服务器类型更改为NTP。为此,请按照下列步骤操作:
登录到服务器上,打开 shell 终端,输入:
$ regedit
执行上述命令后,将打开设置对话框,按照如下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
鼠标双击 Type 文件;
弹出对话框,在 数据数值(V)项输入 NTP,单击确定;
将AnnounceFlags 设置为5。为此,请按照下列步骤操作:
按照此路径查找文件:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
双击AnnounceFlags文件;
在 编辑DWORD 值 的 数值数据 框中键入 5 ,然后单击 确定按钮。
启用 NTPServer,请按照下列步骤操作:
按照此路径查找文件:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled
双击 Enabled文件。
在 编辑DWORD 值 的 数值数据 框中键入 1,然后单击 确定按钮。
关闭注册表编辑器;
重启Windows时间服务;
$ net stop w32time
$ net start w32time
加入防火墙规则,打开端口123 ,命令提示符:
$ netsh firewall add portopening protocol = UDP port =123 name = NTPSERVER
如下图所示:
设置 Windows 时间服务
打开 shell 终端, 输入:
$ gpedit.msc
执行上述命令后,计算机策略对话框打开,按照如下路径 计算机配置\管理模板\系统\windows 时间服务\时间提供程序 找到服务器设置文件
双击 启用 Windows NTP 服务器,显示状态已启用即可;
修改本地服务设置
在 shell 终端,输入如下命令:
$ services.msc
打开本地服务设置对话框:
找到 Windows Time 文件,双击文件,如图:
在 启动类型 项选择 自动(延时启动);
单机 应用, 确定按钮,完成设置;
查看防火墙是否修改
按照如下,进行选择:
开始\控制面板\系统和安全\Windows防火墙
选择高级设置
选择入站规则 右侧可以看到 NTPSERVER 规则,防火墙规则设置成功;
开启 NTP Client的NTP 服务
注:如果物理服务器需要与上游时间服务器进行时间同步,则需要开启 NTP Client 服务
打开 shell 终端, 输入:
$ gpedit.msc
执行上述命令后,计算机策略对话框打开,按照如下路径 计算机配置\管理模板\系统\windows 时间服务\时间提供程序 找到服务器设置文件
双击 配置 Windows NTP 客户端,显示 配置 Windows NTP 客户端
将 Ntp Server项,输入将要同步到的时间服务器IP地址,注意 0x9 或 0x1 必须要有;
在 类型 项, 选择 NTP;
点击 应用、确定 按钮;
启动 NTP 客户端
点击 应用、确定 按钮;
完成 NTP Client 的设置;
除了上面的设置:还要完成下面的
另外:还要修改注册表的相关设置值:
1、找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer,
修改值为设置的NtpServer的IP,后加,0x1。如:“172.31.4.51,0x1”。
注意,IP后面跟上逗号和0x1。
2、修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient里的 “SpecialPollInterval”,
这个代表时间间隔,多长时间和Ntp服务器同步一次,单位为秒,原来的值为"93a80" (十六进制的)
3、修改
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\Config里的UpdateInterval的值,我这里改为5,但其实我不确定这个要不要设置,我自己在试的过程中发现这个不设置好像就同步不到了,所以我才设置,网上其他人说的配置没有这一步。这个原来的默认值是360000(十进制的)。
4、设置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection 为 FFFFFFFF(原来为d2f0,十六进制)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection 为 FFFFFFFF(原来为d2f0,十六进制)
MaxNegPhaseCorrection这个代表慢于NTP服务器的时间,如果本地时间超过NTP服务器MaxNegPhaseCorrection秒,就不同步;
MaxPosPhaseCorrection这个代表快于NTP服务器的时间,如果本地时间超过NTP服务器MaxNegPhaseCorrection秒,就不同步
5、重启w32time服务 net stop w32time && net start w32time
6、按开始->运行,输入"services.msc"进入服务,将windowns time服务start方式设置为Auto