一、NTP和chrony简介
1、NTP
2、chrony
(1)概念
(2)作用
- 是计算机保持精确的时间:让计算机保持系统时钟与时钟服务器(NTP)同步;
-
可以作为服务端软件,为其他计算机提供时间同步服务;
(3)组成——Chrony由两个程序组成
- chronyd:是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
- chronyc:提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
补充:
1.标准输出:命令正确执行后的输出
2.标淮错误输出:命令执行失败后的输出
3、标淮输入:从键盘输入的叫标准输入
>:标准输出重定向 等同于 1>
>>:标准输出追加重定向
<:标淮输入重定向
<<:标淮输入结束符
2>:标淮错误输出重定向
&:等同于1和2
/dev/hull:所有重定向到该位置的数据均不会保存
二、配置yum源,搭建本地yum仓库
配置yum源
(1)修改配置文件
[root@redhat ~]# cd /etc/yum.repos.d/ #进入yum仓库
[root@redhat yum.repos.d]# ls
redhat.repo
[root@redhat yum.repos.d]# vim /etc/yum.repos.d/aliyun_yum.repo #进入vim编辑器编辑aliyun_yum.repo配置文件[ali_baseos] #ali_baseos仓库
name=ali_baseos #仓库名
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/ #这是仓库的基本 URL,告诉系统从这个地址下载基础操作系统软件包。
gpgcheck=0[ali_appstream] #ali_appstream仓库
name=ali_appstream #仓库名
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/ #系统从这个地址下载应用软件的软件包。
gpgcheck=0
补充: 如何获取阿里云下载地址?
- 点击阿里云官方镜像站,选择centos
- 选择点击centos stream源
- 点击下载地址
- 选择9-stream
- 先选择系统软件下载地址BaseOS
- 选择x86_64
- 选择os
- 复制网址centos-stream-9-stream-BaseOS-x86_64-os安装包下载_开源镜像站-阿里云
-
APPStream也同理
(2)更新缓存信息
[root@redhat yum.repos.d]# yum makecache #可以用于检查yum源文件信息是否有误
ps: yum源配置完成!
搭建本地yum仓库
(1)测试yum仓库
[root@redhat ~]# yum install httpd
Updating Subscription Management repositories.
Unable to read consumer identityThis system is not registered with an entitlement server. You can use subscription-manager to register.
Error: There are no enabled repositories in "/etc/yum.repos.d", "/etc/yum/repos.d", "/etc/distro.repos.d".
(2) 创建挂载点,并列出yum仓库中的配置文件
[root@redhat ~]# mkdir -p /media/cdrom #创建挂载点(目录)
[root@redhat ~]# cd /etc/yum.repos.d/ #进入yum仓库
[root@redhat yum.repos.d]# ls
redhat.repo
(3) 编辑redhat.repo文件
[root@redhat yum.repos.d]# vim redhat.repo #进入vim编辑器,编辑redhat.repo文件
[BaseOS] #系统软件存放处
name=BaseOS #目录名
baseurl=file:///media/cdrom/BaseOS #地址
gpgcheck=0 #为1,使用公钥检验rpm包的正确性;0则不校验
enabled=1 #表示此源可用为1,0为禁用[AppStream] #应用软件存放处
name=AppStream
baseurl=file:///media/cdrom/AppStream
gpgcheck=0
enabled=1
(4)手动挂载命令
[root@redhat yum.repos.d]# mount /dev/sr0 /media/cdrom
(5)设置开机自启动,自动挂载
[root@redhat yum.repos.d]# vim /etc/fstab #最后一行增加如下内容
/dev/cdrom /media/cdrom iso9660 defaults 0 0
(6)查看挂载情况
[root@redhat yum.repos.d]# df -h
(7)测试yum源
[root@redhat yum.repos.d]# yum install httpd
ps:测试下载httpd完成,本地yum仓库搭建成功!! 若搭建中出现问题,需仔细检查配置文件,是否正确。
三、软件安装
# 设置当前时区[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
# 安装Chrony软件包
[root@localhost ~]# yum install -y chrony
# 现在立即启动服务
[root@localhost ~]# systemctl enable --now chronyd
#查看chronyd的服务是否在运行
[root@server ~]# systemctl status chronyd
#
#查看是否监听了udp 123端口和网卡
[root@server ~]# ss -lntp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1099,fd=7))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1165,fd=3))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1165,fd=4))
LISTEN 0 4096 [::1]:631 [::]:* users:(("cupsd",pid=1099,fd=6))
# 查询所有chrony包的安装情况
[root@localhost ~]# rpm -qa chrony
#查询chrony包中/etc下的文件
[root@localhost ~]#rpm -qc chrony
#设置时间服务器的服务端名字[root@server1 ~]# cat /etc/chrony.confserver 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburst# Allow NTP client access from local network.#设置允许哪个客户端可以访问该服务器#allow 192.168.0.0/16
四、配置时间服务器客户端
#编辑主配置文件中需要同步的时间服务器
[root@localhost ~]# vim /etc/chrony.conf
pool ntp.aliyun.com iburst
pool 2.centos.pool.ntp.org iburst
#重启服务(只要修改文件就需要重启服务)
c[root@localhost ~]# systemctl restart chronyd
#查看同步情况
[root@localhost ~]# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 203.107.6.88 2 6 17 55 +1098us[-4480us] +/- 36ms
^? ntp1.flashdance.cx 2 7 21 46 -25ms[ -25ms] +/- 128ms
^- time.cloudflare.com 3 6 17 54 +5097us[+5097us] +/- 106ms
^- ntp.neusoft.edu.cn 2 6 51 49 +8773us[+8773us] +/- 36ms
^- tick.ntp.infomaniak.ch 1 6 71 50 +6657us[+6657us] +/- 98msps:
* 表示 chronyd 当前同步到的源+ 表示可接受的信号源,与选定的信号源组合在一起? 指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了 3 个样本为止
五、配置时间服务器服务端
#需要两个服务器,一个服务端(服务端ip:192.168.125.128),一个客户端测试(客户端主机ip网 段为192.168.125.0/24)#服务端的配置[root@client ~]# systemctl status firewalld #查看防护墙的状态[root@localhost ~]# systemctl disable --now firewalld #关闭防火墙[root@server ~]# vim /etc/chrony.conf #编辑主配置文件,设置允许客户端连接的网段# Allow NTP client access from local network.
allow 192.168.125.0/24[root@localhost ~]# systemctl restart chronyd #重启服务[root@server ~]# ss -lntup | grep 123 #查找和显示与端口123相关的所有socket连接。
udp UNCONN 0 0 0.0.0.0:123 0.0.0.0:* users:(("chronyd",pid=37984,fd=7))
#客户端的配置
#客户端访问,先ping时间服务器
[root@client ~]# ping 192.168.125.128
[root@client ~]# vim /etc/chrony.conf #编辑主配置文件,配置客户端需要同步的服务端
pool 192.168.125.128 iburst\
[root@client ~]# grep iburst /etc/chrony.conf #在 /etc/chrony.conf
文件中搜索包含 iburst
的行。
pool 192.168.125.128 iburst
pool 2.centos.pool.ntp.org iburst
[root@client ~]# date -s '2023-10-10 12:00' #更改客户端的日期(以便看到同步后的效果)
2023年 10月 10日 星期二 12:00:00 CST
[root@client ~]# systemctl restart chronyd
[root@client ~]# chronyc sources
[root@client ~]# nc -u -z -v 192.168.125.128 123 #侦听端口
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.125.128:123.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.06 seconds.
补充:
#查看当前主机监听的端口信息
ss -lntup=netstat -lntup
#测试tcp或者udp的端口
nc命令
#例如
nc -z -v 主机IP 对应端口号
nc -u -zv 主机IP 123
六、自动同步实例
# 每周周一 8 : 00 向时间服务器同步当前主机的时间[root@ntp-server ~] # dnf install chrony -y[root@ntp-server ~] # grep ^pool /etc/chrony.confpool ntp.aliyun.com iburstpool pool.ntp.org iburstpool ntp.tencent.com iburst[root@ntp-server ~] # systemctl enable --now chronyd[root@ntp-server ~] # grep chronyc /etc/crontab0 8 */7 * 1 root systemctl restart chronyd &> /dev/null #不管正确还是错误都会重定向到/dev/null下面,不占磁盘空间
补充:
配置IP地址
nmtui
(1)首先在虚拟机中查看子网、掩码、网关信息
(2) 其次nmtui进入配置界面:
- 手动配置(空格选择):可以配置多个IP;
- 自动连接(开机自动加载网卡的配置信息):图上为选中(空格选中);
- 确定后调到最右边退出;
(3)激活或者重启
nmcli connecion up ens160
reboot