我在网络中有一台服务器,它从接收其所有网络信息DHCP
。问题是ntp-server
正在发送的邮件未设置为UTC。我想使用中的配置ntp
,/etc/ntp.conf
但DHCP
信息优先。我ntpd
该如何强制使用与发送配置/etc/ntp.conf
相反的配置DHCP
?这是Debian
怎么做的?
我在网络中有一台服务器,它从接收其所有网络信息DHCP
。问题是ntp-server
正在发送的邮件未设置为UTC。我想使用中的配置ntp
,/etc/ntp.conf
但DHCP
信息优先。我ntpd
该如何强制使用与发送配置/etc/ntp.conf
相反的配置DHCP
?这是Debian
怎么做的?
Answers:
我建议您编辑/创建/etc/dhclient.conf,并用以下内容取消注释“ request”行:
request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, host-name;
特别是,如果存在“ ntp-servers”,请将其删除。在某些发行版(也称为Fedora)下,它是默认发送的,因此您必须明确地放置此行,以便覆盖默认值。
检查man dhclient.conf
扩展信息。
没有直接回答问题,但是可能会派上用场。
在Debian上(至少),DHCP客户端将覆盖现有的ntp服务配置。
它由脚本控制/etc/dhcp/dhclient-exit-hooks.d/ntp
:
[contents from: /etc/dhcp/dhclient-exit-hooks.d/ntp]
NTP_CONF=/etc/ntp.conf
NTP_DHCP_CONF=/var/lib/ntp/ntp.conf.dhcp
...
[hundreds of lines of scripts]
DHCP客户端从DHCP服务器接收ntp服务器,它从NTP_CONF路径中获取当前的ntp服务配置,并将其更改为包括通过dhcp接收的ntp服务器,它会在NTP_DHCP_CONF路径中生成一个新的ntp配置文件,最后强制ntp服务使用这个新的配置文件。
这将导致始终使用通过dhcp通告的ntp服务器。绕过系统配置。
如果不知道,这很难调试,因为“ /etc/ntp.conf”中的服务配置保持不变,并且在外观检查中是正确的。但是,实际上它被忽略并且被隐秘地覆盖。
您可以使用“ ntpq -pn”来调试守护进程实际使用的ntp服务器。
如果您的网络中有一个由DHCP通告的ntp服务器,而您想忽略它:
您将需要重新配置dhcp客户端,/etc/dhclient.conf
以跳过ntp-servers
dhcp选项。请参阅@Oliver的答案。
然后,您可以在中自定义系统配置 /etc/ntp.conf
如果在某个时候通过DHCP发布了一个ntp服务器,但现在不再存在:
dhcp客户端可能仍会覆盖系统ntp配置,从而迫使很久以前发布的过时的ntp服务器。此dhcp覆盖可以跨ntp service restart
和存活数天reboot
。
要结束它,您将需要/var/lib/ntp/ntp.conf.dhcp
在所有服务器上删除并重新启动ntp服务。
这些都是未记录的,意外的且难以调试的行为。今天,这让我头疼不已,这就是为什么我在这里进行记录。