技术中心

NTP时间服务器解决同步问题

来源:北京中新创通信技术有限公司
2018/1/17 17:06:53
2657
导读:

NTP时间服务器工作原理

NTP(Network Time Protocol)是用来使系统和一个的时间源保持时间同步的协议,NTP的工作模式有三种: 客户/服务器模式、主/被动对称模式和广播模式。

本地时钟进程:处理由修正模块得出的偏移量并且用NTP中算法对本地时钟的相位和频率进行调节。

传送进程:由和每个远端实体对应的不同定时器触发,用以从数据库中收集信息,并向远端实体发送NTP消息。每个消息包括发送时的本地时间戳、前一次收到的时间戳,还有用来判断同步网络层次结构以及管理连接的信息。

接收进程:接收NTP消息,计算出远端时钟和本地时钟之间的偏移量。

修正模块:处理与各个远端实体之间的偏移量,并用NTP中的一个算法选择一个。

NTP时间服务器的建立

可利用Linux操作系统自带的NTP软件包来建立网络时间服务器。REDHAT-企业版3的NTP时间服务器安装包为ntp-4.1.2-4.i386.rpm,它支持时间服务器分级建立、身份验证等功能。

ntp软件包安装后,时间服务器的配置文件为:/etc/ntp.conf,在缺省配置下,即可启用ntpd服务,即service ntpd start。

设置ntp服务开机启动:chkconfig ntpd on此时的时间服务器只能读取本机时钟作时间源,不对外服务。

在配置文件中去除以下配置项,可使NTP对外服务:restrict default ignore。

如果希望本时间服务器使用外部时间源,比如:time.edu.cn,可在配置文件中添加以下配置,表示本服务器只能单向与时间源同步,不允许时间源反过来查询或修改本服务器的时间:

restrict time.edu.cn mask 255.255.255.255 nomodify notrap noquery

server time.edu.cn

配置文件修改后,需重启ntpd,使修改生效:service ntpd restart。

使用以下命令可检查时间服务器是否正确同步及其同步的状态:ntpq -p。

 客户端配置方法

客户端利用NTP或SNTP协议与时间服务器自动同步时间,配置过程主要分三步:设置时间服务器IP地址与工作模式并开启时间同步功能,设置时区或调整时差,设置时间同步的间隔时间,要求适当延长同步时间间隔,以减轻时间服务器的同步压力。

下面利用网络时间服务器(10.10.10.10)介绍中国农业大学网络设备和服务器校正时间的配置实例。

1.Cisco 路由器NTP时间同步配置:

ntp server 10.10.10.10

设置时区

clock timezone pst-8 8    ntp clock-period 17179867

2.extreme 三层交换机NTP时间同步配置:

configure sntp-client primary server 10.10.10.10

调整时差并取消夏令时

configure timezone +480 noautodst

设置时间同步间隔16284 秒(约5小时)

conf sntp-client update-interval 16284enable sntp-client

3.华为Quidway S6503三层交换机NTP时间

同步配置:

ntp-service unicast-server 10.10.10.10

 

4.比威3224 二层交换机NTP时间同步配置:

sntp server 10.10.10.10

调整时间480分钟

time timezone -480

sntp poll-interval  720

sntp unicast

timesync sntp

5.netgear FSM7352S二层交换机NTP时间同步配置:

sntp server 10.10.10.10

sntp unicast client poll-interval 10

sntp client mode unicast

6.锐捷S2126G二层交换机NTP时间同步配置:

sntp server 10.10.10.10

时间同步间隔约18小时

sntp interval  65535      sntp enable

7.UNIX服务器的NTP时间同步配置:

Linux、Solaris、AIX等UNIX操作系统都自带ntpdate命令来实现与NTP时间服务器时间同步。应用前先检查时间服务器的可用性:

ntpdate -q 10.10.10.10

将时间同步命令放到系统启动程序或在cron定期操作程序中,实现开机或定期执行时间同步,比如在REDHAT下,如果希望开机后执行时间同步,可在/etc/rc.local文件中增加以下命令:

/usr/sbin/ntpdate 10.10.10.10

如果希望每周一凌晨2:00执行时间同步,可在/etc/ crontab文件中增加以下命令:

0 2 * * 1 /usr/sbin/ntpdate 10.10.10.10 > /dev/null 2>&1

8.Windows服务器的NTP时间同步配置:

对于Windows XP和Windows 2003操作系统,在时间日期配置工具中包含NTP时间服务器配置功能,可手工设定时间服务器地址;对于其他Windows操作系统,可用net time命令来配置和查看时间服务器。比如在Windows 2000下,设置时间服务器:

net time /setsntp:10.10.10.10

查看时间服务器配置:

net time /querysntp

相关技术