ntp安装配置手册.docx
- 文档编号:30037733
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:30
- 大小:1.43MB
ntp安装配置手册.docx
《ntp安装配置手册.docx》由会员分享,可在线阅读,更多相关《ntp安装配置手册.docx(30页珍藏版)》请在冰豆网上搜索。
ntp安装配置手册
ntp安装配置手册
目 录
目 录2
1引言3
1.1目的3
1.2对象3
2修订历史3
3参考资料3
4术语与缩写3
4.1术语3
4.2缩写4
5Ntp简介4
5.1Ntp原理4
5.2Ntp工作原理5
5.3Ntp报文格式7
5.4Ntp的工作模式9
5.4.1客户端/服务器模式9
5.4.2对等体模式10
5.4.3广播模式10
5.4.4组播模式11
5.5层的概念11
5.6NTPD的运行过程12
6设置Ntp前的准备12
7Linux下的安装配置13
7.1安装13
7.2理解NTP14
7.3配置局域时钟源(服务端)15
7.3.1修改配置15
7.3.2启动NTP进程16
7.3.3检查时间服务器是否正确同步17
7.4配置客户端17
7.4.1修改配置17
7.4.2启动NTP进程18
7.4.3检查时间服务器是否正确同步18
7.5注意事项19
8Windows下的安装配置21
8.1WindowsXP/Windows200321
8.2Windows200022
8.3Windows724
引言
目的
本手册的编写目的是对安装配置NTP服务的相关步骤进行总结。
对象
本文档主要供下列人员使用:
⏹开发人员――功能完善与维护
⏹实施人员――部署负载均衡
修订历史
日期
版本
说明
作者
2012-10-11
1.0.0
初步整理
Marsleo
参考资料
[1].
术语与缩写
术语
序号
术语名称
术语定义
缩写
序号
缩写
缩写意义
1
NTP
NetworkTimeProtocol网络时间协议
Ntp简介
NTP(NetworkTimeProtocol,网络时间协议)是由RFC1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。
NTP基于UDP报文进行传输,使用的UDP端口号为123。
使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。
对于运行NTP的本地系统,既可以接收来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。
Ntp原理
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)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。
Ntp工作原理
NTP的基本工作原理如下图所示:
DeviceA和DeviceB通过网络相连,它们都有自己独立的系统时钟,需要通过NTP实现各自系统时钟的自动同步。
为便于理解,作如下假设:
◆在DeviceA和DeviceB的系统时钟同步之前,DeviceA的时钟设定为10:
00:
00am,DeviceB的时钟设定为11:
00:
00am。
◆DeviceB作为NTP时间服务器,即DeviceA将使自己的时钟与DeviceB的时钟同步。
◆NTP报文在DeviceA和DeviceB之间单向传输所需要的时间为1秒。
系统时钟同步的工作过程如下:
●DeviceA发送一个NTP报文给DeviceB,该报文带有它离开DeviceA时的时间戳,该时间戳为10:
00:
00am(T1)。
●当此NTP报文到达DeviceB时,DeviceB加上自己的时间戳,该时间戳为11:
00:
01am(T2)。
●当此NTP报文离开DeviceB时,DeviceB再加上自己的时间戳,该时间戳为11:
00:
02am(T3)。
●当DeviceA接收到该响应报文时,DeviceA的本地时间为10:
00:
03am(T4)。
至此,DeviceA已经拥有足够的信息来计算两个重要的参数:
NTP报文的往返时延Delay=(T4-T1)-(T3-T2)=2秒。
DeviceA相对DeviceB的时间差offset=((T2-T1)+(T3-T4))/2=1小时。
这样,DeviceA就能够根据这些信息来设定自己的时钟,使之与DeviceB的时钟同步。
Ntp报文格式
NTP有两种不同类型的报文,一种是时钟同步报文,另一种是控制报文。
控制报文仅用于需要网络管理的场合,它对于时钟同步功能来说并不是必需的,这里不做介绍。
主要字段的解释如下:
字段名称
长度
说明
LI(LeapIndicator)
2比特
值为“11”时表示告警状态,时钟未被同步。
为其他值时NTP本身不做处理。
VN(VersionNumber)
3比特
表示NTP的版本号,目前的最新版本为3。
Mode
3比特
表示NTP的工作模式。
不同的值所表示的含义分别是:
0未定义、1表示主动对等体模式、2表示被动对等体模式、3表示客户模式、4表示服务器模式、5表示广播模式或组播模式、6表示此报文为NTP控制报文、7预留给内部使用。
Stratum
1字节
系统时钟的层数,取值范围为1~16,它定义了时钟的准确度。
层数为1的时钟准确度最高,准确度从1到16依次递减,层数为16的时钟处于未同步状态,不能作为参考时钟。
Poll
1字节
轮询时间,即两个连续NTP报文之间的时间间隔。
Precision
1字节
系统时钟的精度。
RootDelay
4字节
本地到主参考时钟源的往返时间。
RootDispersion
4字节
系统时钟相对于主参考时钟的最大误差。
ReferenceIdentifier
4字节
参考时钟源的标识。
ReferenceTimestamp
4字节
系统时钟最后一次被设定或更新的时间。
OriginateTimestamp
4字节
NTP请求报文离开发送端时发送端的本地时间。
ReceiveTimestamp
4字节
NTP请求报文到达接收端时接收端的本地时间。
TransmitTimestamp
4字节
应答报文离开应答者时应答者的本地时间。
Authenticator
4字节
验证信息。
Ntp的工作模式
设备可以采用多种NTP工作模式进行时间同步:
●客户端/服务器模式
●对等体模式
●广播模式
●组播模式
用户可以根据需要选择合适的工作模式。
在不能确定服务器或对等体IP地址、网络中需要同步的设备很多等情况下,可以通过广播或组播模式实现时钟同步;客户端/服务器和对等体模式中,设备从指定的服务器或对等体获得时钟同步,增加了时钟的可靠性。
客户端/服务器模式
在客户端/服务器模式中,客户端向服务器发送时钟同步报文,报文中的Mode字段设置为3(客户模式)。
服务器端收到报文后会自动工作在服务器模式,并发送应答报文,报文中的Mode字段设置为4(服务器模式)。
客户端收到应答报文后,进行时钟过滤和选择,并同步到优选的服务器。
在该模式下,客户端能同步到服务器,而服务器无法同步到客户端。
对等体模式
在对等体模式中,主动对等体和被动对等体之间首先交互Mode字段为3(客户端模式)和4(服务器模式)的NTP报文。
之后,主动对等体向被动对等体发送时钟同步报文,报文中的Mode字段设置为1(主动对等体),被动对等体收到报文后自动工作在被动对等体模式,并发送应答报文,报文中的Mode字段设置为2(被动对等体)。
经过报文的交互,对等体模式建立起来。
主动对等体和被动对等体可以互相同步。
如果双方的时钟都已经同步,则以层数小的时钟为准。
广播模式
在广播模式中,服务器端周期性地向广播地址255.255.255.255发送时钟同步报文,报文中的Mode字段设置为5(广播模式)。
客户端侦听来自服务器的广播报文。
当客户端接收到第一个广播报文后,客户端与服务器交互Mode字段为3(客户模式)和4(服务器模式)的NTP报文,以获得客户端与服务器间的网络延迟。
之后,客户端就进入广播客户端模式,继续侦听广播报文的到来,根据到来的广播报文对系统时钟进行同步。
组播模式
在组播模式中,服务器端周期性地向用户配置的组播地址(若用户没有配置组播地址,则使用默认的NTP组播地址224.0.1.1)发送时钟同步报文,报文中的Mode字段设置为5(组播模式)。
客户端侦听来自服务器的组播报文。
当客户端接收到第一个组播报文后,客户端与服务器交互Mode字段为3(客户模式)和4(服务器模式)的NTP报文,以获得客户端与服务器间的网络延迟。
之后,客户端就进入组播客户模式,继续侦听组播报文的到来,根据到来的组播报文对系统时钟进行同步。
层的概念
NTP时间同步失败的原因很多,但排除配置不当和外部因素后,NTP协议本身的特性也需要考虑到,在LinuxNTPD服务调试的过程中,遇到以下问题:
1)NTPD服务刚启动后,客户端无法同步时间,在过了几分钟之后,客户端才能成功成功同步时间。
2)网络上存在多个NTP服务器时,客户端单独只从A服务器或B服务器同步时间都能成功,但如果把从A服务同步时间的客户机重新设置,改为从B服务器同步,很有可能不能成功同步时间,重启客户机上的同步服务之后,发现客户机又能够成功从B服务器同步了。
这些问题主要涉及到NTP的层(stratum)的概念,顶层是1,值为0时表示层数不明,层的值是累加的,比如NTP授时方向是A-〉B-〉C,假设A的stratum值是3,那么B从A获取到时间,B的stratum置为4,C从B获取到时间,C的值被置为5。
一般只有整个NTP系统最顶层的服务器stratum才设为1。
NTP同步的方向是从stratum值较小的节点向较大的节点传播,如果某个NTP客户端接收到stratum比自己还要大,那么NTP客户端认为自己的时间比接受到的时间更为精确,不会进行时间的更新。
对于大部分NTP软件系统来说,服务启动后,stratum值初始是0,一旦NTP服务获取到了时间,NTP层次就设置为上级服务器stratum+1。
对于具备卫星时钟、原子钟的专业NTP设备,一般stratum值初始是1。
NTPD的运行过程
NTPD启动后,stratum值初始是0,此时NTPD接收到NTP请求,回复stratum字段为0的NTP包,客户端接收后,发现stratum字段无效,拒绝更新时间,造成时间更新失败。
几分钟后,NTPD从上级服务器获取到了更新,设置了正确的stratum,回复stratum字段为n+1的NTP包,客户端接收后,确认stratum有效,成功进行时间更新。
在NTPD上级服务器不可用的情况下,NTPD将本机时钟服务模拟为一个上级NTP服务器,地址使用环回127.127.1.0,服务启动几分钟后,NTPD从127.127.1.0更新了时钟,设置了有效的stratum,客户端接收后,成功进行时间更新。
设置Ntp前的准备
找到在互联网上给我们提供同步服务的NTPServer,http:
//www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们城市最近的NTPServer.NTP建议我们为了保障时间的准确性,最少找两个个NTPServer
那么比如在英国的话就可以选择下面两个服务器
0.uk.pool.ntp.org
1.uk.pool.ntp.org
它的一般格式都是number.country.pool.ntp.org
中国的ntp服务器地址:
server133.100.11.8prefer
server210.72.145.44
server203.117.180.36
server131.107.1.10
server
server64.236.96.53
server130.149.17.21
server66.92.68.246
serverwww.freebsd.org
server18.145.0.30
server
server137.92.140.80
server133.100.9.2
server128.118.46.3
serverntp.nasa.gov
server129.7.1.66
serverntp-sop.inria.fr
Linux下的安装配置
Linux下的ntp软件不但能自动与互联网上的时钟保持同步,同时本身已经是一台SNTP服务器(时钟源)了,可以供局域网内的机器校对时间。
这里只介绍客户端/服务器的工作模式。
安装
命令命令:
rpm-qa|grepntp
检查系统是否已经安装ntp,如果已经安装,则会有类似如下的结果:
如果系统没有安装ntp,则可以使用rpm(从光盘或者iso找到rpm软件包或者到http:
//www.eecis.udel.edu/~ntp/下载),然后使用rpm命令安装:
rpm-ivhntp-4.1.2-4.src.rpm
还可以命令yuminstall命令安装:
yuminstallntp
理解NTP
NTP服务的配置文件包括四个文件:
与NTP及系统时间有关的执行文件包括几个文件:
Linux时钟类型在分类和设置上却和Windows大相径庭。
和Windows不同的是,Linux将时钟分为系统时钟(SystemClock)和硬件(RealTimeClock,简称RTC)时钟两种。
系统时间是指当前LinuxKernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“StandardBIOSFeture”项中进行设置。
当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
配置局域时钟源(服务端)
目的是让LAN的时间服务器(第三级)与互联网上的时间服务器(第一或者第二级)同步。
修改配置
修改ntf.conf
主要是修改/etc/ntp.conf,这是NTP的主要配置文件,里面设置了用来同步时间的时间服务器的域名或者IP地址,下面是到互联网同步时间的最基本的配置:
首先定义我们喜欢的时间服务器:
serverntp.research.gov
serverotherntp.research.gov
接下来,我们设置上面两台服务器的访问权限,在这个例子中我们不允许它们修改或者查询我们配置在Linux上的NTP服务器:
restrict ntp.research.gov mask255.255.255.255nomodifynotrapnoquery
restrict otherntp.research.gov mask255.255.255.255nomodifynotrapnoquery
掩码255.255.255.255是用来限制远程NTP服务器的掩码地址。
接下来设置允许访问我们时间服务器的客户机地址,通常这些服务器都应该位于我们自己局域网内。
请注意,配置中noquery已经去掉了:
restrict192.168.0.0mask255.255.255.0notrustnomodifynotrap
在上例中,掩码地址扩展为255,因此从192.168.0.1-192.168.0.254的服务器都可以使用我们的NTP服务器来同步时间。
最后,也是最重要的是默认的限制配置要从你配置文件中删除,否则它将覆盖你所有的配置选项,你将发现如果不删除该配置,你的时间服务器将只能和自己通讯。
如果ntp.conf中有以下一行,请将它注释:
#restrictdefaultignore
保存你的配置文件,然后对每个你在ntp.conf里配置的时间服务器执行2编查询命令:
#ntpdate ntp.research.gov
27Jun10:
12:
01ntpdate[25475]:
adjusttimeserver ntp.research.gov offset-0.127154sec
#ntpdate ntp.research.gov
27Jun10:
12:
06ntpdate[25478]:
adjusttimeserver ntp.research.gov offset0.010008sec
修改step-tickers
主要是修改/etc/ntp/step-tickers,里面设置了当NTP服务启动会自动和此文件记录的NTP服务器进行时间校对:
203.117.180.36
修改ntpd
NTP一般只会同步系统时钟,但是如果我们也要同步硬件时钟的话,那么需要修改/etc/sysconfig/ntpd,在文件中添加如下内容:
SYNC_HWCLOCK=yes
允许BIOS与系统时间同步。
启动NTP进程
为了使NTP服务可以在系统引导的时候自动启动,执行:
chkconfigntpdon
启动/关闭/重启NTP/查看状态的命令是:
/etc/init.d/ntpdstart
/etc/init.d/ntpdstop
/etc/init.d/ntpdrestart
/etc/init.d/ntpdstatus
或者:
servicentpdstart
servicentpdstop
servicentpdrestart
servicentpdstatus
切记每次修改了配置文件后都需要重新启动服务来使配置生效。
可以使用下面的命令来检查NTP服务是否启动,你应该可以得到一个进程ID号:
pgrepntpd
检查时间服务器是否正确同步
使用下面的命令检查时间服务器同步的状态:
ntpq–p
一个可以证明同步有问题的证据是所有远程服务器的jitter值是4000并且delay和reach的值是0。
可能的原因有:
◆配置文件中的restrictdefaultignore没有被注释
◆有防火墙阻断了与server之间的通讯
此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你执行ntpdateip的时候将返回:
27Jun10:
20:
17ntpdate[21920]:
noserversuitableforsynchronizationfound
配置客户端
修改配置
修改ntp.conf
编辑/etc/ntp.conf:
server127.127.1.0#localclock
fudge127.127.1.0stratum10
serverstdtime.gov.hk#Astratum1serveratserver.org
server192.168.x.y#IP为你前面所装机器在局域网里的IP
driftfile/etc/ntp/drift
broadcastdelay0.008
authenticateno
keys/etc/ntp/keys
restrict192.168.x.0mask255.255.255.0notrustnomodifynotrap//x.0为你所在局域网段
restrict127.0.0.1
restrict192.168.x.y#x.y为你前面所装机器在局域网里的IP
#restrictdefaultignore
同时执行命令配置:
/sbin/chkconfig--addntpd
/sbin/chkconfig--level234ntpdon//配置在开机时运行
修改step-tickers
参考修改step-tickers中的配置,把其中的IP设置为局域时钟源服务器的IP。
修改ntpd
参考修改ntpd中的配置。
启动NTP进程
在开启ntp服务前,应该先手动执行下面的命令保持ntp服务器同步:
ntpdate-b服务器地址
开启ntp服务
servicentpdstart
检查时间服务器是否正确同步
使用下列命令检查:
netstat-unl|grep123//查看123端口
ndptrace192.168.x.y//看校对时间过程,出现offset即为正常否则为timeout
ntpq–p
如果出现jitter的值为4000则是防火墙或者网络问题。
正常为
remoterefidsttwhenpollreachdelayoffsetjitter
================================================================
*clock.nc.fukuok.GPS.1u43643719.067-6.88410.339
+clock.tl.fukuok.GPS.1u36643519.670-3.2592.341
LOCAL(0)LOCAL(0)5l4564370.0000.0000.001
如果用ntpstat检查的结果为:
如上显示已同步状态时服务才是可用的。
否则如果如下:
如上显示未同步状态说明服务仍未可用,局域网内其他服务器还无法使用当前服务器作同步。
注意事项
1.虽然ntp溢出问题较少,但建议配置大型网罗的时候,不要装在重要数据库服务器或者Web主机上(Ntp是root权限)
2.在遇到问题之前,先看看ntp自带的文档。
3.防火墙问题的话,送一句配置:
$TMP-tfilter-AINPUT-pudp--destination-port123-jACCEPT
也就是123udpin全部接受。
如果子网IP仍然提示4000错误,可以把
restrict192.168.0.0mask255.255.255.0notrustnomodifynotrap
改为
restrict192.168.0.0mask255.255.255.0nomodify
对于权限参数的说明可以参考台湾鸟哥的文章的说明:
#1.关
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ntp 安装 配置 手册