windows 时间服务器配置详解
最近发现公司的服务器时间一直不准确,也无法和外部时间源进行同步。公司是域环境,按理说客户端PC应该自动和域控AD进行时间同步,但是PC机时间老是不能同步,不是慢了就是快了,就是和域控时间不一致。其它服务器没有加入域,但也希望和AD时间进行同步,可是老是出各种问题,无法同步,一顿百度谷歌后终于解决问题,现把解决过程记录下来。
环境介绍:
域控AD:作为时间服务器给加入域或未加域的PC和其他服务器作为时间源提供,同时作为互联网时间服务器的客户端,自动从互联网时间服务器同步时间。
操作步骤:
1.将AD配置为NTPclient 从互联网时间服务器同步时间
域控制器默认情况下,时间配置里并没有internet时间配置这个标签,是因为域控制器默认以自己的时间为准,同时向加入域的PC或成员服务器提供时间,也就是说域成员机器会把域控当作时间源服务器并自动同步。
这里需要修改注册表
打开注册表定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient 分支 将enable 值设为十进制1,表示启用ntp client
再将SpecialPollInterval的值设为900,这个值表示多长时间和服务器同步一次,单位是秒。
再到config子项下修改AnnounceFlags值为十进制的5
AnnounceFlags设为5表示以外部时间源为准进行同步,10表示以本机BIOS时间为准。
转到Parameters分支下修改ntpserver的值为外部时间源域名或ip地址和Type值为ntp。
这里也是网上搜索到的阿里云的时间服务器,测试可用。阿里提供7个时间源服务器,分别是:
time1.aliyun.com
time2.aliyun.com
time3.aliyun.com
time4.aliyun.com
time5.aliyun.com
time7.aliyun.com
ntpserver的值可以有多个,以空格分隔开。
到此ntp客户端配置完成
打开命令行(以管理员身份运行)重启一下w32time这个服务,而且这个服务要设为自动启动。
显示目前服务器指定的外部时间源
w32tm /query /status 可以看时间源域名和IP地址 上次成功同步的时间撮。
显示本地时间与目标时间的时间差
w32tm /stripchart /computer:time7.aliyun.com /samples:30 /dataonly
看到机器当前时间与时间源的时间相差很小,基本是准确的。
2.将AD或任一台机器配置为NTPserver 对内提供时间源
打开注册表定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 分支 将enable 值设为十进制1,表示启用ntp server
3.利用域策略为PC提供时间源
打开域策略管理器,新建一个gpo 编辑 定位到 计算机配置—管理模板—系统—Windows时间服务,双击"全局时间配置",选择"已启用"。
修改MaxNegPhaseCorrection的值为900(即为900秒,15分钟)
修改MaxPosPhaseCorrection的值为900(即为900秒,15分钟)
修改AnnounceFlags的值为5
点"应用","确定"。
计算机配置—管理模板—系统—Windows时间服务—时间提供程序,"启用Windows NTP客户端",选择"已启用"。
"配置Windows NTP客户端",选择"已启用"。
修改NtpSever的值为ntpserver ip或域名,0x6
修改Type的值为NTP
修改SpecialPollInterval的值为900(15分钟)
4.未加入域的pc和其它服务器时间同步配置
5.常见问题
如果是手动同步,可能经常会出现同步出错。
出错的原因可能是w32time服务没有启动,此服务最好设为自动启动,必要时重启一下这个服务。
国外的时间源网络有延迟,尽量用国内的源。
还有另外一个重要原因就是在做组策略的时候应用位置不当也会引起无法同步的问题。
我遇到的就是这样的情况,开始我把同步时间的策略应用到了整个目录林,包含了域控制器和成员服务器,这样的话,不但域控服务器的时间不准,还会导至PC和其它的时间都不准,而且手动同步的时候会出错。
解决方法是:
把策略应用在不包含域控服务器的OU上。