如何覆盖Debian中dhcp发送的ntp信息?


9

我在网络中有一台服务器,它从接收其所有网络信息DHCP。问题是ntp-server正在发送的邮件未设置为UTC。我想使用中的配置ntp/etc/ntp.confDHCP信息优先。我ntpd该如何强制使用与发送配置/etc/ntp.conf相反的配置DHCP?这是Debian怎么做的?


您正在使用什么ntp守护程序?ntp.conf的当前内容是什么?是否安装了ntpdate软件包?您正在使用什么DHCP客户端?什么版本的Debian?
Zoredache

1
1.在DHCP上进行服务器2.不将NTP服务器“设置”为UTC o_O
克里斯·S,

Debian压缩,默认ntp.conf(在aptitude安装ntp之后出现)
Ricardo Marimon

Answers:


7

我建议您编辑/创建/etc/dhclient.conf,并用以下内容取消注释“ request”行:

request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, host-name;

特别是,如果存在“ ntp-servers”,请将其删除。在某些发行版(也称为Fedora)下,它是默认发送的,因此您必须明确地放置此行,以便覆盖默认值。

检查man dhclient.conf扩展信息。


这非常有效...在debian中有什么可以做的比/ etc / default更有效...
Ricardo Marimon

15

没有直接回答问题,但是可能会派上用场。

DHCP行为

在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通告的ntp服务器,而您想忽略它

您将需要重新配置dhcp客户端,/etc/dhclient.conf以跳过ntp-serversdhcp选项。请参阅@Oliver的答案。

然后,您可以在中自定义系统配置 /etc/ntp.conf

如果在某个时候通过DHCP发布了一个ntp服务器,但现在不再存在

dhcp客户端可能仍会覆盖系统ntp配置,从而迫使很久以前发布的过时的ntp服务器。此dhcp覆盖可以跨ntp service restart和存活数天reboot

要结束它,您将需要/var/lib/ntp/ntp.conf.dhcp在所有服务器上删除并重新启动ntp服务。

最后的话

这些都是未记录的,意外的且难以调试的行为。今天,这让我头疼不已,这就是为什么我在这里进行记录。


7

您也可以只删除以下文件:/etc/dhcp/dhclient-exit-hooks.d/ntp,而不用编辑DHCP请求。此文件创建ntp.conf.dhcp

如果ntp.conf.dhcp是在上一次引导时创建的,请确保也将其删除。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.