您好,欢迎访问三七文档
网管实战:Linux时间服务器配置【IT168专稿】目前计算机网络中各主机和服务器等网络设备的时间基本处于无序的状态。随着计算机网络应用的不断涌现,计算机的时间同步问题成为愈来愈重要的事情。以Unix系统为例,时间的准确性几乎影响到所有的文件操作。如果一台机器时间不准确,例如在从时间超前的机器上建立一个文件,用ls查看一下,以当前时间减去所显示的文件修改时间会得一个负值,这一问题对于网络文件服务器是一场灾难,文件的可靠性将不复存在。为避免产生本机错误,可从网络上获取时间,这个命令就是rdate,这样系统时钟便可与公共源同步了。但是一旦这一公共时间源出现差错就将产生多米诺效应,与其同步的所有机器的时间因此全都错误。另外当涉及到网络上的安全设备时,同步问题就更为重要了。这些设备所生成的日志必须要反映出准确的时间。尤其是在处理繁忙数据的时候,如果时间不同步,几乎不可能将来自不同源的日志关联起来。一旦日志文件不相关连,安全相关工具就会毫无用处。不同步的网络意味着企业不得不花费大量时间手动跟踪安全事件。现在让我们来看看如何才能同步网络,并使得安全日志能呈现出准确地时间。Internet的发展使得电子货币,网上购物,网上证券、金融交易成为可能,顾客可以坐在家里用个人电脑进行上述活动。要保证这些活动的正常进行就要有统一的时间。不能设想用户3点钟汇出一笔钱银行2点50分收到。个人电脑的时钟准确度很低,只有10-4、10-5,一天下来有可能差十几秒。现在许多在线教学系统的许多功能都使用了时间记录,比如上网时间记录,递交作业时间和考试时间等等。通常在线教学系统记录的用户数据均以网站服务器时间为准。笔者以前就曾出现过因为应用服务器时间还在23点55分,而数据库服务器已跨过24点,导致正在进行的整个批处理日切或数据归档等重要处理失败或根本无法进行的情况,其实应用和数据库服务器时间也只是相差了几分钟而已。为了避免出现这种情况,系统管理员要经常关注服务器的时间,发现时间差距较大时可以手工调整,但由系统管理员手工调整既不准确、并且随着服务器数量的增加也会出现遗忘,因此有必要让系统自动完成同步多个服务器的时间。上述问题的解决方法,就是需要一个能调整时钟抖动率,建立一个即时缓和、调整时间变化,并用一群受托服务器提供准确、稳定时间的时间管理协议,这就是网络校时协议(NTP)。如果可以你的局域网可以访问互联网,那么不必安装一台专门的ntp服务器,只需安装ntp的客户端软件到互联网上的公共ntp服务器自动修正时间即可。如果不能访问互联网,而要将各个计算机时间的统一,就需要自己架设一台ntp服务器。一、网络时间服务的实现方式及其选择NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。网络时间服务的实现方式主要有以下三种方式:1)无线时钟。服务器系统可以通过串口连接一个无线时钟。无线时钟接收GPS(全球卫星定位系统)的卫星发射的信号来决定当前时间。无线时钟是一个非常精确的时间源,但是需要花一定的费用。2)时间服务器。可以使用网络中NTP时间服务器,通过这个服务器来同步网络中的系统的时钟。~mills/ntp/servers.html列出了Internet上有效的一级时间服务器。3)局域网内的同步。如果只是需要在本局域网内进行系统间的时钟同步,就可以使用局域网中任何一个系统的时钟。需要选择局域网中的一个节点的时钟作“权威的”的时间源,然后其它的节点就只需要与这个时间源进行时间同步即可。如果一个系统在一个局域网的内部,同时又不能使用无线时钟,这种方式是最好的选择。NTP选择如果您要求实在不高,建议您使用rdate即可,简单又方便。如果您的精确度要求在秒以下,建议您使用SNTP。如果您有一群工作站需要同步或做较精密的时间运算,那么建议您使用NTP,操作系统最好是UNIX或者linux,其次是Win2000/xp、2003。Win95、98的NTP及时的解析度只有55ms,又不稳定,不建议使用。二、NTP的网络体系结构和工作原理NTP所建立起的网络基本结构是分层管理的类树形结构。网络中的节点有两种可能:时钟源或客户。每一层上的时钟源或客户可向上一层或本层的时钟源请求时间校正。UTC时间是使用多种不同的方法得到的,包括无线电和卫星系统。一些国家的用于高级服务的特别可以使用特别的接收机,包括GPS。但是,在每台计算机都安装这些接收机一是不实际,也是经济的。作为替代,指定的时间服务器的计算机上安装这种接收机,并使用如NTP的协议来同步时间,从UTC分开的程度是被定义为层,一个无线电钏(从指定的发射机或卫星导航设备上接收信息)是0层,直接与无线电钟连接的是1层,从1层计算机上接收时间的是2层,依次如此。图1ntp网络体系结构从UTC获取标准时间,网路校时协议,提供在互连的网路上提供校时服务和发送供给标准时间给计算机。目前已成为Internet上时间同步的标准协议。NTP提供准确时间,首先要有准确的时间来源,这一时间应是国际标准时间UTC。NTP获得UTC的时间来源可以是原子钟,天文台,卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。NTP如何工作NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。按照离外部UTC源的远近将所有服务器归入不同的Stratun(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础。计算机主机一般同多个时间服务器连接,利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间。即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。在基本条件下,NTP客户端发出时间请求,与时间服务器交换时间,这个交换的结果是,客户端能计算出时间的延迟,它的弥补值,并调整与服务器时间同步。通常情况下,在设置的初始,在5至10分钟有内6次交换。一旦同步后,每10分钟与服务器时间进行一次同步,通常要求单一信息交换。冗余服务器和不同的网络路径用于保证可靠性的精确度,除了客户端/服务器商的同步以外,NTP还支持同等计算机的广播同步。NTP在设计上是高度容错和可升级。时间按NTP服务器的等级传播。三、NTP的工作模式:主/被动对称模式(broadcast/multicast):一对一的连接,双方均可同步对方或被对方同步,先发出申请建立连接的一方工作在主动模式下,另一方工作在被动模式下。此方式适用于配置冗余的时间服务器,可以提供更高的精确度给主机。客户/服务器模式(client/server):与主/被动模式基本相同。唯一区别在于,客户方可被服务器同步,但服务器不能被客户同步。广播模式:一对多的连接,服务器不论客户工作在何种模式下,主动发出时间信息,客户由此信息调整自己的时间,此时网络延时d2忽略,因此在准度上有损失,但可满足秒级应用。广播模式而且配置非常的简单。但是此方式的精确度并不高,对时间精确度要求不是很高的情况下可以采用。上述三种方式,时间信息的传输都使用UDP协议。每一个时间包内包含最近一次的事件的时间信息、包括上次事件的发送与接收时间、传递现在事件的当地时间、及此包的接收时间。在收到上述包后即可计算出时间的偏差量与传递资料的时间延迟。时间服务器利用一个过滤演算法,及先前八个校时资料计算出时间参考值,判断后续校时包的精确性,一个相对较高的离散程度,表示一个对时资料的可信度比较低。仅从一个时间服务器获得校时信息,不能校正通讯过程所造成的时间偏差,而同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用它的时间来校时。四、NTP服务器选择美国国家标准技术研究院(NIST)从90年代初开始,进行Internet网上时间发播服务,至今已经设置了7,8个时间服务专用网站,德国PTB也于去年开通专用授时网站,在网上发播标准时间。全世界约有100多个ntp服务器,国外主要时间服务器包括如表1:表1国外主要时间服务器详细列表:~mills/ntp/clock1a.html国内NTP服务器名称:time.buptnet.edu.cn北京邮电大学s1b.time.edu.cn清华大学s1c.time.edu.cn北京大学s1d.time.edu.cn东南大学注:CERNET教育网内NTP服务器列表请见:总结:到此为止我们理论上介绍了NTP服务器的原理、协议和工作模式。下边笔者会介绍如何在Linux异构网络中配置时间服务器、以及在Linux、Windows客户端的应用。我们理论上介绍了NTP服务器的原理、协议和工作模式。下面笔者介绍如何在Linux异构网络中配置时间服务器、以及在Linux、Windows客户端的应用。一、配置Linux异构网络下的ntp时间服务器1.软件下载安装以源代码为例#/tmp/wget–C/usr/local/src;cd/usr/local/src/ntp-4.2.02.开始设定参数、编译与安装:#./configure--prefix=/usr/local/ntp--enable-all-clocks--enable-parse-clocksmakeclean;makemakecheckmakeinstall安装完成。二、理解NTP服务的配置文件1.NTP软件包的结构和相关命令NTP服务的配置文件包括四个文件如表2。表2NTP服务的配置文件与NTP及系统时间有关的执行文件包括几个文件如表3。说明:Linux时钟类型在分类和设置上却和Windows大相径庭。和Windows不同的是,Linux将时钟分为系统时钟(SystemClock)和硬件(RealTimeClock,简称RTC)时钟两种。系统时间是指当前LinuxKernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“StandardBIOSFeture”项中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。2.理解NTP服务端的设置文件/etc/ntp.conf关于权限设定部分权限的设定主要以restrict这个参数来设定,格式如下:restrictIP地址mask子网掩码参数其中IP可以是IP地址,也可以是default,default就是指所有的IP参数有以下几个:ignore:关闭所有的NTP联机服务nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。notrust:客户端除非通过认证,否则该客户端来源将被视为不信任子网noquery:不提供客户端的时间查询注意:如果参数没有设定,那就表示该IP(或子网)没有任何限制。用server这个参数设定上级时间服务器,格式如下:serverIP地址或域名[prefer]IP地址或域名就
本文标题:NTP详解
链接地址:https://www.777doc.com/doc-2889937 .html