ntp时间同步服务

由于线上的环境,有些服务器不需要上外网,只需做内网之间的通信即可,所以这些服务器的时间就无法保证同步,可能会对业务造成一些影响,为此,我们需要在内网架设一台NTP时间同步服务器。

首先在服务端安装ntpd服务,一般情况下安装系统的时候已经安装好,如果没有安装,我们可以使用如下命令安装

 红帽系列:

  1. 安装ntp服务

    yum install ntpdate -y 

  2. 配置/etc/ntp.conf

    grep '^[a-z]' /etc/ntp.conf


  3. driftfile /var/lib/ntp/drift

  4. restrict default nomodify notrap   #权限的设定

  5. restrict 127.0.0.1     #开启内部网络递归接口

  6. restrict 192.168.1.100  #开启本机接口

  7. restrict -6 ::1

  8. restrict 192.168.1.0 mask 255.255.255.0  nomodify    #可以同步的网段

  9. server cn.pool.ntp.org   #上级时间服务器,我们可以在后边使用prefer来自己设定默认上级服务器,而不是让系统自己选择

  10. server cn.pool.ntp.org prefer

  11. server ntp.sjtu.edu.cn        #上级时间服务器

  12. server asia.pool.ntp.org        #上级时间服务器

  13. includefile /etc/ntp/crypto/pw

  14. keys /etc/ntp/keys

  15. logfile /var/log/ntp/ntp.log    #日志文件

     关于权限配置部分一些参数如下:

ignore :关闭所有的 NTP 联机服务 

nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 

notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网 

noquery :不提供客户端的时间查询 

注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

    编辑完配置文件,保存退出,然后重新启动ntpd服务

service ntpd restart

#注意检查服务是否真的启动,netstat命令查看udp的123端口

  好了,一个简单ntpd时间同步服务器就已经搭建好了。

  我们可以使用ntpq -p命令来查看我们的ntp服务

[root@hell ~]# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

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

 202.118.1.130   .INIT.          16 u    -   64    0    0.000    0.000   0.000

 sdns.sjtu.edu.c .INIT.          16 u    -   64    0    0.000    0.000   0.000

*27.114.150.12   193.190.230.65   2 u    2   64  377  389.568    2.578  25.695

其中*是系统选择的时间服务器

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

fefid:NTP服务器试用的上一级NTP服务器

st:remote远程服务器的级别,由于NTP是层型结构,有顶端的服务器.多层的Relay Server再到客户端

t:时间源(即NTP服务器)的类型,所以我们看到本地的时间服务器对映的类型是l.

when:上一次成功请求到现在中间相隔的时间(秒数).这个值不会超过maxpoll.

poll:本机和远程服务器多长时间进行一次同步(单位为秒).这里依据的是minpoll/maxpoll.

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

delay:延时,从本地机发送同步要求到NTP服务器的round trip time(ms)(往返时间).

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

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

好了,服务端已经配置完毕,接下来到客户端,直接添加一条定时任务定时更新时间就可以了。


创建一个计划任务同步时间

[root@war ntp]# crontab -l

*/10 * * * *  ntpdate 192.168.1.100  >/dev/null 2&>1

   等过一会看看时间有没有同步吧,这里要注意,一般情况下,时间服务器重启以后需要一段时间的等待才能再一次同步,如果服务器端重启完,客户端马上执行


如果在内网中使用ntpserve来同步时间。请将防火墙关闭。

ntpdate 192.168.1.100


你可能感兴趣的:(ntp)