当前位置首页 > Linux知识

linux搭建ntp时间同步服务

阅读次数:191 次  来源:admin  发布时间:

View Post linux搭建ntp时间同步服务 1、NTP简介

NTP(Network Time Protocol,网络时间协议)用来使计算机时间同步的一种协议。它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒)。对于服务器群集来说,这个是一个很重要的服务,因为群集需要保证每个服务器的时间是保持一致的,这样它们在执行同一个任务时才不会出现有的服务器有滞后的现象,这样群集的状态才是健康的。

我们在平时工作中可能会遇到内网环境中服务器因为不能联网而出现与正常时间不一致的情况,这时候可以采用搭建ntp时间同步服务器,让内网服务器以客户端的方式连接时间同步服务器,当然时间同步服务器要能连接外网,进行时间同步。

2、NTP原理

NTP的授时方式是Client—Server方式,客户端首先向服务端发送一个NTP 包,其中包含了该包离开客户端的时间戳T1,当服务端接收到该包时,依次填入包到达的时间戳T2、包离开的时间戳T3,然后立即把包返回给客户端。客户端在接收到响应包时,记录包返回的时间戳T4。从而计算出时间进行同步。

3、NTP服务端搭建

服务器规划:

192.168.149.20(能连接外网) 服务端 192.168.149.21 (不能连接外网) 客户端

(一)、NTP服务器端(192.168.149.20)安装

可以看到已经安装了ntp,大部分服务器都自带ntp服务

如果没有可以直接 yum -y install ntp进行安装

[root@node1 ~]# rpm -qa | grep ntp
fontpackages-filesystem-1.44-8.el7.noarch
ntp-4.2.6p5-29.el7.centos.2.x86_64
ntpdate-4.2.6p5-29.el7.centos.2.x86_64

(二)、配置NTP服务器端配置文件

下方是已经配好的,可以对照着修改

[root@node1 ~] vim /etc/ntp.conf

# 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 nomodify
# nomodify允许局域网客户端同步

# 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 ::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).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#将以上默认时间源都注释

#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

# 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

# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor

server ntp1.aliyun.com
server time.nist.gov
#在最后加入以上两行时间源

(三)、启动NTP服务

查看计划任务有无时间同步,有的话注释掉,否则启动ntp会报错

[root@node1 ~]# crontab -e    

启动并查看启动状态

[root@node1 ~]# systemctl start ntpd     
[root@node1 ~]# systemctl status ntpd    

如下图所示代表启动成功

通过ntpq -p和ntpstat命令查看是否有同步状态

[root@node1 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+120.25.115.20   10.137.53.7      2 u   74   64  176   44.800   11.154   4.838
*time-a-b.nist.g .NIST.           1 u    8   64  377  199.241   -5.427   3.776

[root@node1 ~]# ntpstat 
synchronised to NTP server (132.163.96.1) at stratum 2
   time correct to within 176 ms
   polling server every 64 s

4、ntp客户端同步

连接服务端进行时间同步(192.168.149.21)

查看是否有ntpdate

[root@node2 ~]# rpm -qa | grep ntpdate        
ntpdate-4.2.6p5-29.el7.centos.2.x86_64

要等10分钟再与ntp服务器进行时间同步,否则会报以上错误,如果仍然报错请检查防火墙配置

[root@node2 ~]# ntpdate 192.168.149.20     
22 Apr 11:06:29 ntpdate[1806]: no server suitable for synchronization found

客户端连接成功

[root@node2 ~]# ntpdate 192.168.149.20
22 Apr 11:09:22 ntpdate[1854]: adjust time server 192.168.149.20 offset -0.017823 sec
上一篇:Linux获取本机公网IP,调整双节点主从服务的RPC调用逻辑
下一篇:100道linux运维测试题,80分以上就是大神了