https://www.cnblogs.com/lsgxeva/p/14265513.html

Ubuntu部署NTP服务器和客户端

NTP或网络时间协议是一种协议,用于将网络中的所有系统时钟同步以使用同一时间。当我们使用术语NTP时,我们指的是协议本身,也指网络计算机上运行的客户端和服务器程序。 NTP属于传统的TCP /IP协议套件,可以很容易地归类为它最古老的部分之一。

最初设置时钟时,需要在设置时钟之前的5到10分钟内进行六次交换。网络中的时钟同步后,客户端每10分钟更新一次与服务器的时钟。通常,这是通过单个消息交换(事务)完成的。这些事务使用系统的端口号123。

在本文中,我们将描述如何执行以下操作的step-by-step过程:

  • 在Ubuntu计算机上安装和配置NTP服务器。
  • 将NTP客户端配置为与服务器时间同步。

我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。

第一部分:在主机上安装和配置NTP服务器

请按照以下步骤操作,以便在主机Ubuntu计算机上安装NTP服务器:

注意:为了安装和配置NTP,我们使用Ubuntu命令行终端。您可以通过应用程序启动器搜索或Ctrl + Alt + T快捷方式打开“终端”应用程序。

步骤1:更新存储库索引

为了从Internet信息库安装最新的可用软件版本,您的本地信息库索引需要与它们保持一致。以sudo身份运行以下命令,以更新您的本地存储库索引:

$ sudo apt-get update

步骤2:使用apt-get安装NTP服务器

请以sudo身份运行以下命令,以便从APT存储库安装NTP服务器守护程序:

$ sudo apt-get install ntp

请注意,只有授权用户才能在Ubuntu上添加,删除和配置软件。

系统可能会询问您sudo的密码,并且还会为您提供一个Y /n选项以继续安装。输入Y,然后按Enter; NTP服务器将安装在您的系统上。但是,该过程可能需要一些时间,具体取决于您的Internet速度。

步骤3:验证安装(可选)

您可以通过在终端中运行以下命令来验证NTP的安装并检查版本号:

$ sntp --version

步骤4:切换到距离您最近的NTP服务器池

安装NTP服务器时,大多数情况下将其配置为获取适当的时间。但是,您可以将服务器池切换到离您的位置最近的服务器池。这包括在/等等/ntp.conf文件。

通过运行以下命令,以sudo的身份在nano编辑器中打开文件:

$ sudo nano /etc/ntp.conf

在此文件中,您将能够看到一个池列表。我们已在上图中突出显示了此列表。此处的任务是用最接近您所在位置的时间服务器池替换此池列表。 pol.ntp.org项目从大型时间服务器群集中提供可靠的NTP服务。要根据您的位置选择一个池列表,请访问以下页面:

我们已经搜索了美国的游泳池清单:

该页面告诉我们将以下行添加到ntp.conf文件中:

server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org

这是我的文件在添加以上行之后的外观:

通过按Ctrl + X退出文件,然后输入y来保存更改。

步骤5:重新启动NTP服务器

为了使以上更改生效,您需要重新启动NTP服务器。为此,以sudo身份运行以下命令:

$ sudo service ntp restart

步骤6:验证NTP服务器正在运行

现在,通过以下命令检查NTP服务的状态:

$ sudo service ntp status

活动状态验证您的NTP服务器已启动并正在运行。

步骤7:配置防火墙,以便客户端可以访问NTP服务器

最后,是时候配置系统的UFW防火墙,以使传入的连接可以通过UDP端口号123访问NTP服务器。

以sudo身份运行以下命令以打开端口123以接收传入流量:

$ sudo ufw allow from any to any port 123 proto udp

您的Ubuntu主机现已配置为用作NTP服务器。

第二部分:将NTP客户端配置为与NTP服务器进行时间同步

现在让我们将Ubuntu客户端计算机配置为与NTP服务器时间同步。

