时间服务器--NTP协议

NTP协议

NTP协议 是网络时间协议(Network Time Protocol )的简称,通过 udp 123 端口进行网络时钟同步。

Chrony

Chrony 是一个开源自由的网络时间协议 NTP 的客户端和服务器软件。它能让计算机保持系统时钟与时钟服务器(NTP )同步,因此让你的计算机保持精确的时间, Chrony 也可以作为服务端软件为其他计算 机提供时间同步服务。

Chrony组成:

Chrony由两个程序组成,分别是chronydchronyc

chronyd: 是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。

chronyc: 提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

chrony包的安装

#安装chrony包
[root@localhost ~]# yum install -y chrony
#查询安装包,可以看到当前的版本
[root@localhost ~]#rpm -qa
#设置当前时区
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
#在开机的时候就启动 + 现在就开始启用
[root@localhost ~]# systemctl enable --now chronyd

chrony.conf文件中的部分信息配置

#查看文件内容
[root@server1 ~]# cat /etc/chrony.conf
#设置时间服务器的服务端名字
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
pool 2.centos.pool.ntp.org iburst
 
#设置允许哪个客户端可以访问该服务器
# Allow NTP client access from local network.
allow 192.168.0.0/16

配置时间服务器客户端 

[root@server1 ~]# vim /etc/chrony.conf
#此处服务器可以写国内的
server ntp.aliyun.com iburst
[root@localhost ~]# systemctl restart chronyd
[root@server1 ~]# chronyc sources
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
============================================================================
^* 203.107.6.88 2 6 7 1 -705us[ -5240s] +/-28ms
^? ntp1.flashdance.cx 0 6 0 - +0ns[ +0ns] +/-0ns

#其中^后的符号表示不同情况:
* 表示 chronyd 当前同步到的源
+ 表示可接受的信号源,与选定的信号源组合在一起
? 指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了 3个样本为止

通过两台虚拟机模拟配置时间服务器

服务器端配置
#关闭防火墙
[root@localhost ~]# systemctl  disable --now firewalld
 
#修改/etc/chrony.conf文件中allow中允许通过的用户ip
[root@localhost ~]# vim /etc/chrony.conf
#修改内容如下:
[root@localhost ~]# grep allow /etc/chrony.conf
allow 192.168.137.0/24
 
#重启服务
[root@localhost ~]# systemctl  restart chronyd

客户端配置
#修改文件/etc/chrony.conf中的时间服务器的服务端名字
[root@localhost ~]# vim /etc/chrony.conf
#文件中的修改内容如下:
[root@localhost ~]# grep iburst /etc/chrony.conf
pool 192.168.137.129 iburst
 
#客户端访问,先ping时间服务器
[root@localhost ~]# ping 192.168.137.129
 
#重启服务
[root@localhost ~]# systemctl  restart chronyd
 
#查看时间服务器是否能和用
[root@localhost ~]# chronyc sources

补充内容

#每周周一8:00向时间服务器同步当前主机的时间
[root@ntp-server ~]# dnf install chrony -y
[root@ntp-server ~]# grep ^pool /etc/chrony.conf
pool ntp.aliyun.com iburst
pool pool.ntp.org iburst
pool ntp.tencent.com iburst
[root@ntp-server ~]# systemctl enable --now chronyd
[root@ntp-server ~]# grep chronyc /etc/crontab
0 8 */7 * 1 root chronyc sources &> /dev/null

 

有关标准输入/输出:
1、标淮输出:命令正确执行后的输出
2、标准错误输出:命令执行失败后的输出
3、标淮输入:从键盘输入的叫标准输入
 
>  标淮输出重定向 = 1>
>> 标淮输出追加重定向
2> 标淮错误输出重定向
 
<  标准输入重定向
<< 标淮输入结束符
 
&  等同于1和2
 
因此:
 &> /dev/null 所有重定向到该位置的数据均不会保存
 /dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读取不到。 

# nc 命令可以侦听tcp和udp的端口:
 
#常看udp协议端口号123(即NTP协议)的情况
[root@client ~]# nc -zv -u 192.168.230.136 123
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.230.136:123.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.10 seconds.
 
# ss -lntup --- 常看监听端口
[root@server ~]# ss -lntup
时间同步不成功:

1.网络不通(确保主机是同一种网络模式)
2.服务端必须关闭防火墙  systemctl stop firewalld
3.服务端和客户端的时区不一致
4.确认服务端和客户端的配置

配置网络服务:ntp 123/udp

服务器主机操系统后台运行一个对应的软件程序,在操作系统的后台有一个或者多个进程,基于网络等待客户端发起对应网络协议连接请求,通过软件程序进程监听的端口接受请求做出对应的响应动作。

协议:区分不同服务

端口:区分不同协议,区分不同流量

s.linux9.x  --网络模式nat     192.168.10.129
# systemctl stop firewalld
1.[root@node1 ~]# rpm -qa | grep chrony
chrony-4.2-1.el9.x86_64
2.[root@node1 ~]# ps -aux | grep chrony
chrony       926  0.0  0.1  10376  2344 ?        S    18:00   0:00 /usr/sbin/chronyd -F 2
3.定义服务器标准时间
[root@node1 ~]# timedatectl set-timezone  Asia/Shanghai   (更改当前主机时区)---同一时区下的主机可以正常同步时间
[root@node1 ~]# date 111110102023
Sat Nov 11 10:10:00 AM CST 2023
4.修改程序的配置(通过当前server主机获取标准时间)
vim  /etc/chrony.conf  
 注释pool信息
 allow 192.168.10.0/24
 local stratum 10
#systemctl start(启动)|stop(停止)|restart(重启)|enable(开机自启)|disable(开机禁用)|reload(重载)|load(加载)|status(状态)  程序名
#systemctl restart chronyd.service
 
#测试tcp或者udp的湍口
4 nc命令
5#例如
8nc -z-v192.168.168.34 22
nc -u-zv192.168.168.34 123
 
 
c linux9.x   --nat  192.168.10.130
1.[root@server ~]# rpm -qa | grep chrony
chrony-4.2-1.el9.x86_64
2.客户发起连接请求
vim  /etc/chrony.conf
pool 192.168.10.129 iburst
3.发起连接
[root@server ~]# systemctl restart chronyd
[root@server ~]# date
Wed Oct 25 08:35:34 PM CST 2023
[root@server ~]# date
Wed Oct 25 08:35:35 PM CST 2023
[root@server ~]# date       ---时间同步成功
Sat Nov 11 10:42:00 AM CST 2023
[root@server ~]# date
Sat Nov 11 10:42:53 AM CST 2023
[root@server ~]# ^C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值