NTP时间服务器解决同步问题
时间:2018-01-17 阅读:2753
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