CentOS8 Chrony时间服务器

Posted 陈发哥007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS8 Chrony时间服务器相关的知识,希望对你有一定的参考价值。

CentOS8:时间服务器的配置

CentOS8不再直接使用​​ntp​​​,而是使用​​chrony​​​作为时间同步,​​chrony​​​既可以当服务器端广播时间,又可以作为客户端同步时间。​​chronyd​​​服务对外侦听的端口是​​123/udp​​。

个人理解:因为CentOS8使用的是chronyd守护进程的方式,作为客户端来同步时间,所以不需要再做定时任务来同步时间了。以前CentOS7时,使用的是ntpdate命令来同步时间,所以需要配合定时任务,来定时执行这条命令。


实验环境:

cs1.skills.com    10.1.8.90/24    服务端

cs3.skills.com    10.1.8.88/24    客户端


题目要求:

  • 1.设置所有 Linux 服务器的时区设为“上海”,本地时间调整为实际时间。
  • 2.启动所有 Linux 服务器的防火墙,并添加相应端口(不允许添加服务)放行相关服务。
  • 3.利用 chrony 配置 Linux-1 为其他 Linux 主机提供时间同步服务。
[root@cs1 <sub>]# timedatectl set-timezone Asia/Shanghai #这条命令在所有的服务器上全部执行
[root@cs1 </sub>]# timedatectl #验证
Local time: 日 2021-12-19 04:21:05 CST
Universal time: 六 2021-12-18 20:21:05 UTC
RTC time: 一 2022-01-03 22:55:21
Time zone: Asia/Shanghai (CST, +0800) #修改时区成功
System clock synchronized: no
NTP service: active
RTC in local TZ: no
[root@cs1 ~]# date -s "20220103 23:16" #用date命令来修改日期和时间
2022年 01月 03日 星期一 23:16:00 CST

服务端的配置

1、修改主配置文件

[root@cs1 ~]# vim /etc/chrony.conf #修改3个地方
pool 10.1.8.90 iburst
allow 10.1.8.0/24
local stratum 10 #上游时间服务器有10个

2、重启服务

[root@cs1 <sub>]# systemctl restart chronyd.service
[root@cs1 </sub>]# systemctl enable chronyd.service

3、放行防火墙的端口

[root@cs1 <sub>]# firewall-cmd --add-port=123/udp --permanent 
success
[root@cs1 </sub>]# firewall-cmd --reload
success
[root@cs1 ~]# firewall-cmd --list-all|grep 123
ports: 123/udp

客户端的配置

1、也要修改主配置文件,后面可以用sed来批量查找替换

[root@cs3 ~]# vim /etc/chrony.conf
pool 10.1.8.90 iburst

2、重启服务

[root@cs3 <sub>]# systemctl restart chronyd.service 
[root@cs3 </sub>]# systemctl enable chronyd.service

3、向时间服务器,同步时间

[root@cs3 <sub>]# chronyc sources -v
210 Number of sources = 1

.-- Source mode ^ = server, = = peer, # = local clock.
/ .- Source state * = current synced, + = combined , - = not combined,
| / ? = unreachable, x = time may be in error, </sub> = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \\ | | zzzz = estimated error.
|| | | \\
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 10.1.8.90 11 6 17 10 +8734ns[ +51us] +/- 59ms
#看到10.1.8.90,代表成功
[root@cs3 ~]# timedatectl 
Local time: 六 2021-12-18 15:33:50 EST
Universal time: 六 2021-12-18 20:33:50 UTC
RTC time: 一 2022-01-03 23:08:06
Time zone: America/New_York (EST, -0500)
System clock synchronized: yes #系统时钟同步yes
NTP service: active #NTP服务是活跃的
RTC in local TZ: no

后面测试时间是否同步,可以用date命令来修改客户端的时间,然后记得在改客户端上重启一下chronyd服务,再用date命令来测试,是否时间真的同步成功。

以上是关于CentOS8 Chrony时间服务器的主要内容,如果未能解决你的问题,请参考以下文章

centos8使用chrony作为NTP服务器

centos8使用chrony作为NTP服务器

Centos 8 搭建时钟服务器

CentOS8安装ntp实现时间同步

chrony客户端发送时间戳随机问题

centos 8.x系统配置chrony时间同步服务