Debian环境下局域网时间同步系统的构建

2011-04-10 08:27扬州职业大学信息工程学院江苏扬州225000
长江大学学报(自科版) 2011年31期
关键词:客户机局域网交换机

(扬州职业大学信息工程学院,江苏 扬州225000)

计算机主机的时间主要是通过内部BIOS芯片的原子震荡周期来计时,然而由于不同的芯片之间多少存在差异,因此造成BIOS时间与UTC时间(国际标准时间)总会存在差异。所以,为了避免计算机时间长期积累下导致的时间偏差越来越大,就必须定期对电脑时间进行调整。用户可以通过手表、时钟或者是电视时间来进行时间校准,对于计算机用户来说,最方便的是通过Internet上的时间服务器校准电脑时间(称之为时间同步[1])。时间同步在网络中应用十分广泛,尤其是对时间精确要求较高的地方,例如交通运输业的时间显示系统、电信网络中的计费系统、网络考试系统等,如果计算机时钟不精确,那么这些应用很多将不能正常工作。因此,时间同步应用显得格外重要。

对于个人计算机而言,时间同步很容易实现,如常用的Windows系统中就自带了时间同步功能,只要设置好时间服务器的地址或域名,能够访问Internet,就可以和网络中的时间服务器进行时间同步。但若在一个公司的局域网中,如果让每个员工通过手动的方式每隔一段时间去校准时间,不但不利于管理,而且校准目标时间源也不一定准确。公司局域网络中不同计算机的时间偏差尤其是客户机/服务器之间的时间偏差,就会对一些要求时间同步的服务产生影响,如为了管理方便,服务器设置到下班时间时用户账号过期,用户无法访问Internet网络;如果用户的计算机时间与服务器的时间不同步,当用户认为下班时间未到,正准备发送邮件时,而在服务器的时间上,用户的账号已经过期,从而导致用户无法发送邮件。针对以上问题,可以在局域网中建立一个能提供精确时间的服务器,局域网内的所有计算机统一通过这台时间服务器进行时间同步,从而保证局域网中的所有计算机的时间一致。基于以上思想,笔者以开源操作系统Debian Linux为时间服务器平台,基于NTP协议,提出了基于Debian环境下构建局域网时间同步系统的解决方案。

1 NTP协议及工作原理

1.1 NTP协议

为了实现时间同步,需要运用NTP(Network Time Protocol)协议,该协议是用来使计算机时间同步的一个Internet标准协议,它可以使计算机对其服务器或时钟源做同步化,可以提供高精准度的时间校正,且可借由加密确认的方式来防止恶毒的协议攻击[2]。

1.2 NTP工作原理

要在局域网内实现时间同步,需要创建NTP服务器。NTP服务器采用层次结构(stratum)来处理时间的同步化。在因特网中已经提供了一些主要与次要的时间服务器,这些均属于第一层及第二层的时间服务器(stratum-1,stratum-2),一般来说,在进行NTP主机的架设时,选择国内的上层NTP来同步时间即可,如中国国家授时中心提供的NTP服务器,如果这部NTP属于stratum-2,那主机即为stratum-3。另外,在选择上层NTP时,一般会选择多部上层NTP服务器,这样可以避免因为某部NTP服务器突然故障,其他主机仍然可以提供NTP主机进行时间同步[3-4]。

在局域网中,NTP服务可以看成C/S的工作模式,其工作原理如下图1所示。

图1 NTP工作原理图

2 局域网时间同步方案

