ntp服务器简单部署

本文大纲
一、简介
二、环境说明及配置
三、测试
四、常见问题解决
###############
一、简介
        NTP 服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精 准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。
1、特性
        NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。 NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上 获取。这样就有了准确而可靠的时间源。时间按NTP服务器的等级传播。按照离外部UTC 源的远近将所有服务器归入不同的Stratum(层)中。Stratum-1在顶层,有外部UTC接入,而Stratum-2则从Stratum-1获取 时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相 互连接,而Stratum-1的时间服务器是整个系统的基础。
        计算机主机一般同多个时间服务器连接, 利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间。即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。
       为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。
2、网络校对
    时间服务器可以利用以下三种方式与其他服务器对时:
    broadcast/multicast
    client/server
    symmetric
        broadcast/multicast 方式主要适用于局域网的环境,时间服务器周期性的以广播的方式,将时间信息传送给其他网路中的时间服务器,其时间仅会有少许的延迟,而且配置非常的简单。 但是此方式的精确度并不高,对时间精确度要求不是很高的情况下可以采用。
        symmetric的方式得一台服务器可以从远端时间服务器获取时钟,如果需要也可提供时间信息给远端的时间服务器。此一方式适用于配置冗余的时间服务器,可以提供更高的精确度给主机。
        client/server方式与symmetric方式比较相似,只是不提供给其他时间服务器时间信息,此方式适用于一台时间服务器接收上层时间服务器的时间信息,并提供时间信息给下层的用户。
        上 述三种方式,时间信息的传输都使用UDP协议。每一个时间包内包含最近一次的事件的时间信息、包括上次事件的发送与接收时间、传递现在事件的当地时间、及 此包的接收时间。在收到上述包后即可计算出时间的偏差量与传递资料的时间延迟。时间服务器利用一个过滤演算法,及先前八个校时资料计算出时间参考值,判断 后续校时包的精确性,一个相对较高的离散程度,表示一个对时资料的可信度比较低。仅从一个时间服务器获得校时信息,不能校正通讯过程所造成的时间偏差,而 同时与许多时间服务器通信校时,就可利用过滤算法找出相对较可靠的时间来源,然后采用它的时间来校时。
注:以上简介来自于百科。

二、环境说明及配置
    1、本地服务器环境

[[email protected] ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final) 
#kernel version  
[[email protected] ~]# uname -r
2.6.32-431.el6.x86_64
#memory
[[email protected] ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         15940      10857       5082          0        481       8615
-/+ buffers/cache:       1760      14179
Swap:         2047          0       2047

2、安装ntp服务

[[email protected] ~]# yum install -y ntp   
[[email protected] ~]# rpm -ql ntp |grep ntp |head -10
/etc/dhcp/dhclient.d/ntp.sh
/etc/ntp.conf   #ntp配置文件
/etc/ntp/crypto 
/etc/ntp/crypto/pw
/etc/rc.d/init.d/ntpd  #ntp服务启动文件
/etc/sysconfig/ntpd    #ntp参数配置文件
/usr/bin/ntpstat       #查看ntp服务状态文件
/usr/sbin/ntp-keygen
/usr/sbin/ntpd
/usr/sbin/ntpdc

3、配置ntp服务器

[[email protected] ~]# vim /etc/ntp.conf 
#这里有默认的配置文件模板及各项参数简要说明,可以自行选择使用或自己编写。
#以下是我的配置文件内容
ftfile /var/lib/ntp/driftrestrict 
default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery#针对ipv6设置
 
# 允许本地所有操作
restrict 127.0.0.1
restrict -6 ::1
 
# 允许172.16.0.0网段
restrict 172.16.0.0 mask 255.255.0.0 nomodify notrap
 
#服务器列表
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
 
#加密及key文件
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
 
# 如果无法与上层ntp server通信以本地时间为标准时间
server 127.127.1.0
fudge 127.127.1.0 stratum 8

参数说明:
        1)、 driftfile(ftfile) 文件名
            侦测BIOS时钟与Linux系统时间的差异写入次文件,记录在driftfile参数后面的文件内。
        注意:  driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
        2)、权限的设定主要以 restrict 这个参数来设定,主要的语法为:
            restrict IP地址 mask 子网掩码 参数
            其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
            参数有以下几个:
                ignore :关闭所有的 NTP 联机服务
                nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
                notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
                noquery :不提供客户端的时间查询
                notrap:  不提供trap远程事件登录的功能
                kod:kod技术可以组织一种dos攻击
        3)、用server这个参数设定上级时间服务器,语法为:
            server  IP地址或域名 [prefer]
            IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。

