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

  • 相关阅读:
    使用_Capistrano_进行自动化部署(2)
    使用 Capistrano 进行自动化部署
    Zend_Framework_1 框架是如何被启动的?
    PHP新版本变化
    Phpstorm 无法自动断点 Exception
    理解希尔排序
    C# Thread 线程
    Unity 依赖注入容器的AOP扩展
    C# 面向切面编程 AOP
    C# 表达式树 Expression
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/14265513.html
Copyright © 2011-2022 走看看