NTP 是网络时间协议(Network Time Protocol)的简称,通过 udp 123 端口进行网络时钟同步。
Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软件。它能让计算机保持系统时钟与时
钟服务器(NTP)同步,因此让你的计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算
机提供时间同步服务。
Chrony由两个程序组成,分别是chronyd和chronyc。
chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算
机增减时间的比率,并对此进行补偿。
chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机
上工作,也可以在一台不同的远程计算机上工作。
1.软件安装
#设置当前时区
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
[root@localhost ~]# yum install -y chrony
[root@localhost ~]# systemctl enable --now chronyd
[root@localhost ~]# cat /etc/chrony.conf
#设置时间服务器的服务端名字
pool 2.centos.pool.ntp.org iburst
pool 1.rhel.pool.ntp.org iburst
# Allow NTP client access from local network.
#设置允许哪个客户端可以访问该服务器
allow 192.168.0.0/24
2.配置时间服务器客户端
[root@localhost ~]# vim /etc/chrony.conf
#此处服务器可以写国内的
pool ntp.aliyun.com iburst
[root@localhost ~]# systemctl restart chronyd
[root@localhost ~]# chronyc sources
[root@xn134 ~]# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- makaki.miuku.net 3 9 175 397 +53ms[ +54ms] +/- 138ms
^+ 110.42.98.138 2 8 377 206 -3661us[-3284us] +/- 38ms
^- gw-jp-1.gdn.lonely.obser> 2 9 157 22 +22ms[ +22ms] +/- 67ms
^- ntp8.flashdance.cx 2 10 377 61 +10ms[ +10ms] +/- 119ms
^- 117.80.231.60 2 10 377 14 -5454us[-5454us] +/- 100ms
^- tick.ntp.infomaniak.ch 1 9 137 217 -1558us[-1179us] +/- 118ms
^+ 39.105.209.124 2 9 377 326 +7777us[+8185us] +/- 68ms
^- a.chl.la 2 9 275 408 -24ms[ -23ms] +/- 147ms
^* 203.107.6.88 2 9 377 129 -1439us[-1083us] +/- 31ms
^+ 192.168.221.130 3 6 377 0 -1559us[-1559us] +/- 32ms
*表示chronyd当前同步到的源
+表示可接受的信号源,与选定的信号源组合在一起
?指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止
3.配置时间服务器服务端
#需要两个服务器,一个服务端(服务端ip:192.168.221.134),一个客户端测试(客户端主机ip网
段为192.168.221.0/24)
#服务端的配置
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# grep allow /etc/chrony.conf
allow 192.168.221.0/24
#allow 0.0.0.0/0
[root@localhost ~]# systemctl restart chronyd
#客户端访问,先ping时间服务器
[root@localhost ~]# ping 192.168.221.134
[root@localhost ~]# grep iburst /etc/chrony.conf
pool 192.168.221.134 iburst
[root@localhost ~]# systemctl restart chronyd
[root@localhost ~]# chronyc sources