以校园局域网为例,一般校园网的网络结构是分为2层的星型结构,即中心交换机层和供各个节点接入的桌面交换机层。中心交换机可以采用1台高档的企业级交换机,提供多个千兆网络端口。各个节点的桌面交换机连接到中心交换机上,这些桌面交换机内部相当于一个小型局域网。根据时间同步的原理以及校园局域网的网络结构,笔者设计了如下的NTP同步方案(见图2),给整个校园局域网提供准确可靠的时间同步服务。在整个局域网内部设置1~2台基于Debian Linux平台的时间服务器,通过中心交换机与Internet连接,与因特网上提供的时间服务器进行时间同步。设置2台时间服务器可以确保局域网中至少有1台NTP服务器为下层提供时间同步服务,NTP服务器设置在局域网防火墙的后面,仅对局域网内部提供时间同步服务。各部门的部门服务器、客户机通过桌面交换机与中心交换机连接,与局域网内的NTP服务器相连实现时间同步。

图2 局域网NTP同步示意图

3 局域网时间同步实现

3.1 NTP服务器的设置

Linux操作系统一直以其开源、稳定、安全的特点作为服务器操作系统的首选,Linux有很多发行版,这里选择以最新的Debian 6.0作为NTP服务器的系统平台。在Debian系统上配置NTP服务器,可按如下步骤实现:

1)安装NTP软件包 通过apt-get install ntp命令在线安装,也可以从网上下载源码安装。

2)配置NTP服务 NTP服务的配置文件为/etc/ntp.conf,其中最关键的配置参数为server段,该段的参数是用来指明上层时间服务器的位置,可以设置多个上层时间服务器以保证时间同步。如:

3)启动 NTP服务 输入启动脚本/etc/init.d/ntp start。

4)监视NTP服务 输入命令ntpq-p来查看客户机与服务器之间的关系。

值得注意的是,NTP服务的端口是123,使用的是UDP协议,因此NTP服务器的防火墙必须对外开放udp 123这个端口,另外,NTP服务通常需要一段时间进行时间同步,所以在NTP刚刚启动的时候是不能正常提供时钟服务,如果配置正确一般5min后即能正常工作。

3.2 NTP 客户机配置

客户机的主要任务是连接到局域网内的时间服务器,以保持客户机的时钟与服务器同步。分别以Debian Linux和Windows客户机为例说明客户机的配置。

1)Linux客户机 在Linux客户机上进行时间同步,只要执行ntpdate命令即可,如ntpdate 192.168.0.1(192.168.0.1是局域网 NTP服务器的IP地址),如果想定时进行时间校准,可以使用crond服务来定时执行,例如:在/etc/crontab中加入308* * *root/usr/sbin/ntpdate 192.168.0.1一行,表示每天8∶30Linux客户机会自动与NTP服务器进行时间校准。

2)Windows客户机 在 Windows客户机上进行时间同步:双击桌面任务栏上的时间,弹出 “日期和时间”属性窗口,选择Internet时间,在服务器中填入NTP服务器的IP地址或者域名,然后点击立即更新,系统时间就会立即更新。如果想定时更新,把左上角的自动与Internet时间服务器同步选中,然后点击右下角的应用即可。

4 结 语

NTP服务的配置及使用都非常简单,并且占用的资料非常小,但它却可以使网络拥有一个非常精确的系统时间,不仅为管理员在不同的系统上处理、收集日志和管理提供了较为准确的信息,而且对于一些对时间精度要求较高的系统,是非常出色的解决方案。

[1]朱岭.基于NTP协议的局域网时间同步方案 [J].池州学院学报,2008,22(5):13-15.

[2]汪华,李波,杨远恒.在网络中搭建基于NTP服务的时间同步系统 [J].贵州气象,2010,34(5):24-26.

[3]宋妍,朱爽.基于NTP的网络时间服务系统的研究 [J].计算机工程与应用,2003(36):147-149.

[4]黄沛芳.基于NTP的高精度时钟同步系统实现 [J].计算机技术与应用,2009(7):122-127.

猜你喜欢
客户机局域网交换机
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
修复损坏的交换机NOS
基于802.1Q协议的虚拟局域网技术研究与实现
使用链路聚合进行交换机互联
局域网性能的优化
PoE交换机雷击浪涌防护设计
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”