/etc/ntp.conf
即使 DHCP 尝试提供不同的NTP 服务器列表,如何强制 Ubuntu 16.04 LTS 使用手动配置的 NTP 服务器列表?
在 Ubuntu 16.04 LTS(以及可能所有更高版本)上,当通过 DHCP 配置接口且 DHCP 服务器响应包含 NTP 服务器信息时,dhclient
会创建一个配置文件/var/lib/ntp/ntp.conf.dhcp
,该文件将覆盖配置,/etc/ntp.conf
并且仅包含通过 DHCP 收到的 NTP 服务器,而不包含明确配置的 NTP 服务器。
即使(按照建议)也会发生这种情况关于服务器故障)request
中的指令/etc/dhcp/dhclient.conf
明确设置为列表不是包含ntp-servers
关键字。
就我而言,一组分布在全球的服务器通过 DHCP 从每个站点的 ISP 接入路由器获取其 IP 地址,但需要将其时钟同步到一组通用的 NTP 服务器。
答案1
这是https://bugs.launchpad.net/ubuntu/+source/ntp/+bug/1823098
我不记得具体哪个版本对此进行了更改,但直到他们修复了 DHCP 提供的服务器并不总是被选中的错误(我目前找不到错误参考),一种解决方法是在 中的 、 或 指令前面放置一个制表符peer
。pool
这server
并/etc/ntp.conf
不能完全解决问题,因为 DHCP 提供的 NTP 服务器仍包含在配置中,但至少它不会删除您明确配置的服务器。根据您的补丁级别,这可能不起作用。
要完全修复此问题,您需要修补或删除/etc/dhcp/dhclient-exit-hooks.d/ntp
。我不确定哪种更改更适合升级。如果删除文件有效,这可能是最干净的解决方案。否则,像这样的补丁可能会奏效:
--- ntp.orig 2020-05-19 07:46:05.205292208 +0000
+++ ntp 2020-05-19 07:46:15.513301281 +0000
@@ -61,4 +61,4 @@
}
-ntp_servers_setup
+#ntp_servers_setup