Ubuntu 18.04 Linux上配置NTP服务器

安装NTP服务器

使用以下Linux命令在Ubuntu 18.04系统上安装NTP服务器守护程序:

$ sudo apt install ntp

配置NTP服务器

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

使用浏览器导航到NTP池项目 http://www.pool.ntp.org/zone/@ ,并找到最近的NTP服务器池。

例如,以下是澳大利亚的NTP池列表:

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

编辑NTP服务器的主要配置文件

$ 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服务器:

$ 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 2015-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客户端配置

首先安装ntpdate命令来测试NTP服务器配置:

$ sudo apt install ntpdate

执行以下ntpdate命令和我们的NTP服务器进行同步时间:

$ sudo ntpdate ntp服务器域名
或者
$ sudo ntpdate ntp服务器ip地址
21 Mar 11:16:43 ntpdate[6090]: adjust time server 10.1.1.9 offset -0.000100 sec

禁用默认Ubuntu systemd的TimeSync服务:

$ sudo timedatectl set-ntp off

禁用timesyncd后,我们现在将安装NTP守护进程,并将自己配置的NTP服务器设置为时间同步的首选NTP服务器。
输入以下命令以安装NTP deamon:

$ sudo apt install ntp

接下来,配置NTP守护程序以使用以前配置的NTP服务器,该服务器通过NTP linuxconfig主机名解析。
以下linux命令将ntp linuxconfig设置为首选ntp时间同步服务器。使用NTP服务器的主机名或者IP地址更新以下命令:

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

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

$ sudo service ntp restart

使用ntpq命令列出NTP时间同步队列:

$ ntpq -p

*符号表示该NTP服务器被选为当前时间同步源。

NTPQ命令列输出解释:

  • remote——您希望与之同步时钟的远程服务器
  • refid——远程服务器的上游层。对于第1层服务器,这将是第0层源。
  • st——地层级别,从0到16。
  • t——连接的类型。可以是“u”表示单播或者多播,“b”表示广播或者多播,“l”表示本地参考时钟,“s”表示对称对等点,“A”表示多播服务器,“b”表示广播服务器,或者“M”表示多播服务器
  • when—上次查询服务器的时间。默认值为秒,或者以分钟显示“m”,以小时显示“h”,以天显示“d”。
  • poll ——查询服务器时间的频率,最短为16秒,最长为36小时。它还显示为二次幂的值。通常情况下,时间介于64秒和1024秒之间。
  • reach——这是一个8位左移八进制值,显示与远程服务器通信的成功率和失败率。成功表示已设置位,失败表示未设置位。377是最高值。
  • delay --此值以毫秒为单位显示,并显示计算机与远程服务器通信的往返时间(RTT)。
  • offset——此值以毫秒为单位,使用均方根显示,并显示您的时钟与服务器给您的报告时间之间的距离。它可以是正面的,也可以是负面的。
  • jitter ——这个数字是以毫秒为单位的绝对值,表示偏移量的均方根偏差。

NTPQ命令行输出解释:

“”-- 由于无效而被丢弃。可能是您无法与远程计算机通信(它未联机),此时间源是“.LOCL.”refid时间源,它是高层服务器,或者远程服务器将此计算机用作NTP服务器。
x -- 被交集算法丢弃。
. -- 被表溢出丢弃(未使用)。
-- -- 被聚类算法丢弃。
+ -- 包含在合并算法中。如果我们正在同步的当前服务器由于任何原因被丢弃,那么这是一个很好的选择。
# -- 作为备用备份使用的良好远程服务器。仅当您有10台以上的远程服务器时,才会显示此选项。
* -- 当前系统是对等的。计算机正在使用此远程服务器作为其时间源来同步时钟
o -- 每秒脉冲数(PPS)对等。这通常与 GPS 时间源一起使用,尽管任何提供 PPS 的时间源都可以。 此计数代码和上一个计数代码“*”不会同时显示。

日期:2020-07-07 20:55:49 来源:oir作者:oir