win7搭建局域网时间服务器

近日,本人想在局域网内通过普通的windows 7 PC搭建一台NTP服务器,可看似简单的配置却给我捣腾了了半天。初期,参考了互联网的上相关的配置文档,可网络设备就是死活不同步NTP服务器的时间。实在没办法,只有通过来抓包分析了,经过一番研究后,终于找到问题,现将这个文档与大家分享:

 

通过windows系统为局域网搭建NTP服务器,为局域网内网络设备提供时间服务,经过测试,使用于windows xp、windows 2003、windows 7。

 

1、启用 NTPServer。为此,请按照下列步骤操作:

a. 单击“开始”,单击“运行”,键入“regedit”,然后单击“确定”进入注册表;

b. 找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32TimeTime/Providers/NtpServer

c. 在右窗格中,右键单击“Enabled”,然后单击“修改”;

d. 在“编辑 DWORD 值”的“数值数据”框中键入“1”,然后单击“确定”;

 

 

2、如果使用NTP Server,建议关闭NTP Clinet,找到并单击下面的注册表子项:

a.HKEY_LOCAL_MACHINE/SYSTEM/CurrentControl/SetServices/W32TimeTime/Providers/NtpClinet

b. 在右窗格中,右键单击“Enabled”,然后单击“修改”;

c. 在“编辑 DWORD 值”的“数值数据”框中键入“0”,然后单击“确定”;

3、强制主机将自身宣布为可靠的事件源,从而使用内置的CMOS时钟

a、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

b. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”;

c. 在“编辑 DWORD 值”的“数值数据”框中键入“5”,然后单击“确定”;

 

 

4、按照以上步骤设置完成后,经测试windows系统的客户端均能正常同步NTP服务器的时间,通过抓包可以看到:

(10.160.13.252为windows xp客户端,10.160.13.73为NTP服务器)

client--server

 

 

server—client

 

 

 

5、但此时网络设备(如cisco、h3c交换机……)仍然不能正常同步NTP服务器时间,始终显示unsynchronized,通过抓包可以看到:

从网络设备(NTP客户端)到到NTP服务端的数据包里面,NTP协议中字段为:Reference ID:unidentified reference source

 (10.160.13.237为网络设备)

client--server

 

 

server—client

 

 

 

 

6、经过一番捣腾后,发现修改注册表能解决以上问题:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\LocalClockDispersion值修改为0

此时可以看到client—server的数据包中,NTP协议的字段Reference ID携带了NTP服务器的IP地址,为下图:(即此时网络设备可以正同步NTP服务时间)

 

Reference ID:10.160.13.73(NTP服务器IP地址)

client —server

 

 

 

server—client

 

posted on 2017-09-18 11:46  cagebird  阅读(1255)  评论(0编辑  收藏  举报

导航