centos8使用chrony作为NTP服务器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos8使用chrony作为NTP服务器相关的知识,希望对你有一定的参考价值。
参考技术A Centos 8不在直接使用ntp,而是使用chrony作为时间同步,chrony既可以当服务器端广播时间,又可以作为客户端同步时间安装
sudo dnf install chrony -y
sudo yum install chrony -y
Centos8使用firewalld服务对防火墙进行管理。放行ntp服务(123/udp)
firewall-cmd --add-service=ntp --permanent && firewall-cmd --reload
作为服务器端
配置chrony服务端
sudo vim /etc/chrony.conf
删除配置自带的NTP服务器。换成国内阿里云的NTP服务器地址。
添加上游NTP服务器
server time1.aliyun.com iburst
server time2.aliyun.com iburst
server time3.aliyun.com iburst
允许 192.168.1.0/24 内的客户端通过这台服务器获取时间
allow 192.168.1.0/24
配置无误后,重启chrony服务,并配置开机自启动:
systemctl restart chronyd.service
systemctl enable chronyd.service
使用ss -tlunp | grep chrony或者 lsof -i:123 命令 检查chrony服务使用的123/udp端口是否启动成功
作为客户端
同样安装,然后修改客户端chrony配置文件
sudo vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# pool 2.centos.pool.ntp.org iburst
#添加NTP服务器
server time1.aliyun.com iburst
server time2.aliyun.com iburst
server time3.aliyun.com iburst
如果有自建的chrony客户端也可以自行配置
server 192.168.1.30 iburst
重启chrony客户端服务,重启chrony服务,并配置开机自启动:
systemctl restart chronyd.service && systemctl enable chronyd.service --now
查看同步状态
chronyc sources -v
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作为NTP服务器的主要内容,如果未能解决你的问题,请参考以下文章