我在 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
答案1
时间同步协议使用 UDP,而不是 TCP。
您需要在防火墙设置中允许 UDP 协议。