如何使用Chrony在Linux Server中同步时间

时间在 Linux服务器 特别是当它们用于银行,股票市场和其他金融部门时。如果我们希望所有Linux服务器都具有正确的时间,则必须配置一些 NTP客户端 它将始终从远程NTP服务器获取正确的时间,并根据需要进行必要的调整以同步时间。

在本文中,我们将演示如何使用Chrony(NTP客户端)与Linux Server中的NTP服务器同步时间。

在CentOS / RHEL / Fedora系统上安装Chrony

要在CentOS,RHEL和Fedora系统上安装Chrony,请执行以下yum或dnf逗号

~]# yum install chrony -y
Or
~]# dnf install chrony -y

在Debian / Ubuntu系统上安装Chrony

要在Debian和Ubuntu系统上安装Chrony,请运行以下apt命令,

~]$ sudo apt install chrony -y

将chrony安装在Linux服务器上后,它将提供两个程序,

  • 时辰 :是chrony的命令行界面
  • 历时 :这是chrony的守护程序,可在重新引导期间启动并启用chrony服务。

Chrony的配置文件

Chrony的配置文件是“/etc/chrony.conf”,下面列出了示例chrony.conf文件,

~]# cat  /etc/chrony.conf

如何使用Chrony在Linux Server中同步时间 2

其中:

  • 池0.europe.pool.ntp.org iburst是chrony将从中获取时间的远程NTP服务器。

  • 漂移文件/ var / lib / chrony / drift是包含漂移数据的漂移文件

  • makestep 1.0 3是一个参数,如果调整大于1秒(仅在前3个时钟更新时),它将步进系统时钟(加速或减速)

  • 密钥文件/etc/chrony.keys作为名称,建议此文件包含用于NTP身份验证的密钥。

  • logdir / var / log / chrony,它是记录Chrony的日志文件。

测试时间表

就像NTP分发中的ntpdate命令一样,我们可以使用chronyd手动将Linux服务器的时间与远程NTP服务器同步,

语法: #chronyd -q“服务器{ntp_server_name} iburst”

范例:

~]# chronyd -q 'server 0.europe.pool.ntp.org iburst'

如何使用Chrony在Linux Server中同步时间 3

从上面的输出中可以看到,chrony已校正了系统时间,在运行chronyd命令之前,系统时间比准确时间晚了将近2个小时。

启动和启用Chronyd服务

运行以下命令以启动并启用chronyd守护程序,以便在重新启动后将可用。

〜]#systemctl start chronyd

〜]#systemctl enable chronyd

运行下面的命令以验证chronys服务状态

~]# systemctl enable chronyd

如何使用Chrony在Linux Server中同步时间 4

验证和跟踪时间同步

要验证您的系统时间是否已使用chrony同步,请发出以下命令,

[[email protected] ~]# chronyc tracking
Reference ID    : 904C13DD (its.no-fun.de)
Stratum         : 3
Ref time (UTC)  : Sun Jan 12 06:23:26 2020
System time     : 0.000174314 seconds slow of NTP time
Last offset     : -0.000199483 seconds
RMS offset      : 0.000199483 seconds
Frequency       : 0.301 ppm fast
Residual freq   : -40.403 ppm
Skew            : 0.541 ppm
Root delay      : 0.172664896 seconds
Root dispersion : 0.047364954 seconds
Update interval : 64.8 seconds
Leap status     : Normal
[[email protected] ~]#

其中:

  • 参考ID是系统时间当前同步到的服务器的ID和名称。

  • 层,它表示带有附加参考时钟的离开服务器的跳数。

检查时间来源

要列出有关chronyd使用的当前时间源的信息,请运行以下命令,

~]# chronyc sources

如何使用Chrony在Linux Server中同步时间 5

要列出有关源的更多详细信息,请运行以下命令

~]# chronyc sources -v

检查时间来源统计

要列出有关chronyd使用的每个源的漂移速度和偏移估计的信息,请运行以下命令

~]# chronyc sourcestats -v

如何使用Chrony在Linux Server中同步时间 6

配置Chrony NTP服务器

假设您要将Linux服务器配置为所有内部系统的Chrony NTP服务器。为此,我们需要取消注释配置文件中的两行/etc/chrony.conf

  • 本地阶层10
  • 允许192.168.0.0/16

执行以下命令

~]# sed -i "s/#local stratum 10/local stratum 10/g" /etc/chrony.conf
~]# sed -i "s/#allow 192.168.0.0/16/allow 192.168.0.0/16/" /etc/chrony.conf

当我们取消注释“本地层10”行时,则使我们的Linux服务器成为实时NTP服务器,即使它与网络断开连接也可以继续正常工作。而“允许192.168.0.0/26”表示允许该网络的客户端进行以下操作:连接到我们的Chrony NTP服务器以进行时间同步。

进行更改后,重新启动chrony服务并跟踪chrony

~]# systemctl restart chronyd ; watch chronyc tracking

如何使用Chrony在Linux Server中同步时间 7

使用以下命令在防火墙中允许NTP服务,

~]# firewall-cmd --add-service=ntp –permanent
~]# firewall-cmd --reload

这就是本文的全部内容,希望您能了解如何使用chrony服务将Linux系统的时间与NTP服务器同步,除此之外,我们还了解了如何配置自己的Chrony NTP服务器。请分享您的宝贵反馈和评论。