NTP时钟同步服务器安装

来源:互联网 发布:大作家智能写作软件 编辑:程序博客网 时间:2024/05/21 07:50


NTP时钟同步服务器安装


1、NTP时间同步方式选择


NTP同步方式在linux下一般两种:使用ntpdate命令直接同步和使用NTPD服务平滑同步。
有什么区别呢,简单说下,免得时间长了,概念又模糊。
现有一台设备,系统时间是 13:00 , 真实的当前时间(在空中,也许卫星上,这里假设是在准备同步的上级目标NTP服务器)是: 12:30 。
如果我们使用ntpdate同步(ntpdate -u 目标NTP服务器IP),操作系统的时间立即更新为12:30,
假如,我们的系统有一个定时应用,是在每天12:40运行,那么实际今天这个的任务已经运行过了(当前时间是13:00嘛),
现在被ntpdate修改为12:30,那么意味作10分钟后,又会执行一次任务,这就糟糕了,这个任务只能执行一次的嘛!!
我想你(其实是我)已经懂了ntpdate时间同步的隐患,当然这个例子有些极端,但的确是有风险的,生产环境我不打算这么干,
还是稳妥点好。所以解决该问题的办法就是时间平滑更改,不会让一个时间点在一天内经历两次,
这就是NTPD服务方式平滑同步时间,它每次同步时间的偏移量不会太陡,是慢慢来的
(问:怎么来,没有细究,只晓得一次一点的同步,完全同步好需要较长时间,所以一般开启NTPD服务同步前先用ntpdate先手动同步一次)。




2、服务器安装配置


CentOS 6.3系统已经自带了NTPD服务,一般默认是按照了的,如果没有安装,


(1) 先检查下,然后配置好yum仓库,yum方式安装下就OK,具体如下:


# rpm -q ntp


ntp-4.2.4p8-2.el6.x86_64               // 这表示已安装了,如果没有安装,这是空白。


(2) 如果没有安装,我们按照下


# yum install ntp


......


(3)按上面的安装方式在内网每台服务器上都安装好NTP软件包。


完成后,都需要配置NTP服务为自启动


# chkconfig ntpd on


# chkconfig --list ntpd


ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭


(4) 在配置前,先使用ntpdate手动同步下时间,免得本机与外部时间服务器时间差距太大,让ntpd不能正常同步。


# ntpdate -u 202.112.10.36


22 Dec 16:52:38 ntpdate[6400]: adjust time server 202.112.10.36 offset 0.012135 sec


配置内网NTP-Server(192.168.1.135)




(5) 下面主要是配置内网的NPTD服务器(192.168.1.135), NTPD服务配置核心就在/etc/ntp.conf文件,
配置好了就OK。


# For more information about this file, see the man pages


# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).


 


driftfile /var/lib/ntp/drift


 


# Permit time synchronization with our time source, but do not


# permit the source to query or modify the service on this system.


restrict default kod nomodify notrap nopeer noquery


restrict -6 default kod nomodify notrap nopeer noquery


 


# Permit all access over the loopback interface. This could


# be tightened as well, but to do so would effect some of


# the administrative functions.


restrict 127.0.0.1


restrict -6 ::1


 


# Hosts on local network are less restricted.


# 允许内网其他机器同步时间


restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap


 


# Use public servers from the pool.ntp.org project.


# Please consider joining the pool (http://www.pool.ntp.org/join.html).


# 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn


server 210.72.145.44 perfer # 中国国家受时中心


server 202.112.10.36 # 1.cn.pool.ntp.org


server 59.124.196.83 # 0.asia.pool.ntp.org


 


#broadcast 192.168.1.255 autokey # broadcast server


#broadcastclient # broadcast client


#broadcast 224.0.1.1 autokey # multicast server


#multicastclient 224.0.1.1 # multicast client


#manycastserver 239.255.254.254 # manycast server


#manycastclient 239.255.254.254 autokey # manycast client


 


# allow update time by the upper server


# 允许上层时间服务器主动修改本机时间


restrict 210.72.145.44 nomodify notrap noquery


restrict 202.112.10.36 nomodify notrap noquery


restrict 59.124.196.83 nomodify notrap noquery


 


# Undisciplined Local Clock. This is a fake driver intended for backup


# and when no outside source of synchronized time is available.


# 重要部分, 注意一下, 外部时间服务器不可用时,以本地时间作为时间服务


server 127.127.1.0 # local clock


fudge 127.127.1.0 stratum 10



 


# Enable public key cryptography.


#crypto


 


includefile /etc/ntp/crypto/pw


 


# Key file containing the keys and key identifiers used when operating


# with symmetric key cryptography.


keys /etc/ntp/keys


 


# Specify the key identifiers which are trusted.


#trustedkey 4 8 42


 


# Specify the key identifier to use with the ntpdc utility.


#requestkey 8


 


# Specify the key identifier to use with the ntpq utility.


