我在 Ubuntu 18 中的时间同步有问题,这是我的版本,在数字海洋上运行:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bioni
当我写的时候,date
我会得到Sun Dec 29 15:24:50 UTC 2019
,但sudo hwclock --show
会给2019-12-29 15:25:06.699770+0000
。硬件时钟实际上显示了正确的时间。
timedatectl status
显示此信息
Local time: Sun 2019-12-29 15:25:29 Universal time: Sun 2019-12-29 15:25:29 UTC
RTC time: Sun 2019-12-29 15:25:46
Time zone: UTC (UTC, +0000)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
所以似乎时钟没有同步。我见过很多涉及安装的灵魂,ntpdate
但它在这里说这个程序已经贬值了:
https://help.ubuntu.com/lts/serverguide/NTP.html
运行后
systemctl status systemd-timesyncd
表明服务正在运行。
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-12-28 23:28:33 UTC; 16h ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 31580 (systemd-timesyn)
Status: "Idle."
Tasks: 2 (limit: 1152)
CGroup: /system.slice/systemd-timesyncd.service
└─31580 /lib/systemd/systemd-timesyncd
我已尝试重新启动服务sudo systemctl restart systemd-timesyncd
在空闲之前,状态只会Status: "Connecting to time server 91.189.89.198:123 (ntp.ubuntu.com)."
显示几分钟。
我尝试将其他时间服务器添加到/etc/systemd/timesyncd.conf
...
# See timesyncd.conf(5) for details.
[Time]
#NTP=
#FallbackNTP=ntp.ubuntu.com
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
取消注释#NTP=
并更改为 NTP=time.google.com
,然后重新启动服务,但时间仍然不同步。
我正在使用没有出站规则的网络防火墙:
- 是否有任何错误日志我可以检查它为什么没有连接?
- 我可以 ping 任何其他时间服务器并查看它是否响应?
- 这里的关键是更改 NTP 还是备用 NTP?
非常感谢任何帮助,我真的迷路了:S
时间同步协议使用 UDP,而不是 TCP。
您需要在防火墙设置中允许 UDP 协议。