目的
目的是在Ubuntu 18.04 Bionic Beaver Linux上配置NTP服务器
操作系统和软件版本
- 操作系统:-Ubuntu 18.04仿生海狸
- 软件:-ntpd 4.2.8或更高版本
要求
以root或通过特权访问Ubuntu系统sudo
命令是必需的。
困难
简单
约定
使用说明
安装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
附录
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的任何时间源都可以。该理货代码和先前的理货代码”*”将不会同时显示。