ntp时间服务器

Network Time Protocol(NTP,网络时间协议)用于同步它所有客户端时钟的服务。NTP服务器将本地系统的时钟与一个公共的NTP服务器同步然后作为时间主机提供服务,使本地网络的所有客户端能同步时钟。

    同步时钟最大的好处就是相关系统上日志文件中的数据,如果网络中使用中央日志主机集中管理日志,得到的日志结果就更能反映真实情况。在同步了时钟的网络中,集中式的性能监控、服务监控系统能实时的反应系统信息,系统管理员可以快速的检测和解决系统错误。

   安装配置NTP服务

    下面将介绍NTP服务器的简单配置

   第一步,安装NTP服务

    一般的Linux发行版都会带ntp软件包,如果你的系统中还没有安装,就使用rpm命令安装此包

,以下以centos系统为例配置一台时间服务器:

 查找当前系统是否已安装ntp
 [root@localhost ~]# rpm -qa | grep ntp
 chkfontpath-1.10.1-1.1
 ntp-4.2.2p1-8.el5.centos.1       (这个就是已经安装的RPM包)

 如果没有安装,可用下例命令安装:
 [root@localhost ~]# rpm -ivh ntp-4.2.2p1-8.el5.centos.1.rpm

   第二步,配置NTP服务器
 
   NTP服务器配置如下:

    编辑配置文件/etc/ntp.conf   

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1
restrict -6 ::1


restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

server 192.168.146.225
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org


server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

   配置文件说明如下:

    第一行restrict、default定义默认访问规则,nomodify禁止远程主机修改本地服务器配置,notrap拒绝特殊的ntpdq捕获消息,noquery拒绝btodq/ntpdc查询(这里的查询是服务器本身状态查询)。

    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    这句是手动增加的,意思是从192.168.1.1-192.168.1.254的服务器都可以使用我们的NTP服务器来同步时间。

    server 192.168.146.225
    这句也是手动增加的,指明局域网中作为NTP服务器的IP;

  配置文件的最后两行作用是当服务器与公用的时间服务器失去联系时以本地时间为客户端提供时间服务。


   端口
  ntp使用udp协议,记得开放其123端口。


  启动NTPD

    为了使NTP服务可以在系统引导的时候自动启动,执行:
    #chkconfig ntpd on
    启动ntpd:
  service ntpd start


   NTP客户端配置:

    在客户端手动执行“ntpdate 服务器IP”来同步时间;


    另可以使用crond来定时同步时间:

    以root身份运行周期性任务:
  [root@supersun root]# crontab -e

  添加以下内容,每15分钟更新一下时间:
  15 * * * * ntpdate 服务器IP

    此处的ntpdate命令包含在ntp软件包中,记得确认系统中是否已安装。


   第三步,检查时间服务器是否正确同步

    使用下面的命令检查时间服务器同步的状态:
    #ntpq -p
   
    一个可以证明同步有问题的证据是:所有远程服务器的jitter值是4000并且delay和reach的值是0。

可能的原因有:

    有防火墙阻断了与server之间的通讯,即123端口是否正常开放;

    此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你在客户端执行“ntpdate 服务器ip”的时候将返回:
    27 Jun 10:20:17 ntpdate[21920]: no server suitable for synchronization found

 

 

 

NTP服务器的配置

2008-01-31 09:51:10

  本文介绍了时间服务器常用的二种协议:SNTP和TIME,并就局域网环境下各种系统(Linux、Windows98、2000、XP)时间服务的设置分别进行了说明,最终实现整个局域网环境下所有电脑时钟的同步与校准。
