在 RHEL/CentOS 7 中设置“NTP(网络时间协议)服务器”
网络时间协议- NTP - 是一种在传输层通过端口 123 UDP 运行的协议,允许计算机通过网络同步时间以获得准确的时间。随着时间的流逝,计算机内部时钟往往会漂移,这会导致时间不一致的问题,尤其是在服务器和客户端日志文件上,或者当您想要复制服务器资源或数据库时。
要求:
其他要求:
- 注册并启用 RHEL 7 更新订阅
- 在 CentOS/Rhel 7 上配置静态 IP 地址
- 在 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 机器不是域控制器的一部分,您可以通过转到任务栏右侧的时间->更改日期和时间设置-> Internet 时间选项卡 ->更改设置- > 选中与 Internet 时间服务器同步-> 将您的服务器的 IP 或 FQDN放在服务器字段中- >立即更新- >确定,将 Windows 配置为与您的 NTP 服务器同步时间。
就这样!在网络上设置本地 NTP 服务器可确保在发生 Internet 连接故障时,所有服务器和客户端都具有相同的时间设置,并且它们都彼此同步。