linux系统安装ntp网络时间服务

随着时间的推移, 计算机的时钟会倾向于漂移。 网络时间协议 (NTP) 是一种确保您的时钟保持准确的方法。

公司局域网有数台计算机,若是实现时间的同步将有助于平常维护和出错分析。为此使用debian架设一台基于linux的ntp服务器。


如 果能够你的局域网能够访问互联网,那么没必要安装一台专门的ntp服务器,只需安装ntp的客户端软件到互联网上的公共ntp服务器自动修正时间便可。若是 不能访问互联网,而要将各个计算机时间的统一,就须要本身架设一台ntp服务器。不管怎样,请首先保证你的时区设置是正确的!(debian下使用 tzconfig设置时区)
1、安装客户端:
一、linux下的客户端安装
对于debian,请使用root权限运行以下命令:
apt-get install ntpdate
其余发行版请安装相应的包格式,实在没有就到www.ntp.org下载编译源码。
apt-get方式安装完成后,将建立“/etc/init.d/ntpdate”脚本,并自动将其加入开机运行的服务中。其配置文件为
“/etc/default/ntpdate”,你能够修改以下内容,使系统在启动时自动将系统时间同步cn.pool.ntp.org或pool.ntp.orgntp服务器
NTPSERVERS="cn.pool.ntp.org pool.ntp.org"
若是你不想等到下次开机再修正你的系统时间,能够当即使用root权限执行以下命令使你的系统时间变动为准确的北京时间(若是你的时区设置为chongqing)
matrix:~# ntpdate cn.pool.ntp.org
19 Feb 22:06:57 ntpdate[20834]: adjust time server 218.4.91.228 offset 0.129096 sec
cn.pool.ntp.org是位于中国的公共ntp服务器,你能够到“www.pool.ntp.org”寻找一个离你最近的ntp公共服务器(固然也能够是你本身架设的ntp服务器!)。你也能够将上诉语句加入root用户的crontab中使其按期修正系统时间。
二、windows下的客户端
windows下有数种方式实现系统时间同步。
①使用windows2000、XP professional自带的Windows Time服务:
在命令行输入以下命令:
NET TIME /SETSNTP:cn.pool.ntp.org
NET TIME /QUERYSNTP
NET START w32time
第一行是配置同步的服务器,第二行是察看设置结果,第三行是启动“Windows Time”服务(若是须要的话,你能够在控制面板中将该服务设置为自动启动)
对于XP Home版,能够在“日期/时间 属性”对话框中手动指定须要同步的服务器。
②使用命令经过网络共享服务,当即获取局域网上的ntp服务器时间服务来更新系统时间。前提是,你要有访问该服务器共享资源的权限,(若是这个服务器是linux,必须安装并运行samba服务)
NET USE X: \192.168.0.1share PassWord /user:UserName
NET TIME \192.168.0.1 /SET /YES
NET USE x: /DELETE /YES
第一行是登陆一下该服务器的共享服务(映射一个X:盘),第二行是当即同步私通时间为该服务器(192.168.0.1)的时间,第三行是删除该映射盘。
③使用第三方软件 http://nettime.sourceforge.net/
 
