当前位置: 首页>>技术教程>>正文


Ubuntu 18.04 Bionic Beaver Linux上的NTP服务器配置

, ,

目的

目的是在Ubuntu 18.04 Bionic Beaver Linux上配置NTP服务器

操作系统和软件版本

  • 操作系统:-Ubuntu 18.04仿生海狸
  • 软件:-ntpd 4.2.8或更高版本

要求

以root或通过特权访问Ubuntu系统sudo命令是必需的。

困难

简单

约定

  • -要求linux命令可以直接以root用户身份或通过使用root特权以root特权执行sudo命令
  • $-要求linux命令以普通非特权用户身份执行

使用说明

安装NTP服务器

第一步是安装NTP服务器。使用以下linux命令在您的Ubuntu 18.04系统上安装NTP服务器守护程序:


$ sudo apt install ntp

配置NTP服务器

默认情况下,NTP服务器已预先配置。但是,我们可能要切换到靠近我们服务器位置的NTP服务器池。

使用浏览器导航到NTP池项目并找到离您最近的NTP服务器池。例如,以下是澳大利亚的NTP池列表:


0.au.pool.ntp.org
1.au.pool.ntp.org
2.au.pool.ntp.org
3.au.pool.ntp.org

为了使用新的NTP服务器池配置NTP服务器,您应该至少有一个NTP服务器。推荐的数量是3-4。如果您所在国家/地区没有足够的NTP服务器,请将大洲NTP服务器添加到列表中。

获得列表后,打开NTP服务器的主配置文件/etc/ntp.conf


$ sudo nano /etc/ntp.conf 

替换行:

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.au.pool.ntp.org iburst
pool 1.au.pool.ntp.org iburst
pool 2.au.pool.ntp.org iburst
pool 3.au.pool.ntp.org iburst

保存文件并重新启动NTP服务器:


$ sudo service ntp restart

检查NTP服务器状态:


$ sudo service ntp status
● ntp.service - Network Time Service
   Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-21 11:08:04 AEDT; 1s ago
     Docs: man:ntpd(8)
  Process: 28155 ExecStart=/usr/lib/ntp/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
 Main PID: 28173 (ntpd)
    Tasks: 2 (limit: 2322)
   CGroup: /system.slice/ntp.service
           └─28173 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 111:115

最后,如果您的系统启用了UFW防火墙,则需要打开NTP UDP端口123对于传入连接:


 $ sudo ufw allow from any to any port 123 proto udp
Rule added
Rule added (v6)

如果您希望使防火墙规则更加严格,请访问我们的如何打开/允许传入防火墙端口指南欲获得更多信息。




NTP客户端配置

现在,我们将配置Ubuntu客户端系统以使用我们先前配置的NTP服务器。首先,我们先安装ntpdate命令以测试NTP服务器配置:


$ sudo apt install ntpdate

接下来,尝试与我们的NTP服务器手动同步时间。如果您的NTP服务器可以通过ntp-linuxconfig主机名执行以下命令ntpdate同步时间的命令:


$ sudo ntpdate ntp-linuxconfig
21 Mar 11:16:43 ntpdate[6090]: adjust time server 10.1.1.9 offset -0.000100 sec

一切似乎都按预期进行。下一步是禁用默认的Ubuntusystemd的时间同步服务


$ sudo timedatectl set-ntp off

随着timesyncd禁用后,我们现在将安装NTP守护程序,并将我们自己配置的NTP服务器设置为首选NTP服务器以进行时间同步。

输入以下命令以安装NTP守护进程:


$ sudo apt install ntp

接下来,将NTP守护程序配置为使用我们先前配置的NTP服务器,该服务器通过ntp-linuxconfig主机名。

下列linux命令将设置ntp-linuxconfig作为首选的NTP时间同步服务器。使用NTP服务器的主机名或IP地址更新bellow命令:


$ sudo bash -c "echo server ntp-linuxconfig prefer iburst >> /etc/ntp.conf"

然后,重新启动NTP守护程序:


$ sudo service ntp restart

懒散,使用ntpq列出NTP时间同步队列的命令:


$ ntpq -p
Using NTP server on Ubuntu 18.04

*符号表示我们的NTP服务器ntp-linuxconfig选择为当前时间同步源。阅读以下附录,了解有关如何解释ntpq命令的输出。


附录

NTPQ Command列输出解释

  • 远程-您希望与之同步时钟的远程服务器
  • refid-远程服务器的上游层。对于第1层服务器,这将是第0层源。
  • -阶层等级,0到16。
  • Ť-连接类型。对于单播或多播,可以是“ u”,对于广播或多播可以是“ b”,对于本地参考时钟,可以是“ l”,对于对称对等体,可以是“ s”,对于多播服务器,是“ A”,对于广播服务器,是“ B”,或者多播服务器的“ M”
  • 什么时候-上次查询服务器的时间。默认值为秒,否则将在几分钟内显示”m”,在小时内显示”h”,在几天内显示”d”。
  • 轮询-查询服务器的频率,最少16秒,最多36小时。它还显示为2的幂的值。通常,它介于64秒和1024秒之间。
  • 达到-这是一个8位左移八进制值,显示与远程服务器通信的成功率和失败率。成功意味着该位置1,失败意味着该位置1。 377是最高值。
  • 延迟-该值以毫秒为单位显示,并显示与远程服务器通信的计算机的往返时间(RTT)。
  • 抵销 – 此值显示以毫秒为单位,利用均方根,并展示了如何遥远您的时钟是从报告的时间服务器给你。它可以是正数或负数。
  • 抖动-该数字是绝对值(以毫秒为单位),显示偏移的均方根偏差。

NTPQ命令行输出解释

  • ” “被舍弃为无效。可能是您无法与远程计算机通信(它不在线),该时间源是”.LOCL.” refid时间源,它是高层服务器或远程服务器正在使用此计算机作为NTP服务器。
  • X被交集算法丢弃。
  • 被表溢出丢弃(未使用)。
  • 由聚类算法丢弃。
  • +包含在Combine算法中。这是一个很好的选择,如果我们与同步当前服务器被丢弃的任何理由。
  • 好的远程服务器可以用作备用备份。仅当您有十个以上的远程服务器时才会显示。
  • *当前系统对等体。计算机使用此远程服务器作为其时间源来同步时钟
  • Ø每秒脉冲(PPS)对等体。这通常与GPS时间源一起使用,尽管提供PPS的任何时间源都可以。该理货代码和先前的理货代码”*”将不会同时显示。

参考:

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8107.html,未经允许,请勿转载。