NTP是网络时间协议,在传输层通过端口123UDP运行协议,允许计算机用网络同步时间获得准确的系统时间。随着时间流逝,计算机的内部时钟会发生漂移,导致时间不一致的问题,特别是在服务器和客户端的日志文件上,或者想要复制服务器的资源或数据库时。华纳云在下午总结了关于在RHEL发行版上安装和配置NTP服务器。便于后期用NTP公共池时间服务器列表自动和适合服务器位置的最近地理对等点同步时间。
Chrony是网络时间协议NTP的一种实现,可以高精度的同步计算机网络上的系统时钟。Chrony专为解决与其他NTP实现相关的一些限制和挑战而设计。在Linux中安装Chrony:
sudo dnf install chrony
OR
sudo yum install chrony
安装后,先进入官方的NTP公共池时间服务器,选择服务器物理所在区域在搜索国家/地区位置,这样就会出现NTP服务器列表。再打开NTP守护进程主配置文件来编辑,一般位于/etc/chrony.conf:
$ sudo vi /etc/chrony.conf
如果还需要允许网络中客户端和此服务器同步时间 ,需要在NTP配置文件中添加以下命令,其中restrict语句控制允许哪个网络查询和同步时间-相应地替换网络IP。
restrict 192.168.1.0 netmask 255.255.255.0 nomodify notrap
nomodify notrap建议客户端不允许配置服务器或者用于实践同步的对等点。如果NTP守护程序出现问题还需要其他信息来进行故障排除,需要添加一个日志文件语句,这个语句会把所有NTP服务器问题记录到一个专用日志文件/var/log/chrony中。
允许防火墙的chrony,NTP服务使用OSI传输层上的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 chrony可保证所有服务器和客户端在出网络连接故障时候有相同时间设置而且相互同步。