本文介绍在Linux中安装和配置NTP服务器的方法,包括NTP客户端。
NTP服务器、NTP客户端、Chrony Client的简介 1、什么是NTP服务器? NTP代表网络时间协议,它是一种网络协议,通过网络同步计算机系统之间的时钟。另一方面,我可以说,它将与通过NTP或Chrony客户端连接到NTP服务器的所有系统保持同一时间(保持准确的时间)。 NTP通常可以在公共互联网上保持几十毫秒的时间,并且在理想条件下可以在局域网中实现优于1毫秒的精度。 它使用端口号123上的用户数据报协议(UDP)来发送和接收时间戳,它是一个客户端/服务器应用程序。它使用端口号123上的用户数据报协议(UDP)发送和接收时间戳。 2、什么是NTP客户端? NTP客户端将其时钟与网络时间服务器同步。 3、什么是Chrony Client? Chrony是NTP客户端的替代品,它可以更快地同步系统时钟,提高时间精度,对于一直不在线的系统尤其有用。参考在Linux系统下安装配置Chrony,使其成为NTP客户端替代品一文。
为什么我们需要NTP服务器 使组织中的所有服务器与执行基于时间的作业的准确时间保持同步。 为了澄清这一点,我将告诉你一个场景,比如说,我们有两台服务器(Server1和Server2), server1通常在10:55完成批处理作业,然后server2需要根据server1作业完成报告在11:00运行另一个作业。 如果系统在不同的时间使用(如果一个系统优先于其他系统,其他系统在特定系统之后),那么我们就无法执行此操作,为此,我们应该设置NTP。 在本文中,我们将使用以下设置来测试它: NTP服务器:主机名:CentOS7.ywnz.com,IP:192.168.1.8,操作系统:CentOS 7。 NTP客户端:主机名:Ubuntu18.ywnz.com,IP:192.168.1.5,操作系统:Ubuntu 18.04。
在Linux中安装NTP服务器 NTP服务器和NTP客户端没有不同的包,因为它是客户端/服务器模型,NTP包在分发官方存储库中可用,因此,使用分发包管理器来安装它。 对于Fedora系统,使用DNF安装ntp: $ sudo dnf install ntp 对于Debian/Ubuntu系统,使用APT-GET或APT安装ntp: $ sudo apt install ntp 对于基于Arch Linux的系统,请使用Pacman安装ntp: $ sudo pacman -S ntp 对于RHEL/CentOS系统,使用YUM安装ntp: $ sudo yum install ntp 对于openSUSE Leap系统,使用Zypper安装ntp: $ sudo zypper install ntp
在Linux中配置NTP服务器 安装NTP软件包后,请确保必须在服务器端的/etc/ntp.conf文件中取消注释以下配置。 默认情况下,NTP服务器配置依赖于X.distribution_name.pool.ntp.org,如果你需要,可以使用默认配置,也可以访问https://www.ntppool.org/zone/@ site,根据你所在的位置(特定国家/地区)进行更改。 比如说,如果你在印度,那么你的NTP服务器将是0.in.pool.ntp.org,它适用于大多数国家: # vi /etc/ntp.conf restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6 ::1 server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap driftfile /var/lib/ntp/drift keys /etc/ntp/keys 我们只允许192.168.1.0/24个子网客户端访问NTP服务器。 由于默认情况下在基于RHEL 7的发行版上启用了防火墙,因此请允许使用ntp服务器/服务: # firewall-cmd --add-service=ntp --permanent # firewall-cmd --reload 更新配置后退回服务。 对于sysvinit系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd: # service ntpd restart # chkconfig ntpd on 对于systemctl系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd: # systemctl restart ntpd # systemctl enable ntpd
在Linux上安装NTP客户端 正如我在本文前面提到的那样,NTP服务器和客户端没有特定的包,所以,在客户端也安装相同的包。 对于Fedora系统,使用DNF安装ntp: $ sudo dnf install ntp 对于Debian/Ubuntu系统,使用APT-GET或APT安装ntp: $ sudo apt install ntp 对于基于Arch Linux的系统,请使用Pacman安装ntp: $ sudo pacman -S ntp 对于RHEL/CentOS系统,使用YUM安装ntp: $ sudo yum install ntp 对于openSUSE Leap系统,使用Zypper安装ntp: $ sudo zypper install ntp 我在CentOS7.ywnz.com上安装并配置了NTP服务器,因此,将其添加到所有客户端计算机中: # vi /etc/ntp.conf restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6 ::1 server CentOS7.ywnz.com driftfile /var/lib/ntp/drift keys /etc/ntp/keys 更新配置后退回服务。 对于sysvinit系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd: # service ntpd restart # chkconfig ntpd on 对于systemctl系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd: # systemctl restart ntpd # systemctl enable ntpd 重新启动NTP服务后等待几分钟,以便从NTP服务器获取同步时间。 运行以下命令以验证Linux上的NTP服务器同步状态: # ntpq –p 或者: # ntpq -pn
运行以下命令以获取ntpd的当前状态: # ntpstat synchronised to NTP server (192.168.1.8) at stratum 3 time correct to within 508 ms polling server every 64 s 最后运行date命令: # date Tue Mar 26 23:17:05 CDT 2019 参考:date命令_Linux date命令使用详解:显示或设置系统时间和日期。 如果你正在观察NTP输出中的重要偏移,执行以下命令,手动从NTP服务器同步时钟,执行命令时,请确保NTP客户端处于非活动状态: # ntpdate –uv CentOS7.ywnz.com 参考:ntpdate命令_Linux ntpdate命令使用详解:使用网络计时协议(NTP)设置日期与时间。
相关主题 |