如何在Ubuntu上设置NTP服务器和客户端

611 阅读3分钟

NTP是网络时间协议的缩写,用于在同一时间同步网络中的所有系统时钟。NTP作为一个协议工作,处理与网络系统上的客户和服务器同步有关的程序。它是标准TCP/IP协议套件的一部分,被认为是其最古老的组成部分之一。

分数不准确的时间会给你的系统带来很多问题。 例如,分布式进程依靠同步的时间来确保应该遵循正确的顺序。整个网络的一致记时对于安全功能的运作是必需的。涉及许多机器的文件系统升级也依赖于同步的时钟时间。排除故障、监测性能、网络加速和网络管理系统;所有这些任务都依赖于时间戳的精确度。

现在,我们将向你展示如何在Ubuntu系统上设置NTP服务器和客户端。那么我们开始吧!

如何在Ubuntu上安装NTP服务器

我们将使用终端在Ubuntu系统上安装NTP。为此,按 "CTRL+ALT+T"打开你的终端。或者你也可以在应用程序的搜索栏中手动搜索出它。

下一步是利用下面的命令来更新系统软件库。

$ sudo apt update

现在是时候在你的Ubuntu系统上安装NTP了。

$ sudo apt install ntp

输入 "y/Y "以允许安装ntp的过程。为了确认NTP已经成功安装,检查其版本。

$ sntp --version

如何在Ubuntu上设置NTP服务器

NTP池服务器默认在NTP协议配置文件"/etc/ntp.conf "中定义。

$ sudo nano /etc/ntp.conf

下面给出的图片中突出显示的代码代表默认配置的池服务器。

然而,你可以切换到离你所在地最近的NTP服务器池。访问链接,它将带你到一个网站,你可以选择你的NTP池列表。例如,我们选择了欧洲池列表。

在你的"/etc/ntp.conf"文件中添加池列表,以使用该特定的池区。

server 0.europe.pool.ntp.org

server 1.europe.pool.ntp.org

server 2.europe.pool.ntp.org

server 3.europe.pool.ntp.org

按 "CTRL+O "把这几行写进你的NTP协议配置文件。

现在重新启动NTP服务,这样它就可以从我们所做的修改中生效了。

$ sudo systemctl restart ntp

查看NTP的状态,检查它是否处于激活状态。

$ sudo systemctl status ntp

检查系统中防火墙的状态。

$ sudo ufw status verbose

如果你的系统的防火墙已经激活,那么请忽略下面给出的命令;否则,你必须启用防火墙才能继续前进。

$ sudo ufw enable

利用下面的命令,在防火墙上启用NTP服务,这样其他客户机就可以访问NTP服务器了。

$ sudo ufw allow ntp

现在,写出这个命令来重新加载防火墙。

$ sudo ufw reload

验证你的系统的防火墙状态。

$ sudo ufw status

如何在Ubuntu上安装NTP客户端

本节将演示如何在你的系统上安装一个NTP客户端,它将与NTP服务器同步。为此,首先,我们将在要安装NTP客户端的机器上安装 "ntpdate"。ntpdate"是一个命令行工具,它使用NTP服务器来快速同步Ubuntu上的日期和时间。要在你的系统上安装 "ntpdate",在你的终端写出这个命令。

$ sudo apt install ntpdate

为了与NTP服务器同步,打开"/etc/hosts"文件,在打开的文件中写出主机名和IP地址。执行下面的命令来了解你的系统IP地址和主机名。

$ hostname -I

$ hostname

现在,打开你系统上的"/etc/hosts"文件。

$ sudo nano /etc/hosts

我们将添加我们的主机名和IP地址,如下所示。

10.0.2.15   linuxhint-VBox

添加后,我们将按 "CTRL+O "保存更改。

在继续前进之前,我们将利用这个命令来关闭我们客户机上的 "timesyncd"服务。

$ sudo timedatectl set-ntp off

现在,我们将在我们的客户机上安装NTP。

$ sudo apt install ntp

输入 "y/Y",允许安装过程继续。

如何在Ubuntu上设置NTP客户端

为了在我们的系统上设置NTP客户端,我们将对NTP客户端的配置文件做一些修改。打开"/etc/ntp.conf",以便将客户端与NTP服务器进行配置。

$ sudo nano /etc/ntp.conf

在NTP客户端的配置文件中加入以下一行,并加上你的主机名。

server linuxhint-VBox prefer iburst

这里:

  • "server"表示NTP客户端与NTP服务器的关联,这是用主机名指定的。
  • "prefer"表示指定的服务器是首选。
  • "iburst"选项使得在NTP服务器不可用的情况下可以发送六个数据包。

按 "CTRL+O"保存"/etc/ntp.conf"文件中的修改。

现在,通过执行下面的命令,重新启动你系统中的NTP服务。

$ sudo systemctl restart ntp

用这个命令查看NTP服务器和客户端之间的同步细节。

$ ntpq -p

总结

NTP是一个用于网络时间同步的TCP/IP协议。NTP与该协议以及在联网计算机上执行的客户端和服务器程序有关。当我们在网络中设置NTP时,客户机向服务器询问当前时间,并利用它来设置其时钟。本文介绍了如何在Ubuntu系统上设置NTP服务器和客户端。还展示了NTP在服务器和客户端机器上的安装和配置过程。