一、什么是网络时间服务
  网络时间服务Net Time Service与网络文件下载服务FTP、网络浏览服务WWW等一样,是一种网络服务,提供网络时间服务的电脑叫网络时间服务器。当然有些时间服务器是纯硬件结构的,通过GPS卫星信息来获取时间,其外观与一台交换机相似,不在文本介绍之列。本文主要介绍一台电脑如何通过网络获取上级时间服务器提供的标准时间,再服务于本单位的局域网,使一个单位的所有电脑都能与标准时间保持同步,时间误差一般小于0.5秒。
   TCP/IP协议中,用于同步时间的协议为NTP协议,它是由美国德拉瓦大学的David L. Mills教授于1985年提出,除了可以估算封包在网络上的往返延迟外,还可独立地估算计算机时钟偏差,从而实现在网络上的高精准度计算机校时,它是设计用来在Internet上使不同的机器能维持相同时间的一种通讯协议。时间服务器(time server)是利用NTP的一种服务器,通过它可以使网络中的电脑保持时间同步。
  NTP是一个跨越广域网或局域网的复杂的同步时间协议,它通常可获得毫秒级的精度。SNTP(Simple Network Time Protocol)是NTP的一个子集,目的是为了那些不需要NTP实现复杂性网络时间同步的主机。通常用于局域网上的若干台主机通过互联网与其他的 NTP主机同步时钟,接着再向局域网内其他客户端提供时间同步服务。SNTP一般使用UDP的123端号,Linux系统和Windows系统都支持它,是现在架设网络时间服务器的主流协议。
   Time Protocol (RFC-868)协议是一种较简单的协议。此协议提供了一个独立于站点的,机器可读的日期和时间信息。时间服务返回的是从1900年1月1日午夜到现在的秒数。该协议通过TCP或UDP的37端口提供服务。Linux下的TIME服务提供该服务,Windows系统中较少使用。
  现在网上的许多时间校准软件,有些支持SNTP协议、有些支持TIME协议,有些二者都支持,我们在选择时要特别注意。另外在Windows系统的对等网中,还有使用 “net time 机器名 /set /yes”命令使用netbios协议进行时间校准,由于这种方法不支持混合网络和跨网段网络,本文也不特别介绍。
二、时间服务器有何用
  也许有人认为电脑的时钟有点误差影响不大,其实这是非常错误的。电脑系统中的文件保存、文件传输、电子邮箱中的时间戳都是以电脑时钟为准的。如果今后我们想进行文件查找、日志查询,如果系统时钟不准,或同一网络中的电脑时间不同步,将给后续工作带有许多麻烦。现在许多备份软件、编译软件、FTP工具都是以文件保存时间为依据进行比较的,如果时间不统一,将使这些软件难以正常工作。
三、如何使局域网内的所有电脑时钟同步
  首先要在互联网上寻找一台或几台专门提供时间服务的电脑(以下称为主时间服务器)。现在有不少机构免费提供标准时钟服务,在http: //www.ntp.org中专门介绍有不少时间服务器地址。推荐大家在平时使用pool.ntp.org这个地址,因为这个域名在DNS解析时会从一组时钟服务器的IP中随机选取,非常合适一般用户使用。大家也可以在搜索引擎中以“public time server”为关键词搜索一下,找出离你较近的时间服务器。
  其次选择单位中能上网的一台电脑,让它与主时间服务器同步,这台电脑可以是Linux主机,也可以是win98、2000、XP主机。同时把这台电脑设为局域网内部的时间服务器(以下称为时间服务器),供局域网内部的所有电脑校对时间。
  再在单位内部的所有电脑上设置时间服务的客户端,如果客户机为win2000、XP或Linux系统,不需要安装任何软件。如客户机为win98系统时要根据时间服务器类型的不同而区别对待:如果时间服务器选用SNTP协议进行时钟同步,则win98机上需安装一个sntp客户端软件,如时间服务器由 windows电脑通过netbios协议提供,则win98上也不需要安装任何软件。
四、设置时间服务器
以下分Linux、Win98、Win2000XP三种情况分别介绍,而且只介绍sntp服务的架设,timeserver服务和netbios对时服务由于应用很少,不做介绍。
1、Linux主机做时间服务器(以RedHat9.0为例)
第一步:检查是否已经安装有ntp软件包。输入“rpm -qa|grep ntp”,如果已经安装应该显示“ntp-4.1.2-0.rc1”。
  第二步:安装ntp软件,从[url]ftp://ftp.redhat.com[/url]下载rpm包,输入“rpm -ivh ntp-xxx.rpm”执行安装。
  第三步:配置ntp服务。备份原/etc/ntp.conf文件后,输入以下内容
       server pool.ntp.org
server pool.ntp.org
server pool.ntp.org
driftfile /etc/ntp/drift
三行server都设pool.ntp.org是为了提供连接冗余,当第一个地址连接失败时,后面的地址提供时间服务,注意这里的pool.ntp.org对应一组IP地址,由DNS随机分配。
  第四步:启动ntp服务。输入“service ntp restart”。
  为了保证以后Linux机启动后ntp服务能自动启动,还要输入“chkconfig ntpd on”。Linux下的ntp软件不但能自动与互联网上的时钟保持同步,同时本身已经是一台SNTP服务器了,可以供局域网内的电脑校对时间。建议启动 NTP服务后,先用date命令手工校正一下时间,以后系统会自动与互联网上的主时间服务器保持同步。ntp服务还有一个好处,如果当前系统的时间与标准时间有所误差,它不是马上把时间校正,而是逐步缩小与标准时间的误差,以免系统内部出现时间突变。


