您的位置:首页 > 编程语言 > PHP开发

windows 2008 R2 搭建NTP服务器方法与分析

2017-05-28 12:56 295 查看

NTP服务器配置方法

Windows 运行打开“regedit”编辑注册表;

找到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters",[Type]设定值修改为“NTP”;

找到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config",

[AnnounceFlags]修改设定值为5或者a;
AnnounceFlags的值为5时,强制时钟源为本地CMOS时钟
AnnounceFlags的值为a时,时钟源为设定的NTP服务器地址
4."HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer"
[Enabled]数值修改为1;
此作用为开启NTP服务器功能(默认是不开启NTP Server服务,除非电脑升级成为域控制站)
5.重起Windows Time服务 注意(服务设置为自动启动)。两种方法任选一种
a)打开开始菜单输入“CMD”在命令行模式下输入:
net stop w32time && net start w32time 重启一下win32time服务
b)通过管理工具--服务,先关闭windows time 服务,再开启该服务,也可以将该服务设置为自启动
(实测开启自动启动,重启后依然没有启动,需要手动启动)
6.NTP服务为UDP 123端口,注意防火墙放开该端口,windows防火墙放开方法:
CMD命令下:netsh firewall add portopening protocol = UDP port =123 name = NTPSERVER

NTP客户端配置方法

1.修改如下注册表即可
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
SpecialPollInterval     值修改成十进制43200 (单位为秒,43200为12小时)
SpecialPollTimeRemaining  值修改成[时间同步服务器],0 如:192.168.1.1,0
2.在系统Internet时间设置里手动填写服务器,如下图,立即更新。

注:
时间相差太大,需要在时间配置里手动同步(桌面右下角时间)或同步有问题,手动在下图框中输入服务器IP地址,立即更新。
测试中在注册表修改后,退出重新刷新,SpecialPollTimeRemaining 的值又变回原来的值,在Internet时间设置的同步中手动输入服务器Ip(下图),立即更新后,windows就保存了这个服务器IP记录,后续更新正常。



测试验证通过:
windows 2008 R2可以同时作为NTP客户端同步上级时钟源,且作为其他NTP客户端的NTP服务器

模拟器测试结果与分析:

当win2008作为服务器没有上级时钟源时

第三步[AnnounceFlags]修改设定值为5时,交换机作为ntp client才同步成功

当设置值为a时,交换机debug错误:

*May 2715:22:09:740 2017 ntp-client NTP/7/ACL: Access restrict: 0x00000008.*May 2715:22:09:740 2017 ntp-client NTP/7/AUTH: Received a packet at 73, from88.1.1.20, mode 4, key ID 00000000, length 48, authentication result 0*May 2715:22:09:740 2017 ntp-client NTP/7/VALID: The packet from 88.1.1.20 failed thevalidity tests 0x0000d420. 服务器抓包显示两方版本不一样,时钟层数为未知的或者非法的(0)





3.当值设置为5时,服务器回包即时钟层数即为1即为正常,但版本依旧不一样




4.附带两种情形下客户端发包,客户端发包相同,客户端本地时钟层数皆为0



同步之后会发现交换机和NTP windows 2008服务器时间差了8个小时

这个是因为windows 2008 是北京时间东8区,而网络设备一般默认是0区所以交换机用以下命令clock timezone utc+0800 add 8 即可

当win2008作为服务器有上级时钟源时




Win2088NTP服务器配置的第三步[AnnounceFlags]修改设定值为a,其他参考第一节

Win2008NTP客户端配置参考ntp客户端配置,需要在Internet时间配置里手动填写服务器,点击立即更新

开启windows time服务

交互过程如下:

1. Win2008作为ntp客户端同步原子时钟时间
客户端发包


服务器回包


其他时间同步交互类似2. 交换机作为ntp客户端同步win2008时间
交换作为客户端发包


Win2008作为服务器回包


其他交互报文类似 交换机上ntp状态:<ntp-client>dis ntp sessions source reference stra reach poll now offset delay disper
***********************************************************************
[12345]88.1.1.20 88.1.1.254 2 255 64 178 2758.7 1.4038 15.197Notes: 1source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
Total sessions: 1
显示时钟源为88.1.1.20,时钟源88.1.1.20的时钟层数为2,时钟源参考时钟时原子时钟88.1.1.254,(88.1.1.20即为win2008服务器地址)<ntp-client>disntp status
Clock status: synchronized
Clock stratum: 3
System peer: 88.1.1.20
Local mode: client
Reference clock ID: 88.1.1.20
Leap indicator: 00
Clock jitter: 0.019089 s
Stability: 0.000 pps
Clock precision: 2^-15
Root delay: 32.65381 ms
Root dispersion: 2952.42310 ms
Reference time: dcd4d362.1cf1fe84 Sun, May 28 2017 12:41:06.113
显示交换机本机的ntp时钟层数为3,时钟服务器ip和参考时钟都为win2008
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows 2008 R2