🏡博客主页: Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主
🌐所属专栏:『Linux基础』
🌌上期文章: Linux基础 - DNS服务进阶
📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀!关注、点赞、收藏、评论。
一、概述
NTP是网络时间协议(Network Time Protocol),是用来同步网络中各个计算机的时间的协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行时间同步,它可以提供高精准度的时间校正,而且可以使用加密确认的方式来防止病毒的协议攻击。
在计算机的世界里,时间非常地重要,简单来说对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用来解决这个问题的。
二、原理
在NTP中,定义了时间按照服务器的等级传播,按照离外部UTC源远近将所有的服务器归入不同的Stratum(层)中,例如把通过GPS(Global Positioning System,全球定位系统)取得发送标准时间的服务器叫Stratum-1的NTP服务器,而Stratum-2则从Stratum-1获取时间,Stratum-3从Stratum-2获取时间,以此类推,但Stratum层的总数限制在15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum-1的时间服务器是整个系统的基础,这种阶梯式的架构示意图如下图所示。
三、安装部署
1、Chrony介绍
Chrony是NTP客户端的替代品。它能以更精确的时间和更快的速度同步时钟,并且对于非全天候在线的系统非常有用。提供以下两种服务:
chronyc:Chrony 的命令行接口
chronyd:Chrony 守护进程服务
chronyd 更小、更节能,它占用更少的内存且仅当需要时它才唤醒 CPU。即使网络拥塞较长时间,它也能很好地运行。它支持 Linux 上的硬件时间戳,允许在本地网络进行极其准确的同步。
2、服务端
1)安装chrony
[root@wangwu ~]# yum -y install chrony
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
... ... ...
2)修改配置文件
主配置文件/etc/chrony.conf
[root@wangwu ~]# vim /etc/chrony.conf
server 0.centos.pool.ntp.org iburst #server用户客户端指向上层NTP服务器
allow 192.168.0.0/24 #允许某IP或网络访问
local stratum 10 #设置NTP服务器的层数量
... ... ...
3)重启服务
[root@wangwu ~]# systemctl restart chronyd #重启服务
[root@wangwu ~]# systemctl enable chronyd #设置开机自启
[root@wangwu ~]# firewall-cmd --set-default-zone=trusted #设置防火墙允许所有访问
3、客户端
1)安装chrony
[root@zhaoliu ~]# yum -y install chrony
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
... ... ...
2)修改配置文件
主配置文件/etc/chrony.conf
[root@zhaoliu ~]# vim /etc/chrony.conf
server 192.168.50.128 iburst
#设置与192.168.50.128服务器同步数据
#iburst参数设置重启服务后尽快同步时间
3)重启服务
[root@zhaoliu ~]# systemctl restart chronyd #重启服务
[root@zhaoliu ~]# systemctl enable chronyd #设置开机自启
[root@zhaoliu ~]# firewall-cmd --set-default-zone=trusted #设置防火墙允许所有访问
四、验证
[root@wangwu ~]# date #服务端测试
Tue Feb 14 17:09:49 CST 2023
[root@zhaoliu ~]# date #服务端测试
Tue Feb 14 17:09:49 CST 2023
[root@wangwu ~]# date -s "2030-1-1" #服务端将日期修改为“2030-1-1”
Tue Jan 1 00:00:00 CST 2030
[root@zhaoliu ~]# systemctl restart chronyd #重启客户端
[root@zhaoliu ~]# date #客户端日期为“2030-1-1”
Tue Jan 1 00:00:00 CST 2030
版权归原作者 Passerby_Wang 所有, 如有侵权,请联系我们删除。