网站搜索

在 RHEL/CentOS 7 中设置“NTP(网络时间协议)服务器”


网络时间协议 - NTP - 是一种在传输层的端口 123 UDP 上运行的协议,允许计算机通过网络同步时间以获得准确的时间。随着时间的流逝,计算机内部时钟往往会发生漂移,这可能会导致时间不一致的问题,特别是在服务器和客户端日志文件上,或者如果您想要复制服务器资源或数据库。

要求:

  1. CentOS 7安装过程
  2. RHEL 7 安装过程

其他要求:

  1. 注册并启用 RHEL 7 更新订阅
  2. 在 CentOS/Rhel 7 上配置静态 IP 地址
  3. 在 CentOS/RHEL 7 中禁用并删除不需要的服务

本教程将演示如何在 CentOS/RHEL 7 上安装和配置 NTP 服务器,并自动与最接近的地理对等点同步时间。通过使用 NTP 公共池时间服务器列表来确定服务器位置。

第 1 步:安装并配置 NTP 守护进程

1. NTP 服务器包默认由官方 CentOS /RHEL 7 存储库提供,可以通过发出以下命令进行安装。

yum install ntp

2.服务器安装完成后,首先进入官方NTP公共池时间服务器,选择服务器实际所在的大陆区域,然后搜索您的应显示国家/地区位置和 NTP 服务器列表。

3. 然后打开 NTP 守护程序主配置文件进行编辑,注释 pool.ntp.org 项目中公共服务器的默认列表,并将其替换为为您所在国家/地区提供的列表就像下面的屏幕截图一样。

4.此外,您需要允许网络中的客户端与该服务器同步时间。要实现此目的,请将以下行添加到 NTP 配置文件,其中 restrict 语句控制允许哪些网络查询和同步时间 - 相应地替换网络 IP。

restrict 192.168.1.0 netmask 255.255.255.0 nomodify notrap

nomodify notrap 语句表明您的客户端不允许配置服务器或用作时间同步的对等点。

5. 如果您需要更多信息来排除 NTP 守护程序出现问题的情况,请添加一条日志文件语句,该语句会将所有 NTP 服务器问题记录到一个专用日志文件中。

logfile /var/log/ntp.log

6. 使用上述所有配置编辑文件后,保存并关闭 ntp.conf 文件。您的最终配置应如下面的屏幕截图所示。

步骤 2:添加防火墙规则并启动 NTP 守护进程

7. NTP 服务使用 OSI 传输层(第 4 层)上的 UDP 端口 123。它专门设计用于抵抗可变延迟(抖动)的影响。要在 RHEL/CentOS 7 上打开此端口,请针对 Firewalld 服务运行以下命令。

firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload

8. 打开防火墙端口 123 后,启动 NTP 服务器并确保在系统范围内启用它。使用以下命令来管理服务。

systemctl start ntpd
systemctl enable ntpd
systemctl status ntpd

步骤 3:验证服务器时间同步

9. NTP 守护进程启动后,等待几分钟,让服务器与其池列表服务器同步时间,然后运行以下命令来验证 NTP 对等方同步状态和您的系统时间。

ntpq -p
date -R

10. 如果您想要查询并同步您选择的池,请使用 ntpdate 命令,后跟一个或多个服务器地址,如以下命令行示例中所示。

ntpdate -q  0.ro.pool.ntp.org  1.ro.pool.ntp.org

第 4 步:设置 Windows NTP 客户端

11.如果您的 Windows 计算机不是域控制器的一部分,您可以通过从任务栏右侧转到“时间”来将 Windows 配置为与您的 NTP 服务器同步时间 - > 更改日期和时间设置 -> 互联网时间选项卡 -> 更改设置 -> 选中与互联网时间服务器同步 -> 将您的服务器的 IP 或 FQDN 提交到 服务器 上 -> 立即更新 -> 确定

就这样!在网络上设置本地 NTP 服务器可确保所有服务器和客户端都设置相同的时间,以防出现 Internet 连接故障,并且它们都相互同步。