NTP时钟服务器配置

     

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

一、软件包安装

yum -y install ntp

二、服务器端配置

1、修改主配置文件ntpd.conf

driftfile /var/lib/ntp/drift

keys /etc/ntp/keys

logfile /var/log/ntp.log 

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.0.0 mask 255.255.255.0 nomodify notrap

server 192.168.0.12(ntp服务器的IP地址)

server 0.centos.pool.ntp.org prefer

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

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

 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

 意思是从允许从192.168.1.0网段的机器同步时间。

 server 192.168.146.225

 指明局域网中作为NTP服务器的IP

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

3、修改NTP服务器同步的UTC

 vim /etc/ntp/step-tickers

 114.80.81.1

 ntp服务启动时会加载此文件同步网络时钟

4、启动NTP服务

 service ntpd start

  chkconfig ntpd on

  设置开机启动

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

三、客户端配置

1、ntpdate来同步时钟

ntpdate NTP服务器IP地址

一般服务启动后需要等待23分钟才会同步。

2、以root身份将时钟同步加入crontab计划

15 * * * * ntpdate 服务器IP

15分钟同服务器更新一次时间

3、设置允许系统时间同步到BLOS

cat /etc/sysconfig/ntpd 

# Drop root to id 'ntp:ntp' by default.

SYNC_HWCLOCK=yes

OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"

clock  -w 强制将系统时间写入到CMOS中是指永久生效,避免系统重启后恢复成原来时间。

四、日常使用详解

1、ntpq p命令详述   

ntpq -p

remote       refid      st  t   when  poll  reach   delay   offset  jitter

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

*10.247.160.31   10.240.241.5  4  u   53   64  377      0.240    0.374   0.240

remote :响应这个请求的NTP服务器的名称。

refid NTP服务器使用的上一级ntp服务器。

st  remote远程服务器的级别由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端所以服务器从高到低级别可以设定为1-16. 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的.

when:  上一次成功请求之后到现在的秒数。

poll :  本地机和远程服务器多少时间进行一次同步(单位为秒). 在一开始运行NTP的时候这个poll值会比较小,那样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小

reach: 这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加

delay: 从本地机发送同步要求到ntp服务器的round trip time

offset :主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和ntp服务器的时间越接近

jitter: 这是一个用来做统计的值它统计了在特定个连续的连接数里offset的分布情况简单地说这个数值的绝对值越小,主机的时间就越精确

2、日常报错问题

一般报错无法同步,多数为防火墙问题,或是配置细节问题导致。