#controlkey 8


 


# Enable writing of statistics records.


#statistics clockstats cryptostats loopstats peerstats




(6) 配置文件修改完成,保存退出,启动服务。


# service ntpd start


......


(7) 启动后,一般需要5-10分钟左右的时候才能与外部时间服务器开始同步时间。可以通过命令查询NTPD服务情况。


查看服务连接和监听


# netstat -tlunp | grep ntp


udp 0 0 192.168.1.135:123 0.0.0.0:* 23103/ntpd


udp 0 0 127.0.0.1:123 0.0.0.0:* 23103/ntpd


udp 0 0 0.0.0.0:123 0.0.0.0:* 23103/ntpd


udp 0 0 fe80::6cae:8bff:fe3d:f65:123 :::* 23103/ntpd


udp 0 0 fe80::6eae:8bff:fe3d:f65:123 :::* 23103/ntpd


udp 0 0 ::1:123 :::* 23103/ntpd


udp 0 0 :::123 :::* 23103/ntpd






(8) ntpq -p 查看网络中的NTP服务器,同时显示客户端和每个服务器的关系


# ntpq -p


remote refid st t when poll reach delay offset jitter


==============================================================================


*202.112.10.36 202.112.10.60 2 u 277 128 314 201.553 9.193 17.068


+59.124.196.83 129.6.15.28 2 u 88 128 377 71.153 -25.111 14.004


LOCAL(0) .LOCL. 10 l 15 64 377 0.000 0.000 0.000


位置 标志 含义
符号 * 响应的NTP服务器和最精确的服务器
+ 响应这个查询请求的NTP服务器
blank(空格) 没有响应的NTP服务器




标题
remote 响应这个请求的NTP服务器的名称
refid NTP服务器使用的更高一级服务器的名称
st 正在响应请求的NTP服务器的级别
when 上一次成功请求之后到现在的秒数
poll 本地和远程服务器多少时间进行一次同步,单位秒,在一开始运行NTP的时候这个poll值会比较小,
服务器同步的频率大,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小
reach 用来测试能否和服务器连接,是一个八进制值,每成功连接一次它的值就会增加
delay 从本地机发送同步要求到ntp服务器的往返时间
offset 主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒,offset越接近于0,主机和ntp服务器的时间越接近
jitter 统计了在特定个连续的连接数里offset的分布情况。简单地说这个数值的绝对值越小,主机的时间就越精确
ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。






(9) 刚启动的时候,一般是:


# ntpstat


unsynchronised


time server re-starting


polling server every 64 s


连接并同步后:


synchronised to NTP server (202.112.10.36) at stratum 3


time correct to within 275 ms


polling server every 256 s




2. 客户端安装配置


OK,内网的NTPD服务已经配置完成,如果所有正常后,开始配置内网的其他设备与这台服务器作为时间同步服务。


配置内网NTP-Clients


内网其他设备作为NTP的客户端配置,相对就比较简单,而且所有设备的配置都相同。


(1) 首先需要安装NTPD服务,然后配置为自启动(与NTP-Server完全一样)。然后找其中一台配置/etc/ntp.conf文件,配置完成验证通过后,拷贝到其他客户端机器,直接使用即可。


# yum install ntp


...


(2) # chkconfig ntp on


(3) # vim /etc/ntp.conf


driftfile /var/lib/ntp/drift


restrict 127.0.0.1


restrict -6 ::1


 


# 配置时间服务器为本地的时间服务器


server 192.168.1.135


 


restrict 192.168.1.135 nomodify notrap noquery


 


server 127.127.1.0 # local clock


fudge 127.127.1.0 stratum 10


 


includefile /etc/ntp/crypto/pw


 


keys /etc/ntp/keys


为了简单,这里只列出了配置项,注释全部清理了。


OK,保存退出,请求服务器前,请先使用ntpdate手动同步下时间


(4) # ntpdate -u 192.168.0.135


22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec


这里有可能出现同步失败,一般情况下原因都是本地的NTPD服务器还没有正常启动起来,一般需要几分钟时间后才能开始同步。


错误判断请参考后面的错误处理。


(5) # service ntpd start


....


(6) 启动后,查看同步情况


# ntpq -p


# ntpstat


.....


因为是内网,一般ntpstat很快就可以同步上,几分钟需要等下.


OK,本机客户端配置完成后,使用SCP拷贝/etc/ntp.conf到其他需要同步的客户端机器,启动NTPD服务即可。


其他客户端机器上操作配置如下:


(7) # ntpdate -u 192.168.0.135


22 Dec 17:09:57 ntpdate[6439]: adjust time server 192.168.1.135 offset 0.004882 sec


# scp 192.168.1.xxx:/etc/ntp.conf /etc/ntp.conf


# service ntpd start




本文转自:
http://www.2cto.com/os/201407/322032.html



0 0
原创粉丝点击