步骤1:安装ntpdate

ntpdate命令将使您可以手动检查与NTP-server的连接配置。在客户端计算机上打开终端应用程序,然后输入以下命令作为sudo:

$ sudo apt-get install ntpdate

步骤2:在hosts文件中指定NTP服务器的IP和主机名

为了使NTP服务器在客户端计算机中由主机名解析,您需要配置/etc /hosts文件。

输入以下命令,在nano编辑器中以sudo形式打开hosts文件:

$ sudo nano /etc/hosts

现在添加您的NTP服务器的IP并在此文件中指定一个主机名,如下所示:

通过按Ctrl + X退出文件,然后通过输入y保存文件。

第3步:检查客户端计算机的时间是否与NTP服务器同步

以下ntpdate命令将使您可以手动检查客户端和服务器系统之间的时间是否同步:

$ sudo ntpdate NTP-server-host

理想情况下,输出应显示两个系统之间的时间偏移。

步骤4:在客户端上禁用systemd timesyncd服务

因为我们希望客户端与NTP服务器同步时间,所以让我们在客户端计算机上禁用时间同步服务。

输入以下命令来这样做:

步骤5:在客户端上安装NTP

以sudo身份运行以下命令,以便在客户端计算机上安装NTP:

$ sudo apt-get install ntp

步骤6:配置/etc/ntp.conf文件,将NTP服务器添加为新的时间服务器

现在,我们希望客户端计算机将自己的NTP主机服务器用作默认时间服务器。为此,我们需要在客户端计算机上编辑/etc/ntp.conf文件。

以sudo身份运行以下命令,以便在Nano编辑器中打开文件:

$ sudo nano /etc/ntp.conf

然后,在文件中添加以下行,其中NTP-server-host是您为NTP服务器指定的主机名:

server NTP-server-host prefer iburst

指定时间服务器后,文件的外观如下所示:

按Ctrl + x退出文件,然后输入y保存更改。

步骤7:重新启动NTP服务器

为了使以上更改生效,您需要重新启动NTP服务。为此,以sudo身份运行以下命令:

$ sudo service ntp restart

步骤8:查看时间同步队列

现在,您的客户端和服务器计算机已配置为time-synced。您可以通过运行以下命令来查看时间同步队列:

$ ntpq -p

您应该能够看到NTP-server-host作为队列中的时间同步主机/源。

这就是安装和配置NTP以在联网的Ubuntu计算机上同步时间所需的全部知识。该过程可能看起来有些麻烦,但是如果您认真执行上述所有步骤one-by-one,您的计算机将立即同步。

