NTP fonctionne, l'horloge système n'est toujours pas à l'heure - qu'est-ce qui donne?

25

Un serveur Debian Stable (5.0.3) est en cours d'exécution ntpdet connecté à Internet. Pourtant, l'horloge système est erronée d'environ 5 minutes.

$ /etc/init.d/ntp status
NTP server is running..

Les parties pertinentes (je pense) de /etc/ntp.conf:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

Je sais que NTP n'apporte pas nécessairement l'heure à l'heure immédiatement. Cependant, combien d'heures ou de jours devez-vous attendre pour vous attendre à ce que NTP ait fait son travail et synchronisé l'horloge?

Suis-je en train de manquer un autre fichier de configuration ou une autre option, ou simplement de faire quelque chose de mal? Est-ce que ntp (au lieu de par exemple ntpdate ) est le bon outil pour cela? Existe-t-il un moyen rapide de vérifier si la configuration est correcte et si les serveurs NTP choisis renvoient l'heure correcte?

Edit : la sortie de ntpq -pest:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.nexellent.n .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-madrid .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 sinister.wzw.tu .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dnscache-frankf .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Edit 2 : La ntpdate -u 0.europe.pool.ntp.orgcommande Turns out ( suggérée par Brent ) revient

17 Dec 17:37:29 ntpdate[14195]: no server suitable for synchronization found

... même si sur d'autres machines cette commande fonctionne bien. Nous allons donc examiner les paramètres réseau / pare-feu pour ce serveur particulier (qui se trouve dans un réseau différent, accessible via VPN).

Résolution : le coupable n'était pas le pare-feu local sur notre serveur, mais les paramètres du pare-feu quelque part dans le réseau environnant. Nous avons donc demandé au fournisseur d'hébergement de serveurs d'autoriser NTP pour nos machines, et maintenant cela fonctionne très bien. Par exemple, ntpq -pretourne maintenant:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ns1.eunet.fi    192.36.144.23    2 u   10   64    1    1.043    0.258   0.001
 ns2.eunet.fi    62.142.10.44     2 u    9   64    1    0.671    0.135   0.001
 ns3.eunet.fi    62.142.10.44     2 u    8   64    1    0.750    0.277   0.001

(Nous avons également basculé sur les serveurs eunet.fi recommencés par la société d'hébergement, mais c'est à côté du point.) Les commandes dans la réponse de brent ont été utiles car elles m'ont fait comprendre que le problème était dans l'accès réseau aux serveurs NTP, pas dans la configuration NTP lui-même. Merci tout le monde!

Jonik
la source
1
Quelle est la sortie de 'ntpq -p'?
jscott

Réponses:

24

Arrêtez ntpd, exécutez ntpdate -u 0.europe.pool.ntp.org3 fois, démarrez ntpd, vérifiez ntpq -p, retard, décalage et gigue doivent être différents de zéro.

brent
la source
1
Et le champ «quand» devrait indiquer le temps écoulé depuis le dernier paquet reçu.
jscott
La commande ntpdate renvoie quelque chose comme "17 décembre 17:37:29 ntpdate [14195]: aucun serveur adapté à la synchronisation n'a été trouvé". Cependant, sur d'autres machines, la même commande donne quelque chose de significatif! Je commence à soupçonner que certains paramètres de pare-feu pour ce serveur particulier causent le problème ...
Jonik
Nous verrons demain si nous pouvons trier ces paramètres réseau / pare-feu. Je vais l'accepter pour l'instant, car le problème est probablement lié à ceux-ci. Merci de m'avoir pointé dans la bonne direction!
Jonik
3
La ntpdatecommande fonctionne et synchronise mon horloge, mais toutes les valeurs sont toujours 0après le redémarrage ntp. Pourquoi cela fonctionnerait-il si je le fais manuellement, mais sans l'utiliser ntpd? Je suis sur Debian BTW.
Mike
faire cela depuis ntpdate au lieu de corriger le problème avec ntp est assez inutile à long terme. et je ne saurais aucune raison de l'exécuter trois fois.
Florian Heigl
1

Si je devais deviner pourquoi et en supposant que vous avez une connectivité réseau et que vous pouvez voir votre hôte NTP sans problème, il se pourrait que vous ayez dérivé vers une grande valeur. Si la différence de temps est supérieure à X (Désolé, je ne me souviens pas de ce que X est à la légère), un avertissement sera imprimé et l'heure ne sera pas synchronisée. Vous pouvez vérifier vos messages syslog pour des cas de cela.

Si c'est le cas, arrêtez NTP, exécutez l'hôte ntpdate et redémarrez le NTPD, cela forcera une synchronisation temporelle, puis commencez à le garder synchronisé à l'avenir, si vous continuez à dériver autant, vous pouvez avoir un problème matériel.

Gary Steven
la source
Merci. Dans ce cas, le problème semble être que nous ne pouvons pas voir le serveur NTP sans problème - voir les commentaires de la réponse de brent: serverfault.com/questions/95342/…
Jonik
1

Les colonnes "portée" étant 0 suggère qu'il n'a pas été en mesure de parler aux serveurs - iirc, il obtient progressivement des bits décalés pour montrer comment les 8 dernières tentatives se sont déroulées (donc 377 est bon, 0 est mauvais).

araqnid
la source
Oui, c'est probablement le problème; voir les commentaires de cette réponse: serverfault.com/questions/95342/…
Jonik