zoukankan      html  css  js  c++  java
  • Ubuntu部署NTP服务器和客户端

    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,您的计算机将立即同步。

    参考资料

    ============= End

  • 相关阅读:
    LOJ 6089 小Y的背包计数问题 —— 前缀和优化DP
    洛谷 P1969 积木大赛 —— 水题
    洛谷 P1965 转圈游戏 —— 快速幂
    洛谷 P1970 花匠 —— DP
    洛谷 P1966 火柴排队 —— 思路
    51Nod 1450 闯关游戏 —— 期望DP
    洛谷 P2312 & bzoj 3751 解方程 —— 取模
    洛谷 P1351 联合权值 —— 树形DP
    NOIP2007 树网的核
    平面最近点对(加强版)
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/14265513.html
Copyright © 2011-2022 走看看