Pool ntp.conf vs directives serveur

15

Je suis tombé sur un fichier ntp.conf qui spécifie les directives de pool:

# 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

Pourtant, il contient également des directives serveur dans le même fichier, que je connais mieux.

En lisant sur le pool, je vois qu'il est destiné à être utilisé à la place du serveur. Vous devez utiliser l'un ou l'autre.

Cependant, que se passe-t-il si ntp.conf a les deux? Un ensemble a-t-il priorité sur l'autre, ou sera-t-il tous utilisés?

C'est sur Ubuntu 14.04, ntpd est la version 4.2.6p5.

user3141592
la source

Réponses:

8

Pour autant que je puisse voir dans les sources, ntpdgère à la fois un membre d'un pool et des serveurs individuels de la même manière: il les ajoute à la liste des pairs.

Tous ces pairs sont utilisés par ntpd.

La magie du mécanisme de pool réside dans le DNS à tour de rôle: comme ntpdrésout le nom du pool via DNS, la réponse de la requête DNS est un nœud unique, qui peut être différent chaque fois qu'une résolution est demandée.

Vincent De Baere
la source
2
Ceci est mentionné dans le fichier discover.htmlqui, je crois, est fourni avec la documentation ntpd. Voir le bas du fichier
mboehn
@Vincent J'ai téléchargé des fichiers source. Pouvez-vous indiquer exactement où je dois chercher pour vérifier cela?
user3141592
@mboehn Dans ce document et le fichier auquel il fait référence, je ne vois aucune mention de ce qui se passe avec les nouvelles versions de ntpd qui prennent en charge les directives pool et serveur lorsque les deux sont spécifiées. Si j'oublie quelque chose, veuillez éclairer. Merci.
user3141592
Voir ntp / ntp_config.c: 3776. C'est là que la résolution des pairs du fichier de configuration se produit. Ensuite, regardez ntp / ntp_peer.c: 554 pour peer_config et ntp / ntp_peer.c: 730 pour new_peer. Vous verrez que les deux sont finalement ajoutés à la table de hachage homologue à la fin de new_peer.
Vincent De Baere
Cela n'aide pas quelqu'un qui ne sait pas ce que fait le serveur. Pouvez-vous expliquer ce que fait le serveur pour que je puisse comparer avec votre dernière phrase de ce que fait le pool.
bakalolo
8

La réponse a été donnée par mboehn. Pour clarifier davantage: voir le document qu'il a mentionné . Surtout les dernières lignes:

Le schéma de pool est configuré à l'aide d'une ou plusieurs commandes de pool avec des noms DNS indiquant le pool à partir duquel puiser. La commande pool peut être utilisée plusieurs fois; les serveurs en double sont détectés et éliminés. En principe, il est possible d'utiliser un fichier de configuration contenant un pool de ligne unique pool.ntp.org. Le projet de pool NTP propose des instructions sur l'utilisation du pool avec la commande serveur, qui n'est pas optimale mais fonctionne avec les anciennes versions de ntpd antérieures à la commande pool. Avec ntpd récent, envisagez de remplacer les commandes de plusieurs serveurs dans leur exemple par une seule commande de pool

Ma config c'est:

# 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

J'ai maintenant plusieurs serveurs ntp près de ma position géographique (Pays-Bas) lorsque je vérifie

$ 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
la source
1

Pour que NTP sollicite correctement un pool de serveurs de temps et utilise la disponibilité des serveurs de temps dans n'importe quel scénario de basculement, ntp.confil convient de configurer comme suit :

  • déclarer le nom de domaine du pool avec une poolcommande (et non server)

  • permettre au pool de mobiliser une association (ie ajouter une ligne " restrict source..." qui n'inclut pas la nopeerdirective)

drgnfr
la source