
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 -p
devolverá 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 ntpd
el 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 orphan
ytos orphanwait
en elntp.conf
archivo 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
ntpd
que 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 hacerntpd
creer 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 elntpd
algoritmo 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 ntpd
lo admita, ya que con ella no tiene que recordar eliminar la pseudofuente si agrega fuentes de tiempo NTP reales al sistema.