¿Cómo se configura un cliente de Linux para utilizar la información NTTP proporcionada a través de DHCP?


18

hay tantos tutoriales que explican cómo configurar el dhcpdservidor, en relación con el suministro de sugerencias ntp a clientes dhcp, que siempre pensé que la ntpconfiguración se realizaba automáticamente. Recientemente comencé a ver desviaciones del reloj en mi red local, así que supongo que esta fue una suposición incorrecta. Así que me dispuse a ver cómo se puede minimizar la configuración del cliente ntp, siempre que se haya realizado el esfuerzo de configurar ntp-serversugerencias dhcpd.

No he podido encontrar mucho aparte de este tutorial de ayuda específica de Ubuntu https://help.ubuntu.com/community/UbuntuTime . Incluso aquí (vea el párrafo bajo "Solución de problemas -> ¿Qué archivo de configuración está usando?") La información es escasa pero dice que si /etc/ntp.conf.dhcpse encuentra un archivo, se usará en su lugar. En primer lugar, la ubicación real a la que se refería el escritor aquí es la /var/lib/ntp/ntp.conf.dhcpobservada /etc/init.d/ntp, pero independientemente de eso, la presencia de este archivo no garantiza que el ntp solicite servidores dhclient. Como resultado, tengo que agregar explícitamente la servercláusula ntp.conf.dhcppara mi servidor ntp local. Pero en ese caso, ¿por qué incluso configuro las configuraciones ntp en el dhcpdservidor?

Esto parece ir en contra de la intuición, es decir, configurar los ajustes ntp una vez (es decir, en el servidor) y dejar que el dhcpdservidor delegue la información a los clientes. ¿Cómo puedo minimizar (si no evitar por completo), la configuración del cliente para el ntp. Alternativamente, ¿cómo puedo obtener ntpinformación dhclient?

¿Existe una solución cli que se adapte a todas las distribuciones de Linux?

Supongo que cada cliente debe tener los ejecutables de ntpd, pero no sé cómo proceder desde allí.

Gracias

EDITAR: salida detallada del cliente ubuntu cuando se ejecuta manualmente dhclient:

sudo dhclient -1 -d -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/20:cf:30:0e:6c:12
Sending on   LPF/eth0/20:cf:30:0e:6c:12
Sending on   Socket/fallback
DHCPREQUEST of 192.168.112.150 on eth0 to 255.255.255.255 port 67 (xid=0x2e844b8f)
DHCPACK of 192.168.112.150 from 192.168.112.112
reload: Unknown instance: 
invoke-rc.d: initscript smbd, action "reload" failed.
RTNETLINK answers: File exists
 * Stopping NTP server ntpd
   ...done.
 * Starting NTP server ntpd
   ...done.
bound to 192.168.112.150 -- renewal in 41963 seconds.

El servicio ntpd se reinicia, pero se ejecuta ntpq -cpe -casdespués. Todavía no veo mi servidor ntp local en la lista de servidores ntp.

Por supuesto mi dhcpdservidor tieneoption ntp-servers

subnet 192.168.112.0 netmask 255.255.255.0 {
        max-lease-time 604800;
        default-lease-time 86400;
        authoritative;
        ignore client-updates;

        option ntp-servers 192.168.112.112; #self

        ... (many other options)
}

1
En mi servidor DHCPD paso a los clientes el servidor NTP para usar conoption ntp-servers x.x.x.x
Rui F Ribeiro

@RuiFRibeiro Hola, sí, esta opción es parte de mi dhcpdservidor.
nass

2
serverfault.com/questions/329596/… puede darle algunas pistas. Probablemente desee ver /etc/dhcp/dhclient-exit-hooks.d/ntp para encontrar el nombre de archivo real que se está utilizando. Asegúrese de que su archivo dhclient.conf esté configurado para solicitar también servidores ntp.
icarus

¿Estás usando Ubuntu como cliente? ¿Cual version?
roaima

El cliente @roaima puede ser ubuntu, pero una solución más genérica ayudaría. Si facilita las cosas, digamos que ubuntu 14.04 LTS es el cliente en este caso.
nass

Respuestas:


10

Si el servidor dhcp que está utilizando está configurado para proporcionar la ntp-serversopción, puede configurar su dhclient para solicitar servidores ntp agregando ntp-serversa la línea de solicitud predeterminada dhclient.conf, como se muestra al final de este ejemplo desde Ubuntu Linux (a partir de 19.04, pero presente desde al menos 12.04):

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

/etc/ntp.confy la información de DHCP se usará para crear /etc/ntp.conf.dhcp.

Se le debe indicar a su ntpd que use /etc/ntp.conf.dhcp si existe. En la versión de Ubuntu que estoy usando, esto se hace a través de /etc/dhcp/dhclient-exit-hooks.d/ntp. <- este es el archivo que le dice a NTPd que use /etc/ntp.conf.dhcpsi existe, y que solo lo use /etc/ntp.confsi no existe.


2
En Ubuntu 18.04 este archivo está en /run/ntp.conf.dhcp, puede buscar su ubicación en cualquier caso en/etc/dhcp/dhclient-exit-hooks.d/ntp
DustWolf

Parece que el último Ubuntu 16.04 xenial ya no es compatible con ntp-options; Antes funcionaba bien. Hacer esto: /usr/sbin/dhcpd -tda esto: /etc/dhcp/dhcpd.conf line 20: unknown option dhcp.ntp-server option ntp-server 10.... estaba funcionando bien en el verano.
Linas

0

1
Hola Abdullah, Chrony es una alternativa útil a tener en cuenta, pero su respuesta no muestra cómo se puede utilizar para que los clientes DHCP hagan uso de la información NTP proporcionada por un servidor DHCP.
Anthony G - justicia para Monica

@AnthonyGeoghegan Hola, si lo agregas como un comentario, eliminaría mi respuesta,
Abdullah

No solo publique algunos enlaces (estos tienden a pudrirse), sino que incluya la información necesaria en su respuesta.
Restablecer Monica - M. Schröder
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.