Porneia delights

NTP, Network Time Protocole, est comme son nom l'indique, un protocole qui permet (entre autres) de gérer l'heure de vos machines via le réseau. On peut ne pas prêter attention à cela, cependant c'est un point très important d'autant plus que très facile à mettre en oeuvre (et léger en plus). Au risque de plagier tout ce qu'il existe déja à se sujet, je vais vous présenter rapidement les points importants de NTP.

L'architecture du réseau NTP est organisée en strates. On peut notamment distinguer grossièrement 3 niveau :

  1. des serveurs pilotés par des horloges atomiques, eecis.udel.edu/~mills/ntp/clock1a.html
  2. des serveurs publiques que l'on peut utiliser librement (certains demandent une authentification), eecis.udel.edu/~mills/ntp/clock2a.html
  3. des serveurs que l'on trouve chez des « particuliers »

La question qui se pose maintenant est « Mais comment se servir de NTP ? ». Cela est extêmement simple, tout abord il vous faut installer NTP (suivez pour cela une des méthodes proposées par votre distribution). Une fois installé, il vous faut le configurer à partir du fichier de configuration qui va bien (/etc/ntp.conf). La première chose à faire est de choisir un serveur qui vous fournira l'heure, vous pouvez entre autres indiquer le serveur « round robin » de ntp.org, pool.ntp.org, qui permet d'être redirigé vers un serveur disponible (cela de manière aléatoire). On peut aussi noter la présence d'autre « round robin » dont vous trouverez la liste ici : http://support.ntp.org/bin/view/Servers/NTPPoolServers.

Lancez maintenant ntp en démon :

$ ntpdate pool.ntp.org
$ /etc/init.d/ntpd start

La commande ntpdate permet de récupérer l'heure auprès d'un serveur choisis par pool.ntp.org (dans notre cas).

« Mais comment ça marche ? »

En fait, après quelques étapes que je n'aborderais pas ici, ntpd va comparer l'heure reçue à l'heure locale. Si la différence entre les deux n'est pas trop importante, alors ntpd va tenter de corriger cet écart. Seulement (en gros), pour éviter de trop pertuber les logiciels qui utilisent l'heure, cela va se faire de manière progressive. On peut donc noter que le temps de correction est assez long, d'autant plus si l'on veut un réglage fin de la dérive. Tout le principe de fonctionnement est expliqué sur eecis.udel.edu/~mills/ntp/html/index.html. NTP est à la fois un client et un serveur, le tout étant d'une légèreté surprenante, il n'est pas nécessaire de supprimer la fonctionnalité de serveur.

De la bonne à la mauvaise utilisation de ntpdate.

Pour ceux qui auraient la fâcheuse idée de mettre un coup de ntpdate dans une tâche cron, enlever tout de suite cela !!! Cette idée peut paraître logique, mais si des milliers de personnes font la même requête à la même heure sur le même serveur, alors imaginez bien ce qu'il va se passer. À ce propose, à cause de ce problème, il a même été question (encore d'actualité ?) de supprimer ntpdate de la suite ntp.


Cet article a été exhumé par illovæ avec l'aimable autorisation de son auteur.

Vous pouvez envoyer par mail vos commentaires et vos remarques à gapz [at] dud-t [point] org.

Ne plus louper le bus grâce à NTP ! (508 mots) de gapz est diffusé sous la licence WTFPLv2 et Beer-ware (Révision 42).

Vulnerant omnes, ultima necat. Sic transit hominis regnum.
Copyleft © 2007 — gapz