0


Linux基础 - NTP时间同步

‍‍🏡博客主页: 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
标签: linux ntp chronyd

本文转载自: https://blog.csdn.net/Passerby_Wang/article/details/129030881
版权归原作者 Passerby_Wang 所有, 如有侵权,请联系我们删除。

“Linux基础 - NTP时间同步”的评论:

还没有评论