Ubuntu部署NTP服务器和客户端的更多相关文章

  1. CentOS 7.2部署NTP服务器实现时间同步

    CentOS 7.2部署NTP服务器实现时间同步 [日期:2017-12-18] 来源:Linux社区  作者:梁明远 [字体:大 中 小]   1. 前言 对于容器编排系统,前段时间主要研究kube ...

  2. 单点登录CAS使用记(二):部署CAS服务器以及客户端

    CAS-Server下载地址:https://www.apereo.org/projects/cas/download-cas CAS-Client下载地址:http://developer.jasi ...

  3. 时间服务器: NTP 服务器及客户端搭建

    时间服务器: NTP 服务器及客户端搭建 一. NTP 服务器的安装与设定 1. NTP 服务器的安装与设定前言 2. 所需软件与软件结构 3. 主要配置文件 ntp.conf 的处理 4. NTP ...

  4. CentOS7搭建NTP服务器及客户端同步时间

    一.服务器配置 1.查看服务器.客户端操作系统版本 [root@hadoop101 ~]# cat /etc/redhat-release CentOS Linux release (Core) 2. ...

  5. Centos7部署ntp服务器同步时间以及直接将本地时间同步为北京时间

    一.查看配置 查看时区列表: timedatectl list-timezones|grep Asia 查看当前时间: date 查看当前设置: [root@localhost ~]# timedat ...

  6. 部署NTP服务器进行时间同步

    NTP服务端:linl_S    IP:10.0.0.15 NTP客户端:lin_C    IP:10.0.0.16 NTP服务概述 1.原理 NTP(Network TimeProtocol,网络时 ...

  7. 本地NTP服务器与客户端配置

    1. NTP 简介 NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 在集群中,为了保证各节点之间的时间一致,我们通常需要配置本地的 NT ...

  8. Ubuntu搭建NTP服务器

    NTP简介 NTP是Network Time Protocol的缩写,又称为网络时间协议.是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提 ...

  9. Ubuntu部署ftp服务器

    Ubuntu 16.04 FTP服务器安装及配置     FTP File Transfer Protocol文件传输协议,两台计算机传送文件的协议,客户端可以通过FTP命令从服务器下载,上传文件,修 ...

  10. 在ubuntu 部署svn服务器

    (1)安装svn sudo apt-get install subversion (2)新建一个仓库 mkdir /svn/test chmod 777 /svn/test sudo svnadmin ...

随机推荐

  1. Solution -「九省联考 2018」IIIDX

    Description Link. 给出一个堆,然后让你填数进去,使得其满足小根堆的性质,并使编号靠前的点的数最大. Solution 考虑贪心,把原数列降序排序,然后因为这个东西是整除分块的形式,所 ...

  2. Linux中python更换pip源

    Linux中python更换pip源 执行以下命令,更换为阿里源: echo " [global] trusted-host = mirrors.aliyun.com index-url = ...

  3. 【FAQ】关于获取运动健康数据的常见问题及解答

    目录 一.Health Kit健康数据采样, 原子采样数据问题 二.Health Kit查询历史数据查询数据和返回数据不一致 三.Health Kit关于获取历史数据问题 四.调用Health Kit ...

  4. 8月Node服务的3场事故

    有句话叫每一起严重事故的背后,必然有 29 次轻微事故和 300 起未遂先兆以及 1000 起事故隐患. 而我最近更是碰到了 3 起比较严重的线上事故,都是大意惹的祸. 一.数据库锁死 第一起事故发生 ...

  5. [NISACTF 2022]checkin

    题目看上去似乎只是一个简单的get传参,但复制了一下代码,发现不对 这些代码中间还有隐藏的字符 在记事本里面就看到了神奇的字符 就将这些隐藏起来的进行urlencode编码一下 复制这个进行编码,得到 ...

  6. nittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理

    项目结构 测试用例 import unittest class LoginTestCase(unittest.TestCase): def test_login_success(self): self ...

  7. Java 魔法值处理的四种方法

    Java 魔法值处理方案 魔法值的定义 方法一 静态常量(不推荐) 方法二 接口中定义 方法三 定义在实体类 方法四 使用枚举类 enum 总结 魔法值的定义 魔法值是Java中突兀出现在代码中的常量 ...

  8. Hugging Face 分词器新增聊天模板属性

    一个幽灵,格式不正确的幽灵,在聊天模型中游荡! 太长不看版 现存的聊天模型使用的训练数据格式各各不同,我们需要用这些格式将对话转换为单个字符串并传给分词器.如果我们在微调或推理时使用的格式与模型训练时 ...

  9. IOI2020 国家集训队作业 Part 1

    日期不对,但要保证顺序正确方便查找少了啥题. 计算几何和实在不会的题没写. 9.20 CF504E Misha and LCP on Tree *3000 二分,hash,树剖 CF505E Mr. ...

  10. 手撕Vuex-Vuex实现原理分析

    本章节主要围绕着手撕 Vuex,那么在手撕之前,先来回顾一下 Vuex 的基本使用. 创建一个 Vuex 项目,我这里采用 vue-cli 创建一个项目,然后安装 Vuex. vue create v ...