![Debian 8 上的 systemd-timesyncd (无声地失败?)](https://linux22.com/image/82827/Debian%208%20%E4%B8%8A%E7%9A%84%20systemd-timesyncd%20%EF%BC%88%E6%97%A0%E5%A3%B0%E5%9C%B0%E5%A4%B1%E8%B4%A5%EF%BC%9F%EF%BC%89.png)
我在 Debian 8 安装中遇到了让 systemd 正确同步时间的问题。 NTP 已启用timedatectl set-ntp true
并systemctl 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 时间服务器。