三、测试
    1、启动服务

[[email protected] ~]# service ntpd start
[[email protected] ~]# /usr/bin/ntpstat 
synchronised to NTP server (202.112.29.82) at stratum 3    
time correct to within 37 ms   
polling server every 1024 s
[[email protected] ~]# netstat -an |grep 123
udp        0      0 172.16.5.100:123            0.0.0.0:*                               
udp        0      0 114.112.175.211:123         0.0.0.0:*                               
udp        0      0 127.0.0.1:123               0.0.0.0:*                               
udp        0      0 0.0.0.0:123                 0.0.0.0:*
#查看何时ntp server完成了和自身同步的过程
[[email protected] ~]# watch ntpq -p 
Every 2.0s: ntpq -p                                     Sat Oct 25 17:52:31 2014
 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+dns2.synet.edu. 202.118.1.46     2 u   92 1024  377   82.340    2.289   0.318
 dns.sjtu.edu.cn .INIT.          16 u    - 1024    0    0.000    0.000   0.000
*dns1.synet.edu. 223.255.185.2    2 u  375 1024  377   83.362    2.974   0.184
 LOCAL(0)        .LOCL.           8 l   12   64  377    0.000    0.000   0.000

注意LOCAL的这个就是与自身同步的ntp server。
注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。
如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断。
    2、客户端同步
      启动服务之后要等几分钟或者十几分钟后就可以实现时间同步了。
      客户端同步命令

[[email protected] ~]# ntpdate 172.16.5.100
25 Oct 17:59:55 ntpdate[30434]: adjust time server 172.16.5.100 offset -0.001452 sec

四、常见问题解决
    1、Server dropped: Strata too high    
        在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误。
        在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。
这是因为NTP server还没有和其自身或者它的server同步上,在服务端运行watch ntpd -p即可以查看到自身的同步情况,等同步完成后,客户再同步就可以了。
    2、Server dropped: no data
     从客户端执行netdate –d时有错误信息如下:

[[email protected] ~]# ntpdate -d 172.16.5.100                                         25 Oct 18:48:25 ntpdate[2214]: ntpdate [email protected] Sat Nov 23 18:21:48 UTC 2013 (1)
Looking for host 172.16.5.100 and service ntp
host found : bogon
transmit(172.16.5.100)
transmit(172.16.5.100)
transmit(172.16.5.100)
transmit(172.16.5.100)
transmit(172.16.5.100)
172.16.5.100: Server dropped: no data
server 172.16.5.100, port 123
stratum 0, precision 0, leap 00, trust 000
refid [172.16.5.100], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  8:05:57.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  8:05:57.000
transmit timestamp:  d7f5fe7d.038d2774  Sat, Oct 25 2014 18:48:29.013
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

25 Oct 18:48:30 ntpdate[2214]: no server suitable for synchronization 
found

出现这个问题的原因可能有两个:
    a、检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误。
使用以下命令检查ntp的版本:

[[email protected] ~]# ntpq -v 
ntpq - standard NTP query program - Ver. 4.2.4p8

解决办法:
            把notrust去掉
    b、检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口或是由于跨网段导致网络不通
     解决办法:
        如果是防火墙是原因,可以将防火墙暂时关闭,再次尝试同步时间,如果成功,修改防火墙规则即可。    
        如果由于不在同一网段,那么只要添加默认的路由即可。

时间: 2024-10-13 15:29:16

