NTP 是网络时间协议( Network Time Protocol )的简称,通过 udp 123 端口进行网络时钟同步。
Chrony 是一个开源自由的网络时间协议 NTP 的客户端和服务器软件。它能让计算机保持系统时钟与时
钟服务器( NTP )同步,因此让你的计算机保持精确的时间, Chrony 也可以作为服务端软件为其他计算
机提供时间同步服务。
Chrony 由两个程序组成,分别是 chronyd 和 chronyc 。
chronyd 是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
chronyc 提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在 chronyd 实例控制的计算机上工作,也可以在一台不同的远程计算机上工作
1、软件安装
[root@localhost ~]# yum install -y chrony
[root@localhost ~]# systemctl enable --now chronyd
[root@server1 ~]# cat /etc/chrony.conf
#设置时间服务器的服务端名字
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
# Allow NTP client access from local network.
#设置允许哪个客户端可以访问该服务器
#allow 192.168.0.0/16
#设置当前时区
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
2、配置时间服务器客户端
[root@server1 ~]# vim /etc/chrony.conf
#此处服务器可以写国内的
server ntp.aliyun.com iburst
[root@localhost ~]# systemctl restart chronyd
[root@server1 ~]# chronyc sources
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
============================================================================
===
^* 203.107.6.88 2 6 7 1 -705us[ -5240s] +/-
28ms
^? ntp1.flashdance.cx 0 6 0 - +0ns[ +0ns] +/-
0ns
* 表示 chronyd 当前同步到的源
+ 表示可接受的信号源,与选定的信号源组合在一起
? 指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了 3 个样本为止
3、配置时间服务器服务端
#需要两个服务器,一个服务端(服务端ip:192.168.168.253),一个客户端测试(客户端主机ip网
段为192.168.168.0/24)
#服务端的配置
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# grep allow /etc/chrony.conf
allow 192.168.168.0/24
#allow 0.0.0.0/0
[root@localhost ~]# systemctl restart chronyd
#客户端访问,先ping时间服务器
[root@localhost ~]# ping 192.168.168.253
[root@localhost ~]# grep iburst /etc/chrony.conf
server 192.168.168.253 iburst
[root@localhost ~]# systemctl restart chronyd
[root@localhost ~]# chronyc sources
#每周周一8:00向时间服务器同步当前主机的时间
[root@ntp-server ~]# dnf install chrony -y
[root@ntp-server ~]# grep ^pool /etc/chrony.conf
pool ntp.aliyun.com iburst
pool pool.ntp.org iburst
pool ntp.tencent.com iburst
[root@ntp-server ~]# systemctl enable --now chronyd
[root@ntp-server ~]# grep chronyc /etc/crontab
0 8 */7 * 1 root chronyc sources &> /dev/null