时间同步 ntp服务器

发布时间 2023-07-26 14:47:57作者: 宁采臣open

一. 定义

#01 简介:ntp全名 network time protocol 。NTP服务器可以为其他主机提供时间校对服务

#02 ntp和ntpdate区别
1) 两个服务都是centos自带的(centos7中不自带ntp)。ntp的安装包名是ntp;ntpdate的安装包是ntpdate。他们并非由一个安装包提供。
2) ntp守护进程为ntpd,配置文件是/etc/ntp.conf
3) ntpdate用于客户端的时间矫正,非NTP服务器可以不启动NTP。

二. 项目要求

## 由于容器内时区不对,且无外网环境,需要ntp服务器 进行时间同步

## 准备两台服务器 一台作为NTP服务器,另一台作为client端向服务器同步时间测试。

服务器 IP 备注
NTP服务端 192.168.5.15 Cenost7
客户端 192.168.5.9 ubuntu (docker 容器内)

三. 部署服务端

#01 安装并启动
yum install -y ntp
service ntpd start

#02 修改配置文件
[root@kq_mysql ~]# grep -Ev '^$|^#' /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 192.168.5.0 mask 255.255.255.0 nomodify notrap     #允许同步的网段
restrict 127.0.0.1                                          #设置为时间同步主服务器
restrict ::1
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
server 127.127.1.0 prefer																		#设置本机为NTP服务器
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

注意:这里只添加下面两行即可
    server 127.127.1.0 prefer   #设置本机为NTP服务器
    restrict 192.168.5.0        #允许客户端156.0.26.7向本机请求时间同步
    restrict 192.168.5.0  mask 255.255.255.0 #允许客户端156.0.26.0网段的所有主机向本机请求时间同步


#03 启动检查
1)检查进程
[root@kq_mysql ~]# service ntpd start
Redirecting to /bin/systemctl start ntpd.service
[root@kq_mysql ~]# netstat -tunlp |grep ntp
udp        0      0 172.17.0.1:123          0.0.0.0:*                           16712/ntpd
udp        0      0 172.18.0.1:123          0.0.0.0:*                           16712/ntpd
udp        0      0 192.168.5.15:123        0.0.0.0:*                           16712/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           16712/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           16712/ntpd
udp6       0      0 :::123                  :::*                                16712/ntpd

2)检查服务
[root@kq_mysql ~]# ntpq  -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+stratum2-1.ntp. 194.190.168.1    2 u   56   64  377  102.792   -0.286   6.553
+119.28.206.193  100.122.36.196   2 u   65   64  377   51.545    0.244  10.349
+ntp1.flashdance 194.58.202.20    2 u   65   64  377  289.813   16.525  13.405
+tick.ntp.infoma .GPS.            1 u   55   64  377  147.590    6.641   8.143
*LOCAL(0)        .LOCL.           5 l   32   64  377    0.000    0.000   0.000


	解释下:ntpq  -p:此命令可以列出当前主机的NTP和上层NTP的状态。
	

四. 部署客户端

#01 安装服务
apt-get install -y ntp

#02 修改配置文件
root@centos_4c8g:/# grep -E -v '^$|^#' /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst
pool ntp.ubuntu.com
server 192.168.5.15                                                     #设置上游的服务器
restrict 192.168.5.15 nomodify notrap noquery                           #允许上游服务器修改本本机IP
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict 127.0.0.1
restrict ::1
restrict source notrap nomodify noquery


客户端需要修改/etc/ntp.conf,添加以下内容
  server 192.168.5.15    															#指名上层NTP服务器
  restrict 192.168.5.15  															#放行156.0.26.6
  restrict 192.168.5.15 nomodify notrap noquery   		 #允许上游服务器修改本本机IP
	


#03 启动 检查
root@centos_4c8g:/# ntpd
root@centos_4c8g:/# ntpq  -p