如何在Ubuntu上安装NTP服务器和客户端
NTP(网络时间协议)是负责在网络上同步计算机的时钟的网络协议。
它具有驻留在网络系统上的服务器和客户端程序。
每个服务器必须具有NTP客户端软件,可将其时钟同步到网络时间服务器,并且在大多数情况下,它是默认驻留在设备的操作系统中。
NTP服务器的重要功能
以下是NTP的一些基本功能:
- NTP需要一个参考时钟,它给出标准时间,因为所有系统时钟都有一些正确的时间,但它们可能几乎没有比特变异,但是NTP通过使用某些标准计算来计算正确的时间。
- 取决于UTC(通用时钟)作为参考时间
- NTP是一个容错协议,它将通过解析多个时间源并最小化累计错误来同步其时间。它将丢弃任何临时或者永久性不准确的时间源。
- 它是高度可扩展的;我们可以随着每个节点在双向或者单向通信的情况下添加多个时间源,并且将通过在顶部形成有参考时钟的树状结构来传输时间。
- 它非常准确,因为它在可用的时间源中选择了最佳源,误差的余量小于纳秒。
- 当网络暂时下降时,它甚至可以工作,因为它计算过去的时间来估计误差的当前时间和边际。
在本教程中,我们将向我们展示如何安装NTP服务器,以及在Ubuntu上的客户端程序。
在Ubuntu上安装NTP服务器
首先,我们将逐步向我们逐步查看Ubuntu上安装NTP服务器。
第1步:更新系统存储库
默认情况下,NTP服务器包在Ubuntu的默认包存储库中可用,但在安装之前,请通过使用以下命令让我们更新包存储库。
$sudo apt update -y
第2步:安装NTP服务器
现在,我们可以使用以下命令安装NTP服务器
$sudo apt install ntp
在确认提示上执行"Y"并按Enter继续安装流程。
第3步:确认NTP服务器安装
现在使用以下命令检查NTP服务器安装状态
$sntp --version
NTP服务器安装验证
步骤4:配置NTP服务器
安装成功后,现在是配置它的时间,以便它可以从公共NTP服务器同步其时间。
为此,我们需要使用以下命令编辑ntp.conf文件。
$sudo nano /etc/ntp.conf
配置NTP服务器池服务器
现在我们需要更换以下行
pool 0.ubuntu.pool.ntp.org iburst pool 1.ubuntu.pool.ntp.org iburst pool 2.ubuntu.pool.ntp.org iburst pool 3.ubuntu.pool.ntp.org iburst
使用我们所需的NTP池服务器,用于本教程我正在使用欧洲。
我们可以在此处查看NTP池服务器列表
pool 0.europe.pool.ntp.org iburst pool 1.europe.pool.ntp.org iburst pool 2.europe.pool.ntp.org iburst pool 3.europe.pool.ntp.org iburst
更换上述行后,请保存并退出配置文件。
现在要应用这些设置,我们需要使用以下命令重新启动NTP服务
$sudo systemctl restart ntp
现在重新启动后,我们可以使用以下命令查看NTP服务状态
$sudo systemctl status ntp
在Ubuntu上安装NTP客户端
在本节中,我们将逐步向我们逐步查看,以便安装NTP客户端,以便我们可以与我们的NTP服务器同步。
第1步:安装ntpdate
NTPDate是一个程序,允许系统通过连接到NTP服务器来同步其时间和日期。
所以我们将使用以下命令安装NTPDate
$sudo apt install ntpdate
步骤2:在主机文件中添加NTP服务器IP
NTP客户端需要通过主机名解析NTP服务器,因此,我们需要在/etc/hostsfile中添加NTP服务器的IP地址和主机名。
使用以下命令编辑/etc/hosts文件
$sudo nano /etc/hosts
现在使用这样的主机名为/etc/hosts文件中的服务器IP添加服务器IP
在主机文件中设置NTP服务器IP
第3步:验证客户端时间同步
现在我们将测试我们的客户端系统,如果它与NTP服务器的时间同步,请运行命令。
$sudo ntpdate ntp-server-host
第4步:安装NTP客户端
接下来,我们需要在客户端系统上安装NTP服务。
要实现此功能,请使用以下命令。
$sudo apt install ntp
步骤5:配置NTP客户端
此步骤中的目标是使用ThentPserver配置为充当我们的NTP服务器。
为此,我们需要编辑/etc/ntp.conffile。
$sudo nano /etc/ntp.conf
将添加我们的服务器设置
使用客户端验证NTP服务器
保存并退出配置文件。
有关要生效的更改,请使用以下命令重新启动NTP服务
$sudo systemctl restart ntp
步骤6:验证NPT时间同步队列
现在客户端和NTP服务器insync,可以通过执行命令查看同步详细信息。
$ntpq -p