NTP(网络时间协议)是一种在传输层的端口123 UDP上运行的协议,允许计算机通过网络同步时间以获得准确的系统时间。
随着时间的流逝,计算机的内部时钟往往会发生漂移,这可能会导致时间不一致的问题,特别是在服务器和客户端的日志文件上,或者如果您想要复制服务器的资源或数据库。
本文将介绍如何在基于RHEL的发行版上安装和配置NTP ( chrony ) 服务器,以使用NTP公共池时间服务器列表自动与你的服务器位置可用的最近地理对等点同步时间。
在Linux系统中安装Chrony
Chrony是网络时间协议(NTP)的实现,用于在计算机网络上高精度地同步系统时钟。
Chrony专门设计用于解决与其它NTP实施相关的一些限制和挑战。它是许多Linux发行版中的默认NTP实现,包括Red Hat Enterprise Linux(RHEL)8。
要安装Chrony,请使用以下dnf或yum命令:
sudo dnf install chrony 或者 sudo yum install chrony
服务器安装后,首先转到官方NTP公共池时间服务器,选择服务器实际所在的区域,然后搜索国家/地区位置,最后应该会出现NTP服务器列表。
打开NTP守护程序主配置文件(/etc/chrony.conf)进行编辑,注释pool.ntp.org项目中公共服务器的默认列表,并将其替换为你自己所在国家/地区提供的列表,如下面的截图所示:
$ sudo vi /etc/chrony.conf
此外,需要允许网络中的客户端与该服务器同步时间。要实现此目的,请将以下行添加到NTP配置文件,其中限制语句控制允许哪些网络查询和同步时间,将网络IP地址相应地替换。
restrict 192.168.1.0 netmask 255.255.255.0 nomodify notrap
nomodify-notrap语句表明,不允许你的客户端配置服务器或用作时间同步的对等端。
如果你的NTP守护程序出现问题,需要其它信息进行故障排除,请添加一条日志文件语句,将所有NTP服务器问题记录到一个专用日志文件/var/log/chrny中。
允许防火墙中的Chrony
NTP服务使用OSI传输层(第4层)上的UDP端口123,该端口专门设计用于抵抗可变延迟(抖动)的影响。
如果防火墙已启用,请允许Chrony通过它进行通信:
sudo firewall-cmd --add-service=ntp --permanent sudo firewall-cmd --reload
打开防火墙端口123后,重新启动Chrony服务器并确保在系统范围内启用它。
sudo systemctl restart chronyd sudo systemctl enable chronyd sudo systemctl status chronyd
检查与NTP的时间同步
启动NTP守护程序后,等待几分钟,让服务器与其池列表服务器同步时间,然后运行以下命令来验证NTP对等方的同步状态和您的系统时间。
chronyc sources
总结
就是这样!在网络上设置本地NTP计时器可确保所有服务器和客户端都设置相同的时间,以防Internet连接失败,并且它们都相互同步的,有不清楚的小伙伴可以参考上述教程进行设置。