Debian 8 上的 systemd-timesyncd (无声地失败?)

Debian 8 上的 systemd-timesyncd (无声地失败?)

我在 Debian 8 安装中遇到了让 systemd 正确同步时间的问题。 NTP 已启用timedatectl set-ntp truesystemctl status systemd-timesyncd报告:

● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled)
   Active: active (running) since Thu 2016-02-04 13:25:22 CET; 5h 49min ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 302 (systemd-timesyn)
   Status: "Idle."
   CGroup: /system.slice/systemd-timesyncd.service
           └─302 /lib/systemd/systemd-timesyncd

在任何日志中都找不到错误,但 timesyncd 似乎仍然拒绝正确同步,如timedatectl status报告所示:

NTP enabled: yes
NTP synchronized: no

timesyncd.conf 中的时间部分(唯一部分):

[Time]
Servers=0.dk.pool.ntp.org 1.dk.pool.ntp.org 2.dk.pool.ntp.org 3.dk.pool.ntp.org 
#Servers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

最后,针对配置中的其中一台服务器手动运行 ntpdate ntpdate 0.dk.pool.ntp.org,同步效果很好。

可能是我的某个地方出现了错误,但如果是这样,timesyncd 或 systemd 不应该报告这个错误吗?

答案1

您很可能访问指定的时间服务器被封锁通过防火墙/网络或本地基于主机的防火墙(iptables)。我在 Debian Jessie 8.6 上遇到了同样的错误,如下所示:

systemd-timesyncd[21869]: Using NTP server 193.225.118.163:123     (hu.pool.ntp.org). 2016-12-27T11:57:24.832779+01:00 xxxxxx systemd-timesyncd[21869]:     Timed out waiting for reply from 193.225.118.163:123 (hu.pool.ntp.org).

请注意该命令systemctl 状态 systemd-timesyncd应该在您的终端上向您显示相同或相似的输出。如果没有,请尝试重新启动服务并查看等待回复超时...。如果您已成功连接到 NTP 服务器,则重新启动服务后,服务日志应显示以下内容:

Dec 27 11:58:14 xxxxx systemd[1]: Started Network Time Synchronization.
Dec 27 11:58:14 xxxxx systemd-timesyncd[21895]: Using NTP server X.Y.Z.ZZ:123 (your.ntp-server.com).

此后,命令时间日期控制状态应显示该行(除其他外):

...
NTP enabled: yes
NTP synchronized: yes
...

请注意,您不必在相关部分中指定任何内容/etc/systemd/timesyncd.conf。如果注释掉 Servers 行,则服务默认为 0-3.debian.pool.ntp.org 时间服务器。

相关内容