ntp.conf pool vs directivas del servidor

15

Encontré un archivo ntp.conf que especifica las directivas del grupo:

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
pool 0.ubuntu.pool.ntp.org
pool 1.ubuntu.pool.ntp.org
pool 2.ubuntu.pool.ntp.org
pool 3.ubuntu.pool.ntp.org

Sin embargo, también tiene directivas de servidor en el mismo archivo, con el que estoy más familiarizado.

Al leer sobre el grupo, veo que está destinado a usarse en lugar del servidor. Deberías usar uno u otro.

Sin embargo, ¿qué sucede si ntp.conf tiene ambos? ¿Un conjunto tiene prioridad sobre el otro, o se utilizará todo?

Esto está en Ubuntu 14.04, ntpd es la versión 4.2.6p5.

usuario3141592
fuente

Respuestas:

8

Hasta donde puedo ver en las fuentes, ntpdmaneja tanto a un miembro de un grupo como a servidores individuales aproximadamente de la misma manera: los agrega a la lista de pares.

Todos estos compañeros son utilizados por ntpd.

La magia del mecanismo de la agrupación está en el DNS round-robin: a medida que se ntpdresuelve el nombre de la agrupación a través de DNS, la respuesta de la consulta DNS es un solo nodo, que puede ser diferente cada vez que se solicita una resolución.

Vincent De Baere
fuente
2
Esto se menciona en el archivo discover.htmlque creo que se incluye con la documentación ntpd. Ver el final del archivo
mboehn
@ Vincent descargué los archivos fuente. ¿Puede señalar exactamente dónde debería buscar para verificar esto?
user3141592
@mboehn En ese documento y el archivo al que hace referencia, no veo ninguna mención de lo que sucede con las versiones más nuevas de ntpd que admiten las directivas de grupo y servidor cuando se especifican ambas. Si estoy pasando por alto algo, por favor, ilumínalo. Gracias.
user3141592
Ver ntp / ntp_config.c: 3776. Ahí es donde ocurre la resolución de los pares desde el archivo de configuración. Después, mire ntp / ntp_peer.c: 554 para peer_config y ntp / ntp_peer.c: 730 para new_peer. Verá que ambos eventualmente se agregan a la tabla hash de pares al final de new_peer.
Vincent De Baere
Esto no ayuda a alguien que no sabe qué hace el servidor. ¿Puede explicar qué hace el servidor para que pueda comparar con su última oración de lo que hace el grupo?
bakalolo
8

La respuesta fue dada por mboehn. Para aclarar más: vea el documento que mencionó . Especialmente las últimas líneas:

El esquema de grupo se configura utilizando uno o más comandos de grupo con nombres DNS que indican el grupo del que extraer. El comando pool se puede usar más de una vez; Los servidores duplicados se detectan y descartan. En principio, es posible usar un archivo de configuración que contenga un grupo de una sola línea pool.ntp.org. El Proyecto de agrupación NTP ofrece instrucciones sobre el uso de la agrupación con el comando del servidor, que es subóptimo pero funciona con versiones anteriores de ntpd anteriores al comando de la agrupación. Con ntpd reciente, considere reemplazar los comandos de varios servidores en su ejemplo con un solo comando de grupo

Mi config es:

# Specify one or more NTP servers.
pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
pool 3.pool.ntp.org iburst

# Provide your current local time as a default should you temporarly lose Internet connectivity
server 127.127.1.0
fudge 127.127.1.0 stratum 10

Ahora tengo varios servidores ntp cerca de mi ubicación geográfica (Países Bajos) cuando verifico

$ ntpq -4np

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.pool.ntp.org  .POOL.          16 p    -   64    0    0.000    0.000   0.000
 127.127.1.0     .LOCL.          10 l    -   64    0    0.000    0.000   0.000
-85.255.214.66   193.190.230.66   2 u    5   64  177    6.937    1.588   1.645
-5.39.184.5      91.148.192.49    3 u   64   64   77    8.907    1.197   1.635
-91.198.87.229   193.79.237.14    2 u    5   64  177    8.447   -0.042   0.894
+37.34.57.151    193.79.237.14    2 u    1   64  177    7.463    0.168   0.297
*91.198.87.118   192.87.110.2     2 u    2   64  177    8.593    0.070   0.384
+88.159.1.197    80.94.65.10      2 u    2   64  177   10.497    0.454   0.213
+213.154.236.182 213.136.0.252    2 u   67   64   77    8.793    0.455   2.391
#178.21.23.127   91.121.157.10    3 u   66   64   77    9.129   -0.911   1.541
#213.109.127.195 193.79.237.14    2 u   66   64   77   11.766   -7.330   1.501
+213.154.229.24  80.50.231.226    2 u    4   64  177    8.496    0.121   0.538
-217.77.132.1    213.136.0.252    2 u    2   64  177    7.026   -0.782   1.253
#87.253.148.92   195.13.1.153     3 u    4   64  177    7.338   -3.859   0.964
-94.228.220.14   193.67.79.202    2 u    -   64  177    8.347    2.797   1.019
Woftor
fuente
1

Para que NTP solicite correctamente un grupo de servidores de tiempo y haga uso de la disponibilidad de servidores de tiempo en cualquier escenario de conmutación por error, ntp.confdebe configurarse como tal:

  • declarar el nombre de dominio del grupo con un poolcomando (y no server)

  • permitir que el grupo movilice una asociación (es decir, agregue una línea " restrict source..." que no incluya la nopeerdirectiva)

drgnfr
fuente