J'ai un problème étrange avec l'un de mes serveurs. ntpd
et ntpdate
ne fonctionnent pas, mais le débogage ne montre aucune erreur. Au début, je pensais qu'un pare-feu local ou réseau bloquait le port UDP 123, mais ce n'est pas le cas - ce serveur peut communiquer le port UDP 123 (le protocole ntp) à Internet et obtenir des réponses.
Permettez-moi de démontrer le problème.
date -s "30 DEC 2012 02:30:00"
- fonctionne, donc je peux régler l'horloge avec succès sans erreur.
ntpq -pn pool.ntp.org
- fonctionne, j'obtiens des données horaires détaillées du serveur de temps et prouve que les paquets UDP fonctionnent.
ntpdate -d pool.ntp.org
- le mode débogage fonctionne, affiche une tonne de données de débogage et affiche le décalage horaire actuel:
30 Dec 02:38:56 ntpdate[19267]: step time server 208.97.140.69 offset 228.234554 sec
Tout semble normal, jusqu'à ce que:
ntpdate pool.ntp.org
- après une pause de 4,7 secondes, il renvoie:
30 Dec 02:41:29 ntpdate[19274]: no server suitable for synchronization found
Problème similaire en cours d'exécution ntpd
, il ne met pas à jour l'horloge.
Après le démarrage de ntpd, ntpq -pn
tous les refid sont bloqués pour toujours, .INIT.
ce qui signifie qu'ils ne peuvent pas se synchroniser.
/ var / lib / ntp / drift est le paramètre driftfile dans ntp.conf, qui est chmod 644 et appartient à ntp: ntp, comme tous mes autres systèmes.
J'ai essayé une douzaine d'autres serveurs de temps ntp, désactivé le pare-feu iptables et confirmé que le centre de données ne filtre pas le trafic udp. Des idées ce qui empêche ntpd et ntpdate de synchroniser mon horloge?
Il s'agit de CentOS 6.3 x64 sur un serveur dédié avec processeur Intel.
Réponses:
ntpdate
(etntpd
) refusera de régler (facilement) l'heure si le décalage est trop élevé. Les deux applications essaieront d' ajuster lentement votre temps, afin de ne pas confondre votre système ou les applications qui ne gèrent pas très bien les sauts de temps importants.Essayez
ntpdate -b
plutôt. Il fixera l'heure, aussi déraisonnable que cela puisse paraître.Vous devrez peut-être également ajouter l'
-u
indicateur, ce qui empêcherantpdate
d'utiliser des ports privilégiés (<1024). Notez que cela-u
est impliqué par-d
! Et il semble que ça-d
fonctionne bien.Si l'ajout
-u
fait une différence entre le fonctionnement et le non-fonctionnement, alors vous avez un pare-feu sur le chemin qui cause ces problèmes.Et malheureusement, il ne semble pas possible d'
ntpd
utiliser un port illimité .la source
ntpdate -b pool.ntp.org
résultats:30 Dec 03:00:10 ntpdate[1341]: no server suitable for synchronization found
l'indicateur de débogage ntpdate qui-d
affichera les données de débogage mais pas réellement la synchronisation, et cela fonctionne:ntpdate -d pool.ntp.org
résultats:30 Dec 03:00:55 ntpdate[1343]: step time server 128.10.254.6 offset 228.030338 sec
-d
peut fonctionner alors que ce n'est pas le cas.ntpdate -b -u
travaux!!! Impressionnant. Deux questions. Le démon ntpd échoue toujours, comment puis-je faire en sorte de ne pas utiliser les ports privilégiés? Deuxième question, POURQUOI cette machine échoue-t-elle avec ntp sur des ports privilégiés alors que tous mes autres serveurs ne le font pas?Pouvez-vous fournir les sorties suivantes dans pastebin.
Synchronisez-vous depuis des serveurs de la couche 1 ou autre chose.
Aucun serveur adapté à la synchronisation ne signifie ce qu'il dit, à savoir que la communication entre le client et le serveur ne peut pas être établie.
Si nous ne pouvons pas trouver d'indices dans cet ensemble de données, tcpdump peut être nécessaire pour voir où le paquet est perdu.
Arrêtez et démarrez le démon ntpd et attendez que la portée atteigne 377, puis arrêtez le tcpdump. Cela devrait donner d'autres indices.
la source