windows时间服务器搭建方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简介:本文介绍了时间服务器常用的二种协议:SNTP和TIME,并就局域网环境下各种系统(Linux、Windows98.2000、XP)时间服务器的设置分别进行了说明,最终实现整个局域网环境下所有电脑时钟的同步与校准。
一、什么是网络时间服务
网络时间服务Net Time Service与网络文件下载服务FTP、网络浏览服务WWW等一样,是一种网络服务,提供网络时间服务的电脑叫网络时间服务器。
本文主要介绍一台电脑如何通过网络获取上级时间服务器提供的标准时间,再服务于本局域网(当然也可以对外网,但需要映射内部服务器),使局域网内的所有电脑都能与服务器时间保持同步,时间误差一般小于0.5秒。
TCP/IP协议中,用于同步时间的协议为NTP协议,NTP是一个跨越广域网或局域网的复杂的同步时间协议,属于TCP/IP协议范畴。
它是由美国德拉瓦大学的David L.Mills教授于1985年提出,除可以估算封包在网络上的往返延迟外,还可独立地估算计算机时钟偏差,从而实现在网络上的高精准度计算机校时,用来在Internet上使不同的机器能维持相同时间。
时间服务器(Time Server)是利用NTP的一种服务器,通过它可以使网络中的电脑保持时间同步,通常可获得毫秒级的精度。
SNTP(Simple Network Time Protocol,简单网络时间协议)是NTP的一个子集,目的是为了那些不需要NTP实现复杂性网络时间同步的主机。
通常用于局域网上的若干台主机通过互联网与其他的NTP主机同步时钟,接着再向局域网内其他客户端提供时间同步服务。
SNTP一般使用UDP的123端号,Linux系统和Windows系统都支持它,是现在架设网络时间服务器的主流协议。
Time Protocol (RFC-868)协议是一种较简单的协议。
此协议提供了一个独立于站点的,机器可读的日期和时间信息。
时间服务返回的是从1900年1月1日午夜到现在的秒数。
该协议通过TCP或UDP的37端口提供服务。
Linux下的TIME服务提供该服务,Windows系统中较少使用。
现在网上的许多时间校准软件,有些支持SNTP协议、有些支持TIME协议,有些二者都支持,我们在选择时要特别注意。
另外在Windows系统的对等网中,还有使用“net time 机器名 /set /yes”命令使用NetBios协议进行时间校准,由于这种方法不支持混合网络和跨网段网络,所以本文做介绍。
二、时间服务器的用途
也许有人认为电脑的时钟有点误差影响不大,其实这是非常错误的。
电脑系统中的文件保存、文件传输等等好多应用都是以电脑时钟为准。
如果今后我们想进行文件查找、日志查询,如果系统时钟不准,或同一网络中的电脑时间不同步,将给后续工作带有许多麻烦。
现在许多备份软件、编译软件、FTP工具都是以文件保存时间为依据进行比较的,如果时间不统一,将使这些软件难以正常工作。
笔者就曾经碰到过类似这样的问题:例如由于系统时间
错误,某些论坛禁止登陆,MSN message登陆失败,许多应用软件不能使用等等一系列问题,所以,电脑的时间还需引起大家的足够重视。
三、如何使局域网内的电脑时钟同步
首先要在互联网上寻找一台或几台专门提供时间服务的电脑(以下称为“主时间服务器”),在百度和Google里搜索一下,时间服务器还是很多的,笔者推荐pool.ntp.org 这个地址。
其次设置局域网时钟服务器。
选择单位中能上外网的一台电脑,让它与主时间服务器同步,然后把它设为局域网内部的时间服务器(以下称为时间服务器),以后局域网内所有电脑依它为准进行时间校对。
最后设置客户端。
如果客户机为win2000、XP或Linux系统,不需要安装任何软件。
如客户机为Win98系统时要根据时间服务器类型的不同而区别对待:如果时间服务器选用SNTP 协议进行时钟同步,则Win98机上需安装一个sntp客户端软件,如时间服务器由Windows 电脑通过netbios协议提供,则Win98上也不需要安装任何软件。
四、如何设置时间服务器
以下分Linux、Win98.Win2000XP三种情况分别介绍,而且只介绍sntp服务的架设,timeserver服务和netbios对时服务由于应用很少,在此不做介绍。
1.Linux主机做时间服务器(以RedHat9.0为例)
第一步:检查是否已经安装有ntp软件包。
输入“rpm -qa|grep ntp”,如果已经安装应该显示“ntp-4.1.2-0.rc1”。
第二步:安装ntp软件,可以从ftp://ftp.redhat.com下载rpm包,输入“rpm -ivh ntp-xxx.rpm”执行安装。
第三步:配置ntp服务。
备份原/etc/ntp.conf文件后,输入以下内容:
server pool.ntp.org
server pool.ntp.org
server pool.ntp.org
driftfile /etc/ntp/drift
三行server都设pool.ntp.org是为了提供连接冗余,当第一个地址连接失败时,后面的地址提供时间服务,(pool.ntp.org对应是一组IP地址,IP由DNS随机分配,所以域名重复输入无碍)
第四步:启动ntp服务。
输入“service ntp restart”。
为了让Linux机启动后ntp服务能自动启动,还要输入“chkconfig ntpd on”。
Linux 下的ntp软件不但能自动与互联网上的时钟保持同步,同时本身已经是一台SNTP服务器了,可以供局域网内的电脑校对时间。
建议启动NTP服务后,先用date命令手工校正一下时间,以后系统会自动与互联网上的主时间服务器保持同步。
ntp服务还有一个好处,如果当前系统的时间与标准时间有所误差,它不是马上把时间校正,而是逐步缩小与标准时间的误差,以免系统内部出现时间突变。
2.Windows2000、XP做时间服务器
第一步:指定主时间服务器。
在DOS里输入“net time /setsntp:pool.ntp.org”,这里我们指定pool.ntp.org是主时间服务器。
第二步:与主时间服务器同步。
先关闭windows time服务,再开启该服务。
在DOS里输入“net stop w32time”、“net start w32time”。
第三步:设置电脑的Windows time服务的启动方式为自动,在“管理工具”的“服务”界面下完成(xp系统默认是自动)。
注意:这台windows主机不能加入任何域,否则无法启动windows time服务。
此时,这台windows电脑已经是互联上主时间服务器的客户了,以后每次电脑启动时,都会自动与主时间服务器校对时间。
如果网络不通,电脑也会过45分钟后再次自动校对时间。
需要提醒的是电脑的时钟与标准时间误差不能超过12个小时,否则不能自动校对,只有手动校正了。
第四步:使这台电脑成为局域网内的时间服务器。
用“regedit”打开注册表,把“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Parameters”中的LocalNTP改为1即可。
3.Windows98做时间服务器
一般不推荐Windows98系统做时间服务器,而且win98本身也不含时间服务器功能,需要安装第三方软件。
本文后面介绍的nettime软件是一个非常优秀的时间客户端软件,它可以工作在windows98.2000、XP 系统中,当选中“Allow other computers to sync to this computer”时,可以把这台电脑当做成时间服务器。
五、如何设置客户端
客户端的主要任务是连接到局域网内的时间服务器,以保持电脑的时钟与服务器同步。
同样分Linux、Windows98.2000、XP几种情况介绍。
1.LINUX主机
其实在上面介绍Linux系统中的ntp服务时,已经提到ntp时间服务时同时也是一个时间服务的客户端,只要把/etc/ntp.conf文件中的“server pool.ntp.org”改为“server 内部时间服务器IP地址”即可。
如不想使用ntp服务,也可使用ntp软件包中带来的ntpdate 命令,只要手工执行“ntpdate 时间服务器IP地址”即可。
如想每天自动对时,可以把这条命令放在cron中,注意在同一台电脑上ntp服务与ntpdate命令不能同时使用。
2.Windows2000主机
执行设置时间服务器时的前三步即可。
3.WindowsXP主机
可以按Windows2000主机的方法设置,也可双击任务栏右下角的时钟图标,打开“日期时间属性”对话框,在“Internet时间”卡片上选中“自动与Internet时间服务器同步”,并在服务器上填入内部时间服务器的IP地址即可。
4.Windows98主机
需要安装第三方软件,nettime是个不错的软件,它支持SNTP(UDP123)、TIME(TCP37)、TIME- UDP(UDP37)三种方法进行时间同步。
软件操作简单,只要在上图的“Hostname or IP Address”中输入局域网内时间服务器的IP地址,“Protocol”中选SNTP即可。
当然在windows98电脑上执行“net time 机器名或IP地址 /set /yes”也可能与其它windows电脑同步时钟,前提是这些电脑在同一网段,并且安装有netbios协议。
把该命令放在autoexec.bat 中,就可以做到开机自动对时了。