¿Cómo anular la información ntp enviada por dhcp en debian?

9

Tengo un servidor en una red que recibe toda su información de red DHCP. El problema es que el ntp-serverenvío no está configurado en UTC. Quiero usar la configuración de ntpencontrado en /etc/ntp.confpero la DHCPinformación tiene prioridad. ¿Cómo puedo forzar ntpda usar la configuración en /etc/ntp.conflugar de la enviada por DHCP? ¿Cuál es la Debianforma de hacer esto?

Ricardo Marimon
fuente
¿Qué demonio ntp estás usando? ¿Cuál es el contenido actual de su ntp.conf? ¿Está instalado el paquete ntpdate? ¿Qué cliente DHCP estás usando? ¿Qué versión de Debian?
Zoredache
1
1. Servidor en DHCP 2. El servidor NTP no está "configurado" en UTC o_O
Chris S
Debian squeeze, ntp.conf predeterminado (el que viene después de aptitude install ntp)
Ricardo Marimon

Respuestas:

7

Le sugiero que edite / cree /etc/dhclient.conf y elimine el comentario de la línea "request" con algo como esto:

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

Especialmente, si "ntp-Server" está presente, elimínelo. Bajo alguna distribución (también conocida como Fedora) se envía por defecto, por lo que debe poner esta línea explícitamente para que se sobrescriba el valor predeterminado.

Verifique man dhclient.confsi hay información extendida.

Olivier S
fuente
Esto funcionó perfectamente ... ¿hay algo que se puede hacer en Debian que va más en la línea de / etc / default ...
Ricardo Marimon
14

No responde directamente la pregunta, pero eso puede ser útil.

Comportamiento DHCP

En Debian (al menos) el cliente DHCP está anulando la configuración del servicio ntp existente.

Está controlado por el script /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]

El cliente DHCP recibe servidores ntp del servidor DHCP, toma la configuración actual del servicio ntp de la ruta NTP_CONF y la modifica para incluir los servidores ntp recibidos a través de dhcp, genera un nuevo archivo de configuración ntp en la ruta NTP_DHCP_CONF y finalmente fuerza el servicio ntp para usar este nuevo archivo de configuración.

Esto da como resultado siempre el uso de los servidores ntp anunciados a través de dhcp. Sin pasar por la configuración del sistema.

Esto es difícil de depurar si no se conoce porque la configuración del servicio en '/etc/ntp.conf' no se modifica y es correcta en la inspección visual. Sin embargo, en realidad se ignora y se anula sigilosamente.

Puede usar 'ntpq -pn' para depurar qué servidores ntp realmente están siendo utilizados por el demonio.

Mezcla de opciones DHCP ntp y configuración específica del sistema

Si hay un servidor ntp en su red que anuncia DHCP y desea ignorarlo :

Deberá reconfigurar el cliente dhcp /etc/dhclient.confpara omitir la ntp-serversopción dhcp. Consulte la respuesta de @Oliver.

Luego puede personalizar la configuración del sistema en /etc/ntp.conf

Si había un servidor ntp anunciado por DHCP en algún momento pero ya no :

La configuración ntp del sistema aún podría ser anulada por el cliente dhcp, lo que obligaría a los servidores ntp obsoletos anunciados hace mucho tiempo. Esta anulación de dhcp puede sobrevivir durante días, a través ntp service restarty reboot.

Para ponerle fin, deberá eliminar /var/lib/ntp/ntp.conf.dhcpy reiniciar el servicio ntp en todos sus servidores.

Palabra final

Todo esto es comportamiento indocumentado, inesperado y difícil de depurar. Eso me causó bastante dolor de cabeza hoy, por eso estoy documentando esto aquí.

usuario5994461
fuente
7

También puede simplemente eliminar este archivo: en /etc/dhcp/dhclient-exit-hooks.d/ntplugar de editar sus solicitudes DHCP. Este archivo crea ntp.conf.dhcp.

En caso de que ntp.conf.dhcpse haya creado en un arranque anterior, asegúrese de eliminarlo también.

Tuinslak
fuente