Configuración de multidifusión NTPd

Configuración de multidifusión NTPd

Necesito configurar un cliente de multidifusión ntp. Para poder comprobar si mi configuración es buena, intento configurar un servidor de multidifusión NTP.

Mi configuración:

  • 2 VM de Centos 7, actualizado
  • Estoy usando 2 máquinas virtuales en virtualbox, configuré ambas con el modo promicius: permitir todo

Mis problemas son:

  • En el servidor, la entrada de multidifusión se informa como estrato 16; ¿Es el estrato relevante para la multidifusión? ¿El cliente rechazará esto porque el estrato es bajo? ¿Cómo puedo forzar un estrato inferior para un servidor multicast?
  • Mi cliente no parecevermi servidor, incluso si mi archivo de claves es idéntico y he confiado en la clave 1 en ambos lados.

Al usar instrucciones para huérfano, no parece reducir el estrato informado para la dirección de multidifusión:

ntpq -n -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.165.10.2    192.165.10.109   4 u   14   64  377    0.454    2.267   1.479
 224.0.1.1       .MCST.          16 u    -   64    0    0.000    0.000   0.000

Y mi cliente todavía no parece poder encontrar un servidor en la dirección 224.0.1.1.

He verificado en la máquina virtual del servidor, mi máquina host y en la máquina virtual del cliente, todos ven los mensajes de multidifusión del servidor (para vm: usando tcpdump, para host: usando wireshark).

En el cliente, el uso ntpq -n -pdevolverá esto:

No association ID's returned

En el cliente, mi archivo de configuración tiene todas las instrucciones de restricción comentadas, y solo tengo estas (y algunas más como driftfile y demás):

multicastclient 224.0.1.1
keys /etc/ntp/keys
trustedkey 1

El registro del cliente ntpd me da esto:

systemd[1]: Starting Network Time Service...
ntpd[11076]: ntpd [email protected] Tue Jun 23 15:38:18 UTC 2020 (1)
systemd[1]: Started Network Time Service.
ntpd[11077]: proto: precision = 0.052 usec
ntpd[11077]: 0.0.0.0 c01d 0d kern kernel time sync enabled
ntpd[11077]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
ntpd[11077]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
ntpd[11077]: Listen and drop on 1 v6wildcard :: UDP 123
ntpd[11077]: Listen normally on 2 lo 127.0.0.1 UDP 123
ntpd[11077]: Listen normally on 3 enp0s3 192.165.10.107 UDP 123
ntpd[11077]: Listen normally on 4 lo ::1 UDP 123
ntpd[11077]: Listen normally on 5 enp0s3 fe80::a00:27ff:fec1:cc1 UDP 123
ntpd[11077]: Listening on routing socket on fd #22 for interface updates
ntpd[11077]: Listen normally on 6 multicast 224.0.1.1 UDP 123
ntpd[11077]: Joined 224.0.1.1 socket to multicast group 224.0.1.1
ntpd[11077]: 0.0.0.0 c016 06 restart
ntpd[11077]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
ntpd[11077]: 0.0.0.0 c011 01 freq_not_set
ntpd[11077]: io_setbclient: Opened broadcast client on interface #3 enp0s3

Respuesta1

El estrato 16 indica que el servidor NTP no cree que tenga una hora válida porque no tiene conexión con ninguna fuente de hora configurada. Para que ntpdel sistema del servidor confíe en el reloj local del sistema como fuente de hora, existen dos opciones:

  • El método moderno consiste en especificar las palabras clave tos orphany tos orphanwaiten el ntp.confarchivo en el servidor de multidifusión.
# If orphaned, serve others with this stratum.
tos orphan 8
# Wait for this many seconds before starting to serve others (default is 300 s)
tos orphanwait 1
  • La forma más antigua es indicar ntpdque se utilice el reloj local como fuente de hora falsa en el servidor de multidifusión. Esta configuraciónno debe usarse junto con fuentes de tiempo NTP reales, ya que podría hacer ntpdcreer en el reloj local en lugar de las fuentes NTP reales, a menos que se haya configurado una cantidad suficiente de fuentes externas y estén lo suficientemente sincronizadas entre sí para superar en votación la pseudofuente 127.127.1.0 (que es siempre perfectamente de acuerdo con el reloj local por lo que tiende a verse excesivamente favorecido por el ntpdalgoritmo de selección).
server 127.127.1.0 iburst
fudge 127.127.1.0 stratum 8

Las direcciones IP que comienzan con 127.127.*son especiales para ntpd: se refieren a varios controladores de reloj de referencia integrados ntpd.

Ambos métodos harán que el sistema proporcione la hora UTC basándose en el reloj local no sincronizado del sistema a través de NTP utilizando el estrato 8, por lo que cualquier sistema con una conexión razonablemente directa a una fuente de hora NTP real (= estrato 7 o menos) debería preferirlo a Éste.

Se recomienda usar la forma más nueva siempre que su versión ntpdlo admita, ya que con ella no tiene que recordar eliminar la pseudofuente si agrega fuentes de tiempo NTP reales al sistema.

información relacionada