linux中设置NTP时间同步服务

2022-06-02 18:07:59 浏览数 (1)

你可以使用以下命令轻松保持系统的日期和时间准确 NTP (Network Time Protocol). 它使你可以通过网络连接同步计算机时钟并使其准确。基本上,客户端从远程服务器请求当前时间,并使用它来设置自己的时钟。

chronyNetwork Time Protocol (NTP)你可以使用 chrony

  • 将系统时钟与NTP 服务器同步 。
  • 将系统时钟与参考时钟同步,例如 GPS 接收器。
  • 并将系统时钟与手动时间输入同步。
  • 作为 服务器或对等点向网络中的其他计算机提供时间服务。 NTPv4(RFC 5905)

NTP(网络时间协议)

NTP(网络时间协议)是一种运行在端口 123 UDP 上的协议。NTP 将客户端的时间和日期与主服务器同步。

RHEL 8 不再支持 NTP 包。Chrony是默认的 NTP 客户端,也是 Red Hat Enterprise Linux 8 上的 NTP 服务器。

Service Name= chronyd

chrony 和 ntp 的区别

ntp name

chrony name

/etc/ntp.conf

/etc/chrony.conf

/etc/ntp/keys

/etc/chrony.keys

ntpd

chronyd

ntpq

chronyc

ntpd.service

chronyd.service

ntp-wait.service

chrony-wait.service

在系统上安装 chrony 以制作 chrony(NTP) 服务器的步骤。

本实验室工作环境:

  • NTP 服务器 IP:192.168.73.130
  • 客户端 IP : 192.168.73.128
  • 操作系统:CentOS8

1.安装chrony包。

代码语言:javascript复制
# yum install chrony -y

2.现在启动chronyd服务,使其在系统启动时自动启动并验证运行状态:

代码语言:javascript复制
# systemctl start chronyd
# systemctl status chronyd
# systemctl enable chronyd

3.要制作一个chrony (NTP) 服务器,安装软件包后需要在chrony 的配置文件/etc/chrony.conf 中进行一些更改。

代码语言:javascript复制
# vi /etc/chrony.conf

4.现在搜索allow配置指令并取消注释并设置允许客户端访问的网络地址。

代码语言:javascript复制
# allow 192.168.73.0/24

现在保存并退出。

5.重启chronyd服务

代码语言:javascript复制
# systemctl restart chronyd

6.现在在 firewalld 配置中打开 NTP 服务以允许传入的 NTP 请求或允许端口 123/udp:

代码语言:javascript复制
# firewall-cmd --permanent --add-service=ntp
or
# firewall-cmd --permanent --add-port=123/udp

# firewall-cmd --reload

如果由于防火墙的任何原因要删除 chrony 服务。你可以使用以下命令。

代码语言:javascript复制
# firewall-cmd --permanent --remove-service=chrony

chrony.conf 中使用的指令,有关可以使用的指令的完整列表,请参阅 chronyd 配置文件。我们在这里讨论的一些指令。

  • allow

allow 指令用于指定允许NTP 连接到充当NTP 服务器的机器 的主机、子网或网络 。默认是不允许连接。

  • cmdallow

这类似于 allow 指令(参见 部分 allow),不同之处在于它允许NTP 对特定子网或主机的控制访问(而不是 客户端访问)。

语法是相同的。还有一个cmddeny all 与该 指令具有类似行为的 cmdallow all 指令。

  • dumpdir

dumpdir 命令用于定义保存测量历史的目录。

  • dumponexit

如果此命令存在,则表示 chronyd 应保存其每个时间源的测量历史记录。每当程序退出时,它都会记录所有实例。(见dumpdir 上面的 命令)。

  • hwtimestamp

hwtimestamp 指令启用硬件时间戳以实现极其准确的同步。这意味着它从硬件同步时间。

  • local

local 关键字用于允许 chronyd 从轮询它的客户端的角度看起来与实时同步,即使它没有当前的同步源。

代码语言:javascript复制
local stratum 10

较大的值 10 表示该时钟与参考时钟相差很多跳,以致其时间不可靠。如果这台计算机曾经访问过另一台最终与参考时钟同步的计算机,那么它几乎肯定会处于小于 10 的层。

因此,为local 命令选择像 10 这样的高值 可以防止机器自己的时间与实时时间混淆,以防它泄漏给具有真实服务器可见性的客户端。

  • logdir

该指令允许指定写入日志文件的目录。

使用该指令的一个例子是:

代码语言:javascript复制
logdir /var/log/chrony

7.在客户端安装chrony包:

代码语言:javascript复制
# yum install chrony

8.安装后,你可以启动启用并验证 chronyd 服务状态:

代码语言:javascript复制
# systemctl start chronyd
# systemctl enable chronyd
# systemctl status chronyd

9.将系统配置为NTP 服务器的直接客户端。打开/etc/chrony.conf

代码语言:javascript复制
# vi /etc/chrony.conf

10.现在添加 NTP 服务器地址:

注释掉设置 RHEL 8 NTP 服务器地址的默认 NTP 服务器。

代码语言:javascript复制
Server 192.168.73.130

保存文件中的更改并关闭它。

11 . 重启chronyd服务

代码语言:javascript复制
# systemctl restart chronyd

12.现在运行以下命令来显示 chronyd 正在访问客户端的当前时间源(NTP 服务器)。

代码语言:javascript复制
# chronyc sources

13.在服务器端执行以下命令,显示NTP客户端信息。

代码语言:javascript复制
# chronyc client

14.你可以使用以下命令来跟踪时间同步过程。

代码语言:javascript复制
# chronyc tracking
ntp

0 人点赞