首页 > 代码库 > windows 2008 R2 搭建NTP服务器方法与分析

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

NTP服务器配置方法


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

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

  3. 找到"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 (单位为秒,4320012小时)

 SpecialPollTimeRemaining  值修改成[时间同步服务器],0 如:192.168.1.1,0

2.在系统Internet时间设置里手动填写服务器,如下图,立即更新。

  

注:

  时间相差太大,需要在时间配置里手动同步(桌面右下角时间)或同步有问题,手动在下图框中输入服务器IP地址,立即更新。

  测试中在注册表修改后,退出重新刷新,SpecialPollTimeRemaining 的值又变回原来的值,在Internet时间设置的同步中手动输入服务器Ip(下图),立即更新后,windows就保存了这个服务器IP记录,后续更新正常。

技术分享

测试验证通过:

windows 2008 R2可以同时作为NTP客户端同步上级时钟源,且作为其他NTP客户端的NTP服务器

模拟器测试结果与分析:

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

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

  2. 当设置值为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作为服务器有上级时钟源时

技术分享

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

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

  3. 开启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.197

Notes: 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






本文出自 “网络疯人院” 博客,请务必保留此出处http://xxy123456.blog.51cto.com/2863352/1930434

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