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命令来测试,是否时间真的同步成功。