如何同步局域网内计算机显示时间
保持时钟同步,是一个网络稳定、可靠运行的前提,比如SDH(同步数字体系)网络中必须要精确的做到时钟同步,才有可能保证网间数据的准确传输,但是这些运行在网络底层的规范对一般用户来说太遥远了,对于局域网用户来说,最常用的时间同步操作就是“自动与Internet时间服务器同步”
那么我们在局域网中设置时间同步有什么意义呢又是如何实现的呢内外网中时间服务器的设置又有何区别下面我们结合实际局域网中设置实例来详细说明一下。
一、局域网内由于时间不同步造成的问题
作为网络管理员,既要保证网络设备的稳定运行,又要及时处理网络中随时出现的故障,而如果无法实现时间同步,就会增加处理故障的难度,比如:
(一)有时候需要设置CISCO交换机设备定时重启,但每次执行该操作前都要先对时,这样才能保证执行reload命令时的准确性,更要命的是重启后以后,交换机的时间又变回默认的1994年了。
(二)局域内有几十台交换机,虽然大多可以实现远程网管,但由于时间不一致,造成无法准备网络故障发生的确切时间。
(三)最近单位实现指纹机考勤了,同事们也习惯于看电脑上的时间去按指纹,但微机上的时间老不准,结果往往赞成不是去早了就是去晚了,还有在进行文件传输时,不准确的时间信息也影响了检索结果,甚至会引起不必要的误会。
那么如何在局域网内实现时间同步呢
二、时间同步的方法
(一)外网(办公局域网)时间同步的方法
外网,也就是办公局域网,这个局域网的网络设备都可以接入互联网,一个简化的网络拓扑
外网使用了一台CISCO3550交换机作为核心交换机,下面级联了若干台CISCO的29系列交换机,局域网内还有多台微机。
在这种网络模式中,我们不能保证每台网络设备都可以快速的与互联网上时间服务器进行时间同步(比如由于网速或是时间服务器本身的问题),能够保证的是局域网内有一个比较稳定可靠的网络质量,这样的话,我们就选定了CISCO3550作为局域网内的时间服务器,CISCO3550交换机肩负着两个作用,一、它要与互联网上的时间服务器进行同步(保证自身时钟准确),二、它要将时钟信息在局域内广播出去,从而使得局域网内的网络设备(交换机、PC机)都可以与它进行时钟同步,从而保证全网内的时钟同步,下面我分别说明一下实现步骤。
1、设置CISCO3550交换机与互联网上的时间服务器进行同步
3550#conf t
Enter configuration commands, one per line End with CNTL/Z
3550(config)#ntp peer 2107214544 (peer的含义为本设备既可以接受时钟同步,也可以给远端设备提供时钟,双向 2107214544是中科院国家授时中心的IP地址 )
clock timezone gmt 8 (即设置为北京时区)
是的,只需在CISCO3550交换机中敲这么简单的两条命令,过一段时间(前提是CISCO3550交换机可以访问互联网),就可以实现与与互联网上的时间服务器同步了,用直观的感受可以用show clock命令看出来,如下所示:
3550#show clock
22:18:45667 gmt Sat May 23 2009
也就是说明本机的时间已经与互联网上的时间服务器同步了。
小提示
为了更好的理解以上的两步设置,还是有一些知识是需要了解的
(1) 如何得到互联网上的时间服务器的地址
很多方法可以得到,一是XP自身就带了两个时间服务器:timewindowscom和timenistgov,我们只需要DOS模式下执行一下ping操作,就可以得到它们对应的IP地址,分别为20746232182和1924324418,二是中科院有一个标准的授时服务器,地址为2107214544,三可以从网上查,可以得到更为丰富的信息,比如我们访问wwwntporg这个的网站,就可以找到一堆时间服务器的地址,如表1所示:
Area:HostName:
Worldwidepoolntporg
Asiaasiapoolntporg
Europeeuropepoolntporg
North Americanorth-americapoolntporg
Oceaniaoceaniapoolntporg
South Americasouth-americapoolntporg
表1 互联网上的时间服务器列表
这些服务器都是可用的,而且对其进行连接速度也很快,其中重点推荐poolntporg,正象它的网址名字所表达的,这实际是一个地址池,里面根据实际情况来实时调整可用的服务器地址。
2) 在交换机上如何直接写域名
在交换机上可以直接写时间服务器的域名,前提是已经在交换机上设置了DNS服务器,如下所示:
ip name-server 218565758
ip name-server 2191460130
在交换机上设置了DNS服务器信息以后,我们再在交换机上执行ping网址的操作,就会看到交换机自动在执行域名到IP地址的转换,如下所示:
3550#ping poolntporg
Translating "poolntporg"domain server (218565758) [OK]
Type escape sequence to abort
Sending 5, 100-byte ICMP Echos to 611296679, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 144/145/148 ms
这时已经看到交换机具备了域名至IP自动转换的能力,我们也就可以直接写时间服务器的域名了,如下所示:
3550(config)#ntp peer poolntporg
(3) 如何查看NTP的信息
利用show clock命令可以了解到交换机当前的时间信息,另外还有一个更专业的命令,那就是“show ntp status”,它可以列出更加详细的本机的ntp信息,如下所示:
3550#show ntp status
Clock is synchronized, stratum 3, reference is 611296679
nominal freq is 2500000 Hz, actual freq is 2499983 Hz, precision is 218
reference time is CDC288710C1D8818 (22:36:33047 gmt Sat May 23 2009)
clock offset is 1099952 msec, root delay is 32866 msec
root dispersion is 1601033 msec, peer dispersion is 1587503 msec
从显示的信息中,我们可以了解到:目前交换机是否已经与时间服务器同步了(Clock is synchronized),是与哪台时间服务器进行同步的(reference is 611296679)等等很多有用的信息。
2、如何将CISCO3550交换机做成局域网内的一台时间服务器
现在CISCO3550交换机自身的时钟是准确了,那么如何将时间信息在局域网内广播出去呢执行如下的操作即可:
3550(config)#ntp source vlan 7
3550(config)#inter vlan 7
3550(config-if)#ntp broadcast version 2
由于我单位CISCO3550交换机规划了多个VLAN,我是选择了一个与PIX防火墙防火墙连接的VLAN上进行了NTP信息的广播,实际上由于在交换机上启用了VLAN之间的路由(使用ip routing命令来实现),别的VLAN中的交换机PC也是可以接受该广播信息的。
3、CISCO29系列交换机如何与CISOC3550进行时间同步
CISCO29系列交换机,作为终端与时间服务器进行时间同步的设置很容易,只需指定NTP服务器的地址即可,如下所示:
172switch(config)#ntp server 17219961 (ntp server表示本设备通过远端时钟源,来更新自身的时间,单向)
172switch(config)#ntp server 1921682012
域控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个时间源服务器,
ntpserver的值可以有多个,以空格分隔开。
到此ntp客户端配置完成
打开命令行(以管理员身份运行)重启一下w32time这个服务,而且这个服务要设为自动启动。
显示目前服务器指定的外部时间源
w32tm /query /status 可以看时间源域名和IP地址 上次成功同步的时间撮。
显示本地时间与目标时间的时间差
w32tm /stripchart /computer:time7aliyuncom /samples:30 /dataonly
看到机器当前时间与时间源的时间相差很小,基本是准确的。
2将AD或任一台机器配置为NTPserver 对内提供时间源
打开注册表定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 分支 将enable 值设为十进制1,表示启用ntp server
背景我们有5台虚拟主机做时间同步,那就需要分别安装NTP服务。
主机地址为:
19216831 master
19216832 客户机1
19216833 客户机2
19216834 客户机3
19216835 客户机4
1、安装NTP
我们使用yum命令为每台机器安装ntp软件,命令如下:
yum install -y ntp
每台机器都需要安装,所以要分别在对应的主机上分别执行该命令。如下图
看到如下提示内容,则代表安装完成:
2、修改ntp的配置文件
vi /etc/ntpconf
首先我们要编辑主机的ntp服务配置文件,
我们去编辑master的机器的文件/etc/ntpconf
找到ntp时间同步的机器范围配置项
restrict 19216830 mask 2552552550 nomodify notrap
这里的意思代表,1921683的网段的机器都参与ntp的时间同步。
内容大致如下:
////存放ntp服务日志的位置
logfile /var/log/ntpdlog
////ntp依赖的互联网时间服务器地址,我们这里选择的是阿里云的时间服务器,当然还有很多其他时间服务器可以选择,看下这个地址 https://wwwntppoolorg/zone/asia ,
////兜底时间服务器,当以上三个时间服务器不可用时,就是以本机时间作为集群机器的统一时间。
server 127001
fudge 127001 stratum 10
3、主机做时间同步操作:
这里需要使用如下命令:
ntpdate -u ntp2aliyuncom(取用时间服务器的任意一台即可),出现如下提示内容,即代表我们的时间服务器是可以同步时间的。如果没有出现相应的内容,可能是由于自己的机器网络防火墙或者端口没有打开导致的。
5、查看ntpd的状态
systemctl status ntpd
如下图,则代表ntp服务运行中
代表没有做完时间同步,因为第一次时间同步需要5-10分钟时间,所以需要等待。直到看到如下提示,即可:
8、我们去完成NTP客户机的配置
vi /etc/ntpconf
我们客户机的配置的时间服务器,就不需要直接指向阿里云的机器了,直接使用我们的master主机即可。可以是主机名,也可以是ip地址。
server 19216831
同理,其他几个客户机也按照这种方式配置,保存。配置完成后,也要做服务启动,系统重启后随机自动启动,这里就不赘述了。
这样,我们就把ntp服务安装完毕了,谢谢。
0条评论