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包。
# yum install chrony -y
2.现在启动chronyd服务,使其在系统启动时自动启动并验证运行状态:
# systemctl start chronyd
# systemctl status chronyd
# systemctl enable chronyd
3.要制作一个chrony (NTP) 服务器,安装软件包后需要在chrony 的配置文件/etc/chrony.conf 中进行一些更改。
# vi /etc/chrony.conf
4.现在搜索allow配置指令并取消注释并设置允许客户端访问的网络地址。
# allow 192.168.73.0/24
现在保存并退出。
5.重启chronyd服务
# systemctl restart chronyd
6.现在在 firewalld 配置中打开 NTP 服务以允许传入的 NTP 请求或允许端口 123/udp:
# firewall-cmd --permanent --add-service=ntp
or
# firewall-cmd --permanent --add-port=123/udp
# firewall-cmd --reload
如果由于防火墙的任何原因要删除 chrony 服务。你可以使用以下命令。
# 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 从轮询它的客户端的角度看起来与实时同步,即使它没有当前的同步源。
local stratum 10
较大的值 10 表示该时钟与参考时钟相差很多跳,以致其时间不可靠。如果这台计算机曾经访问过另一台最终与参考时钟同步的计算机,那么它几乎肯定会处于小于 10 的层。
因此,为local 命令选择像 10 这样的高值 可以防止机器自己的时间与实时时间混淆,以防它泄漏给具有真实服务器可见性的客户端。
logdir
该指令允许指定写入日志文件的目录。
使用该指令的一个例子是:
logdir /var/log/chrony
7.在客户端安装chrony包:
# yum install chrony
8.安装后,你可以启动启用并验证 chronyd 服务状态:
# systemctl start chronyd
# systemctl enable chronyd
# systemctl status chronyd
9.将系统配置为NTP 服务器的直接客户端。打开/etc/chrony.conf
# vi /etc/chrony.conf
10.现在添加 NTP 服务器地址:
注释掉设置 RHEL 8 NTP 服务器地址的默认 NTP 服务器。
Server 192.168.73.130
保存文件中的更改并关闭它。
11 . 重启chronyd服务
# systemctl restart chronyd
12.现在运行以下命令来显示 chronyd 正在访问客户端的当前时间源(NTP 服务器)。
# chronyc sources
13.在服务器端执行以下命令,显示NTP客户端信息。
# chronyc client
14.你可以使用以下命令来跟踪时间同步过程。
# chronyc tracking