Chrony是一个开源自由的网络时间协议 NTP 的客户端和服务器软件。它能让计算机保持系统时钟与时
钟服务器(NTP)同步,因此让你的计算机保持精确的时间,Chrony也可以作为服务端软件为其他计算
机提供时间同步服务。
Chrony由两个程序组成,分别是chronyd和chronyc。
- chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算
机增减时间的比率,并对此进行补偿。 - chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机
上工作,也可以在一台不同的远程计算机上工作。
1.软件安装
[root@client ~]# yum install -y chrony
[root@server ~]# yum install -y chrony
#查看chrony软件安装是否成功
rpm -qa | grep chrony
#设置chrony开机自启(并立即启动)
systemctl enable --now chronyd
2.配置时间服务器客户端
a.编辑配置文件
#/etc/chrony.conf文件是Chrony守护进程的配置文件,用于配置和管理系统时间同步
[root@client ~]# vim /etc/chrony.conf
# Please consider joining the pool
pool ntp.tencent.com iburst#重启chrony服务,使其在chrony.conf上的配置生效
#chronyd就是其守护进程的名称。systemctl restart chronyd命令,它实际上是在重启Chrony的守护进程,以便应用新的配置或解决可能出现的问题
[root@client ~]# systemctl restart chronyd
b.检查同步状态
[root@client ~]# chronyc sources -v
3.配置时间服务器服务器
a.服务端配置
#NTP(网络时间协议)默认使用UDP端口123进行通信,而防火墙可能会阻止该端口的网络流量
#关闭防火墙
[root@server ~]# systemctl disable --now firewalld#通过vim /etc/chrony.conf配置allow客户端访问服务器,以下是grep过滤配置文件查看是否配置成功
[root@server ~]# grep allow /etc/chrony.conf
#allow 192.168.0.0/16
allow 192.168.190.0/24
b.客户端访问,先ping时间服务器
[root@client ~]# ping 192.168.190.133 -c3
#通过vim /etc/chrony.conf配置服务器端,设置时间服务器的服务端名字
[root@client ~]# grep server /etc/chrony.conf
server 192.168.190.133 iburst
#重启生效
[root@client ~]# systemctl restart chronyd
#chronyc sources命令用于查看Chrony时间同步服务中当前使用的NTP服务器及其状态
[root@client ~]# chronyc sources
c.配置chrony时间服务(在服务器端配置)
#查看是否配置网络中的时间服务器,配置pool确保系统时钟与网络中的时间服务器同步
[root@server ~]# grep ^pool /etc/chrony.conf
pool 2.centos.pool.ntp.org iburst#打开并使时间服务器chronyd开机自启
[root@server ~]# systemctl enable --now chronyd#/etc/crontab文件用于配置系统级的定时任务,这条crontab规则表示每周一的早上8点,以root用户的身份运行chronyc sources命令,并将所有输出都丢弃。
[root@server ~]# grep chronyc /etc/crontab
0 8 */7 * 1 root chronyc sources &> /dev/null