基于AS4配置时间服务器
在linux下,咱们能够经过自带的NTP(Network Time Protocol)协议经过网络使本身的系统保持精确的时间。可用的公共时间服务器列表能够从下面的地址获取: http://ntp.isc.org/bin/view/Servers/NTPPoolServers 什么是NTPNTP是用来使系统和一个精确的时间源保持时间同步的协议。建议你们在本身管理的网络中创建至少一台时间服务器来同步本地时间,这样可使得在不一样的系统上处理和收集日志和管理更加容易。 一样,也有不少免费的NTP客户端可供Windows使用,你能够用它们来同步你windows的系统时间。 下载和安装本文介绍如何在AS4上安装时间服务器(本文也一样适用于redhat和fedora core的其余版本),若是想得到NTP的最新版本,你能够下载tar包本身编译,这里只介绍RPM方式安装的NTP服务软件。 AS4带的NTP版本是4.2.0,你能够用下面的命令查看是否已经安装了这个软件包: # rpm -qa|grep ntp ntp-4.2.0.a.20040617-4.2 若是发现没有安装,请从光盘上安装这个软件。执行下面命令安装NTP的RPM包: # rpm -ivh ntp-4.2.0.a.20040617-4.2.i386.rpm /etc/ntp.conf这是NTP的主要配置文件,里面设置了你用来同步时间的时间服务器的域名或者IP地址,下面是到互联网同步时间的最基本的配置: 首先定义咱们喜欢的时间服务器: server pool.ntp.org 接下来,咱们设置上面两台服务器的访问权限,在这个例子中咱们不容许它们修改或者查询咱们配置在Linux上的NTP服务器 restrict default nomodify notrap noquery (这个默认在配置文件中就存在) 接下来设置容许访问咱们时间服务器的客户机地址,一般这些服务器都应该位于咱们本身局域网内。请注意,配置中noquery已经去掉了: restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap 在上例中,掩码地址扩展为255,所以从192.168.0.1-192.168.0.254的服务器均可以使用咱们的NTP服务器来同步时间。 最后,也是最重要的是默认的限制配置要从你配置文件中删除,不然它将覆盖你全部的配置选项,你将发现若是不删除该配置,你的时间服务器将只能和本身通信。若是ntp.conf中有如下一行,请将它注释(AS4附带的ntp默认没有): # restrict default ignore 保存你的配置文件,而后对每一个你在ntp.conf里配置的时间服务器执行2编查询命令: # ntpdate pool.ntp.org 27 Jun 10:12:01 ntpdate[25475]: adjust time server pool.ntp.org offset -0.127154 sec # ntpdate ntp.research.gov 27 Jun 10:12:06 ntpdate[25478]: adjust time server pool.ntp.org offset 0.010008 sec 使NTP进程自启动为了使NTP服务能够在系统引导的时候自动启动,执行: # chkconfig ntpd on 启动/关闭/重启NTP的命令是: # /etc/init.d/ntpd start # /etc/init.d/ntpd stop # /etc/init.d/ntpd restart 默认状况下,咱们配置的NTP服务器不会去时间源那里同步时间,因此必须修改/etc/ntp/step-tickers文件,加入咱们的时间源,这样每次经过/etc/init.d/ntpd 来启动服务的时候就会自动更新时间了 切记每次修改了配置文件后都须要从新启动服务来使配置生效。可使用下面的命令来检查NTP 服务是否启动,你应该能够获得一个进程ID号: # pgrep ntpd 检查时间服务器是否正确同步 使用下面的命令检查时间服务器同步的状态: # ntpq -p 输出: remote refid st t when poll reach delay offset jitter ============================================================================== -jj.cs.umb.edu gandalf.sigmaso 3 u 95 1024 377 31.681 -18.549 1.572 milo.mcs.anl.go ntp0.mcs.anl.go 2 u 818 1024 125 41.993 -15.264 1.392 -mailer1.psc.edu ntp1.usno.navy. 2 u 972 1024 377 38.206 19.589 28.028 -dr-zaius.cs.wis ben.cs.wisc.edu 2 u 502 1024 357 55.098 3.979 0.333 +taylor.cs.wisc. ben.cs.wisc.edu 2 u 454 1024 347 54.127 3.379 0.047 -ntp0.cis.strath harris.cc.strat 3 u 507 1024 377 115.274 -5.025 1.642 *clock.via.net .GPS. 1 u 426 1024 377 107.424 -3.018 2.534 ntp1.conectiv.c 0.0.0.0 16 u - 1024 0 0.000 0.000 4000.00 一个能够证实同步问题的证据是全部远程服务器的jitter值是4000而且delay和reach的值是0。 remote refid st t when poll reach delay offset jitter ============================================================================== LOCAL(0) LOCAL(0) 10 l - 64 7 0.000 0.000 0.008 ntp-cup.externa 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00 snvl-smtp1.trim 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00 nist1.aol-ca.tr 0.0.0.0 16 u - 64 0 0.000 0.000 4000.00 可能的缘由有: 配置文件中的restrict default ignore没有被注释 有防火墙阻断了与server之间的通信 此外每次重启NTP服务器以后大约要3-5分钟客户端才能与server创建正常的通信链接,不然你执行ntpdate ip的时候将返回: 27 Jun 10:20:17 ntpdate[21920]: no server suitable for synchronization found 配置Linux客户端在linux客户端上执行ntpdate ntp_server_ip 就能够根据时间服务器统一局域网的时间了,将上面的命令放到cron里天天早上3点按期执行,crontab –e 而后输入 0 3 * * * /usr/sbin/ntpdate ntp_server_ip
相关文章
相关标签/搜索