2、Windows2000、XP做时间服务器
  第一步:指定主时间服务器。在DOS方式输入“net time /setsntp:pool.ntp.org”,这里我们指定pool.ntp.org是主时间服务器,也可以是其它地址。
  第二步:开始与主时间服务器同步。先关闭windows time服务,再开启该服务。可以在“管理工具”的“服务”界面下完成,也可以以DOS方式输入“net stop w32time”、“net start w32time”。
  第三步:设置电脑的Windows time服务的启动方式为自动。在“管理工具”的“服务”界面下完成。
  注意这台windows主机不能加入任何域,否则无法启动windows time服务。此时,这台windows电脑已经是互联上主时间服务器的客户了,以后每次电脑启动时,都会自动与主时间服务器校对时间。如果网络不通,电脑也会过45分钟后再次自动校对时间。需要注意的是电脑的时钟与标准时间误差不能超过12小时,否则不能自动校对,而要手动校正了。
  第四步:使这台电脑成为时间服务器,供局域网内部的电脑校对时间。用“regedit”打开注册表,把 “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters”中的 LocalNTP改为1即可。


3、Windows98做时间服务器
  一般不推荐Windows98系统做时间服务器,而且win98本身也不含时间服务器功能,需要安装第三方软件。本文后面介绍的nettime软件([url]http://nettime.sourceforge.net/[/url])是一个非常优秀的时间客户端软件,它可以工作在windows98、2000、XP 系统中,当选中“Allow other computers to sync to this computer”时,可以把这台电脑当做成时间服务器。

五、设置时间服务器的客户端
  客户端的主要任务是连接到局域网内的时间服务器,以保持电脑的时钟与服务器同步。同样分Linux、Windows98、2000、XP几种情况介绍
1、LINUX主机
  其实在上面介绍Linux系统中的ntp服务时,已经提到ntp时间服务时同时也是一个时间服务的客户端,只要把/etc/ntp.conf文件中的 “server pool.ntp.org”改为“server 内部时间服务器IP地址”即可。如不想使用ntp服务,也可使用ntp软件包中带来的ntpdate命令,只要手工执行“ntpdate 时间服务器IP地址”即可。如想每天自动对时,可以把这条命令放在cron中,注意在同一台电脑上ntp服务与ntpdate命令不能同时使用。
2、Windows2000主机
  执行设置时间服务器时的前三步即可


3、WindowsXP主机
  可以按Windows2000主机的方法设置,也可双击任务栏右下角的时钟图标,打开“日期时间属性”对话框,在“Internet时间”卡片上选中“自动与Internet时间服务器同步”,并在服务器上填入内部时间服务器的IP地址即可。


4、Windows98主机
  需要安装第三方软件,自由(free)软件nettime是个不错的软件,它支持SNTP(UDP123)、TIME(TCP37)、TIME- UDP(UDP37)三种方法进行时间同步。软件操作简单,只要在上图的“Hostname or IP Address”中输入局域网内时间服务器的IP地址,“Protocol”中选SNTP即可。
  当然在windows98电脑上执行“net time 机器名或IP地址 /set /yes”也可能与其它windows电脑同步时钟,前提是这些电脑在同一网段,并且安装有netbios协议。把该命令放在autoexec.bat 中,就可以做到开机自动对时了。

 

在 Windows Server 2003 中尝试与非 Windows NTP 服务器同步时,时间同步可能失败

http://support.microsoft.com/kb/875424/zh-cn

 

 

 

 

 

假定时钟服务器IP地址为:192.168.0.1
服务器端配置:
1:置/etc/ntp.conf文件内容为:
server 127.127.1.0 minpoll 4
fudge 127.127.1.0 stratum 1
restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
driftfile /var/lib/ntp/drift

2: /etc/ntp/ntpservers应置空
3: /etc/ntp/step-tickers应配置为 127.127.1.0 
上诉修改完成后,以root用户身份重启ntpd服务:service ntpd restart即可
客户端配置:
1:置/etc/ntp.conf文件内容为:
server 192.168.0.1
fudge 127.127.1.0 stratum 2
restrict 127.0.0.1
driftfile /var/lib/ntp/drift
restrict 192.168.0.1 mask 255.255.255.255
2. /etc/ntp/ntpservers 文件内容置空
3. /etc/ntp/step-tickers文件内容置为时钟服务器IP地址 192.168.0.1
上诉修改完成后,以root用户身份重启ntpd服务:service ntpd restart即可
用户可用以下两个常用命令查看ntpd服务状态:
1 ntpq -p
2 ntpstat





linux下ntpd安装配置笔记
概述: ntp能与互联网上的时钟保持同步,而且本身也是一台NTP服务器,可以为局域网电脑提供校对时间服务
安装: redhat自带
配置文件: /etc/ntp.conf
附:我的配置文件
#restrict default ignore
restrict 127.0.0.1
restrict 192.168.3.20
restrict 192.168.0.0 mask 255.255.255.0
restrict 192.168.2.0 mask 255.255.255.0
restrict 192.168.4.0 mask 255.255.255.0
server 210.72.145.44 prefer       #National Time Service Center
server 195.13.1.153
server 194.137.39.67
server 127.127.1.0     # local clock
restrict 210.72.145.44
restrict 195.13.1.153
restrict 194.137.39.67
driftfile /var/lib/ntp/drift
附:相关配置参数说明
#  restrict权限控制语法为:
#  restrict IP mask netmask_IP parameter
#  其中 IP 可以是软件地址,也可以是 default ,default 就类似 0.0.0.0 咯!
#  至于 paramter 则有:
#   ignore :关闭所有的 NTP 联机服务
#   nomodify:表示 Client 端不能更改 Server 端的时间参数,不过,
#        Client 端仍然可以透过 Server 端来进行网络校时。
#   notrust :该 Client 除非通过认证,否则该 Client 来源将被视为不信任网域
#   noquery :不提供 Client 端的时间查询
#  如果 paramter 完全没有设定,那就表示该 IP (或网域) 『没有任何限制!』
#  设定上层主机主要以 server这个参数来设定,语法为:
#  server [IP|FQDN] [prefer]
#  Server 后面接的就是我们上层 Time Server 啰!而如果 Server 参数
#  后面加上 perfer 的话,那表示我们的 NTP 主机主要以该部主机来作为
#  时间校正的对应。另外,为了解决更新时间封包的传送延迟动作,




让FreeBSD使用ntpd同步时间

  我们知道ntpd是一种在后台运行可以使用远程时间服务器的进程,它可以让你的服务器时间准确而不会影响系统的正常。
  首先修改/etc/rc.conf添加ntpd_enable="YES"到最后一行。然后vi /etc/ntp.conf
添加:

server 210.72.145.44 prefer
server 159.226.154.47
server 127.127.1.0
fudge 127.127.0.1 stratum 5
restrict default ignore
restrict 127.0.0.0 mask 255.0.0.0
restrict 192.168.0.0 mask 255.255.255.0 noquery nopeer notrust
restrict 210.72.145.44 noquery
restrict 159.226.154.47 noquery
driftfile /var/db/ntpd.drift

  其中server 210.72.145.44 prefer、server 159.226.154.47、restrict 210.72.145.44 noquery、restrict 159.226.154.47 noquery可以改成其他离你最近或最准确的时间服务器。
  这样在服务器重启后ntpd进程就会自动在后台运行,帮助系统同步时间,和在192.168.0这个网段内做一台时间服务器。

 

两种办法
第一,可以从时间服务器 time.nist.gov同步。
在crontab中加入:
00 0 1 * * root rdate -s time.nist.gov
第二,自己建个时间服务器
1). # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm
2). # vi /etc/ntp.conf
注释一行
restrict default ignore
加入一行
restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap
3). # vi /etc/ntp/step-tickers
加入一行
pool.ntp.org
这样每次ntpd启动时,会自动连接该国际标准时间服务器;
4). # service ntpd start
5). # netstat -an |grep 123
确保该端口以udp方式开放
时间客户端配置(192.168.10.2)
1). # ntpdate 192.168.10.1
应该显示同步成功
2). # crond -e
加入
0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
表示每隔10分钟同步一次时间
用组策略配置Windows时间客户端
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值