使 systemd-timesyncd 不监听 IPv6

使 systemd-timesyncd 不监听 IPv6

在我的一台服务器(Debian 9)上,我禁用了 IPv6。现在我在系统日志中收到以下错误:

systemd-timesyncd[645]: Failed to setup connection socket: \
    Address family not supported by protocol

如何为 systemd-timesyncd 禁用 IPv6?

答案1

这似乎是systemdArch 中的一个已知错误。没有找到 Debian 本身的任何参考,但可能存在类似的错误。来自 arch wiki 相关邮政

systemd-timesyncd 将依次联系服务器,直到找到响应的服务器。 Arch 按照 0、1、2、3 的顺序使用区域。但是,所有 pool.ntp.org 区域仅在 2 子域上启用了 IPv6 和 IPv4。所有其他都仅限 IPv4。因此,应将 2 放在第一位,以便正确提供对 IPv6/IPv4 主机的支持。

DHCP 也可能为您提供了错误的 NTP 服务器。

在“[Time]”部分配置以下设置:

NTP=

以空格分隔的 NTP 服务器主机名或 IP 地址列表。在运行时,此列表与从 systemd-networkd.service(8) 获取的任何每个接口的 NTP 服务器结合在一起。 systemd-timesyncd 将依次联系所有已配置的系统或每个接口的服务器,直到找到响应的服务器。此设置默认为空列表。

后备NTP=

用作后备 NTP 服务器的 NTP 服务器主机名或 IP 地址的空格分隔列表。从 systemd-networkd.service(8) 获取的任何每接口 NTP 服务器都优先于此设置,就像通过上面的 NTP= 设置的任何服务器一样。因此,仅当不知道其他 NTP 服务器信息时才使用此设置。如果未给出此选项,则使用编译的 NTP 服务器列表。

可能的解决方法:禁用systemd-timesyncd并安装chrony

相关内容