如何避免Windows Server服务器时间同步问题

如何避免Windows Server服务器时间同步问题,第1张

 -网络认证失败
-和系统中心数据保护管理器(SCDPM)代理的沟通问题
-Exchange Server、Active Sync和Outlook Web Access(OWA)不可用
在很多情况中,
服务器时间同步问题来源于Kerberos协议
,它有一个安全功能专门查看Kerberos票据上的时间戳,这主要是为了保护它们不会被重复使用。如果一张票据上的时间距离现在超过了五分钟,这张票据会遭到拒绝。因此,如果时钟五分钟内没有同步,Kerberos会开始出现故障。
通常来讲,时间同步不会带来问题。例如,当Windows在活动目录(AD)环境中运行时,域内的所有计算机时钟都自动地与域控制器同步。但是,在域成员和工作组成员混合或是多个活动目录林存在的环境中,时钟同步就可能变成一个问题。
举个更具体的例子,我自己网络中的所有生产服务器都进行了虚拟化。因为这个原因,我的虚拟化主机服务器中没有域成员,且所有的域控制器都是虚拟机。由于虚拟机根本没有启动,所以主机服务器不能和域控制器沟通的情况就不可能出现。如此一来,我选择让主机 *** 作系统作为工作组成员。
另外,我所有的虚拟化主机都运行WindowsServer2008 R2上的Hyper-V这些服务器中的一些集群运行Windows 2008R2的虚拟机,其它的集群那些仍然运行Windows Server2003的虚拟机。但是虽然运行Windows 2008 R2的来宾机好像和主机服务器的时钟保持了同步,运行Windows 2003的机器有可能无法和其余网络保持同步。
在工作组环境中,你可以通过打开Command Prompt窗口然后键入如下命令来将机器链到时间来源:
W32tm/config/syncfromflags:manual/manualpeerlist:W32tm/config/update
在这个例子中,你可以将替换成完全限定域名(FQDN)或是你想与之保持同步的服务器IP地址。你可以通过隔离每个有一个空间的地址来指定多个时间来源。
在域环境中,使用组策略设置来指定时间来源情况会更好些。时钟相关的组策略设置可以在Group Policy Editor里看见,位置是:Computer Settings Administrative Templates System Windows Time Service
有三个不同的组策略设置可供你使用,包括:
-Configure Windows NTP Client-让你可以将计算机时钟和外部时间来源进行同步。
-Enable Windows NTP Client-允许计算机将时钟与其它Windows服务器进行同步。
-Enable Windows NTP Server-允许服务器向Windows NTP客户端提供时间同步。
注意,如果你打算和外部的时间来源进行同步,比如NIST,你就不能启用Windows NTP Client或是Windows NTP Server使用外部时间来源时,你可能还要打开一些防火墙端口。Windows服务器为时间协议运用UDP端口123,它在默认情况下就该打开。但如果你想要使用NIST,你还要打开TCP端口13,TCP端口37和UDP端口37
正如你所见,保持Windows Server时钟间的同步十分重要。尽管时钟一般会自动同步,准备好面对需要手动同步时钟的情况还是必要的。

1、局域网中搭建一台NTP校时服务器。
2、其他服务器开启校时功能,连接到1中的校时服务器上。
3、目前的 *** 作系统都支持自动校时,第一次设置好了,以后会自动对时。定期检查一下校时状况即可。

Linux自带了ntp服务 -- /etc/initd/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。

配置文件就是/etc/ntpconf。

为了测试,设置让node2 -- 1921681102和node1 -- 1921681101做时间同步。
第一步,node1做time server,node1本身不和其他机器时间同步,就是取本地时间。
所以,先把node1机器的时间调准了:

[root@node1 ~]date -s 08/03/2011

[root@node1 ~]date -s 11:12:00

[root@node1 ~]clock -w
[root@node1 ~]hwclock --systohc

后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。

第二步,然后将node1配置成一个time server,修改/etc/ntpconf,
[root@node1 ~]vi /etc/ntpconf
其他的配置不怎么需要改,只需要关注restrict的配置:

1 注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。

2 加入:restrict 19216810 mask 2552552550 -- 让19216810/24网段上的机器能和本机做时间同步

3 这样就可以了,记得下面的:

server 12712710 # local clock
fudge 12712710 stratum 10

这两行需要,这是让本机的ntpd和本地硬件时间同步。

当然,我们也可以添加server xxxxxxxxxxxx,让他和其他的time server时间同步。

4 /etc/initd/ntpd restart

5 chkconfig ntpd on

6 修改iptables配置,将tcp和udp 123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。

第三步,这样node1就成为一台time server了,现在我们配置node2这台机器,也是修改/etc/ntpconf ,
[root@node2 ~]vi /etc/ntpconf

1 restrict default ignore这行保留为注释状态,因为sales不需要做time server

2 注释掉server 12712710, fudge 12712710 stratum 10这两行,因为这台机器不需要和本地硬件时钟同步了。

3 加入server 1921681101这行,和node1机器同步。


这样就OK了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间

第四步,将ntpdate放到crontab中定期步也是可以的
[root@node2 ~]#vi ntpupdatesh
/usr/sbin/ntpdate 1921681101
[root@node2 ~]#chmod 755 ntpupdatesh
[root@node2 ~]#crontab -e
/1 /root/ntpupdatesh
[root@node2 ~]#/etc/initd/crond restart


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13416829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-01
下一篇 2023-08-01

发表评论

登录后才能评论

评论列表(0条)

保存