ntp服务器简单部署的相关文章

DNS服务器简单部署

简单粗暴的装bind ~]# yum install bind* -y 然后修改主配置文件/etc/named.config zone "." IN { type hint; file "named.ca"; }; zone "songhe.com" IN { type master; file "songhe.com.zone"; }; include "/etc/named.rfc1912.zones"

部署NTP服务器进行时间同步

一.环境准备   xuegod63.cn                 服务端        xuegod64.cn                 客户端 二.服务端配置: 1.    安装ntp 服务 [[email protected] ~]# yum install  -y ntp 2.    开启ntpd服务并设置开机启动 [[email protected] ~]# service ntpd  start 正在启动 ntpd:                            

NTP时间服务器搭建部署

一.NTP介绍NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms.NTP服务器就是利用NTP协议提供时间同步服务的二.NTP服务器安装1.查看本机系统版本cat /etc/redhat-release 2.查看本机NTP软件包rpm -qa ntp三.NTP服务器配置1.备份ntp服务器配置文件cp /et

linux ntp安装简单配置

公司的一台服务器硬件坏了挂了,其中就有ntp服务端,写一下ntp服务端的简单配置. 1.首先安装ntp,centos 系统执行 yum install ntp 2.写入配置文件/etc/ntp.conf如下 restrict 192.168.18.153 mask 255.255.255.0 nomodify notrap restrict 192.168.18.0 mask 255.255.255.0 nomodify server time.pool.aliyun.com #server 1

cacti简单部署

cacti简单部署 cacti简介 本章结构 常见平台 常见的服务器监控软件 cacti,流量与性能监测为主----http://www.cacti.net/ nagios,服务与性能监测为主---http://www.nagios.org/ 其他相关工具 RRDtool,轮询数据工具 SNMP原理 类别 标号 所包含的信息 system (1) 主机或路由器的操作系统 interfaces (2) 各种网络接口及它们的测定通信量 address transiation (3) 地址转换(例如A

DNS服务器简单配置和view实现

简介: DNS服务器的作用就是就好比生活中的电话簿.114查号台一样,为各种网络程序找到对应目标主机的IP地址或对应的主机域名. DNS系统的作用: 正向解析:根据主机名称(域名)查找对应的IP地址(实际应用中最多的) 反向解析:根据IP地址查找对应的主机域名(不常用,一般用于搭建邮件服务器时.) 根据服务器与所提供域名解析记录的关系,将DNS服务器分为不同的角色: 缓存域名服务器 也称为 唯高速缓存服务器 通过向其他域名服务器查询获得域名->IP地址记录 将域名查询结果缓存到本地,提高重复查询

mogilefs 的简单部署

----本文大纲 分布式文件系统 MogileFS 环境 安装及配置 代理测试 ------------- 一.分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,也就是集群文件系统,可以支持大数量的节点以及PB级的数量存储.相对地,在一个分享的磁盘文件系统中,所有节点对数据存储区块都有相同的访问权,在这样的系统中,访问权限就必须由客户端程序来控制.分布式文件系统可能包含的功能有:

linux的tomcat服务器上部署项目的方法

在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器.在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章. 一  tomcat服务器修改端口 tomcat服务器配置好以后,默认是8080端口,为了方便访问,我们将端口修改为80端口.比如, tomcat安装在/usr/local/tomcat目录下,利用命令 #cd /usr/local/tomcat/conf #ls 可以tomcat的conf目录下的文件,端口定

CentOS6.5系统搭建NTP服务器

在进入到我们的主题之前首先我们可以简单了解一下这几个名词 Atomic Clock: 现在计算时间最准确的是使用 原子震荡周期 所计算的物理时钟(Atomic Clock),因此也被定义为标准时间(International Atomic Time) UTC(coordinated Universal Time): 协和标准时间 就是利用 Atomic Clock 为基准定义出来的正确时间 (世界统一时间,世界标准时间,国际协调时间) 硬件时钟: 硬件时钟是指嵌在主板上的特殊的电路, 它的存在就