web-dev-qa-db-fra.com

Comparez NTPD et NTPDATE

Quels sont les avantages et les inconvénients entre ces deux façons de synchroniser votre serveur?

Il me semble que votre serveur ne dériverait probablement pas plus de 1 seconde tous les jours, donc NTPDate sur un crontab serait OK. Mais j'ai entendu dire que vous pouvez utiliser redondant NTP serveurs ici

http://www.pool.ntp.org/en/use.html

afin de maintenir le temps synchronisé en cas de défaillance.

Avez-vous des suggestions?

23
Unknown

L'algorithme NTP inclut des informations pour vous permettre de calculer et de réparer la dérive dans l'horloge de votre serveur. NTPD inclut la possibilité d'utiliser ceci pour conserver votre horloge en synchronisation et fonctionnera plus précisément qu'une horloge sur un ordinateur qui n'exécute pas NTPD. NTPD utilisera également plusieurs serveurs pour améliorer la précision.

nTPDATE ne conserve aucun état pour effectuer ce service pour vous afin de ne pas fournir le même type de précision. Cela vous permettra de lui fournir une liste de serveurs qu'il utilisera pour tenter de vous fournir un meilleur résultat, mais il ne s'agit pas de substituer aux algorithmes sophistiqués fournis dans NTPD qui suivent votre dérive de chacun des serveurs au fil du temps.

NTPDATE corrige le temps système instantanément, ce qui peut entraîner des problèmes avec certains logiciels (par exemple détruire une session qui semble maintenant vieux). NTPD corrige intentionnellement le temps système lentement, évitant ce problème. Vous pouvez ajouter le commutateur -g lors du démarrage de NTPD pour permettre à NTPD de faire la première mise à jour de la première mise à jour un gros qui est plus ou moins équivalent à l'exécution de NTPDate une fois avant de commencer NTPD, qui a été recommandée à la fois une pratique recommandée.

En ce qui concerne les préoccupations de sécurité, les serveurs NTP ne se connectent pas sur les connexions non initiées, ce qui signifie que votre pare-feu doit pouvoir dire que vous avez lancé la demande NTP et permettre le trafic de retour. Il ne devrait pas y avoir besoin de laisser des ports ouverts pour des connexions arbitraires afin d'obtenir NTPD de travailler.

De la page NTPDate (8) Man:

nTPDate peut être exécuté manuellement si nécessaire pour définir l'horloge hôte ou être exécuté à partir du script de démarrage hôte pour définir l'horloge au démarrage. Ceci est utile dans certains cas pour définir l'horloge initialement avant de commencer le démon NTPD NTP. Il est également possible d'exécuter NTTPDate à partir d'un script cron. Cependant, il est important de noter que NTPDate avec des scripts cron artificiels n'est pas substitué au démon NTP, qui utilise des algorithmes sophistiqués pour optimiser la précision et la fiabilité tout en minimisant les utilisations de ressources. Enfin, puisque NTPDate ne discipline pas la fréquence de l'horloge hôte, de même que NTPD, la précision utilisant NTPDate est limitée.

26
lambacck

nTPD est préféré sur NTPDate car vous obtenez une correction de temps lisse plutôt que de sauter dans votre horloge. Quel sens faites-vous de vos journaux quand il y a un temps en arrière, sautez-vous? NTPDate basculera également de manière transparente entre serveurs selon les besoins.

Quant à la nécessité de présenter des ports ouverts (comme mentionné par Kyle), les versions plus récentes de NTPD (par exemple 4.2.4 sur mon serveur Debian) peuvent être configurées pour diffuser/multidiffusion au réseau local, avec authentification cryptographique.

Edit: Voir aussi cette question .

8
pgs

J'ai entendu parler de problèmes liés à l'horloge sur des machines virtuelles en cours d'exécution de NTPD. J'ai également entendu parler de personnes de corriger ce problème en exécutant des emplois cron réguliers qui appellent NTPDate contre plusieurs des serveurs de piscine. Je n'ai pas eu ces problèmes, mais j'ai entendu parler d'eux plusieurs fois.

3
Matt Simmons

Sur un serveur où l'accès et le durcissement sont critiques, j'ai utilisé le raisonnement que XNTPD, la version de NTPD que je vous fallais, nécessitait un port UDP ouvert 123. Comme je préférais seulement avoir TCP 22 et 80 ouvert, j'ai utilisé NTTPDate. dans un crontab à la place. Je n'ai jamais entendu une bonne raison pour laquelle cela avait besoin de cela, ou pas celui que je me souviens.

L'un des inconvénients de l'utilisation d'un appel NTPDate de crontab'ed est qu'il ne peut pas gérer l'élégance de la correction de la dérive. NTPDate, IIRC, met à jour l'horloge dès qu'il peut dire que vous êtes hors de date - Les démons NTP sont généralement corrects. Ceci a l'avantage que vos journaux soient conservés sain d'esprit - vous pouvez imaginer, sur un serveur Web occupé, par exemple, que si le RTC avait dérivé quelques minutes, qui lisent les journaux Web le lendemain pourrait déduire que les personnes ont pu atteindre des URL sécurisées avant leur connexion, car les hits Web seraient en panne.

1
Kyle Hodgson

nTPDate est destiné aux mises à jour unique, si vous souhaitez que le temps soit synchronisé régulièrement, utilisez le service à cet effet, NTPD.

Il n'y a pas de raison convaincante de ne pas utiliser NTPD aussi loin que je peux dire

1
Rog

Voir Cette discussion Pour comprendre pourquoi "NTPDate" est toujours souhaité et utilisée.

Pour résumer: NTPD est lent en comparaison lors de la fabrication d'un réglage de temps massif, même avec l'option -g.

0
James

Vous n'avez pas besoin d'utiliser crontab, c'est ce que NTPD est pour.

Initialement, lorsque votre temps est sorti, une solution consiste simplement à arrêter NTPD, puis à courir ntpdate ntp.server.com Pour le récupérer en Sync, alors commencez NTP à nouveau.

Si vous avez un grand réseau, je voudrais probablement créer un couple de serveur NTP local et obtenir tous les hôtes pour les utiliser.

0
Xerxes