NTP (Network Time Protocol) est un protocole utilisé pour synchroniser l’heure de votre système en utilisant un serveur en ligne. Cet article explique comment l’installer et le configurer sur un système d’exploitation Linux.
1. Installation
Pour installer le service ntp, ouvrez un terminal en root.
Sous Ubuntu:
sudo apt-get install ntp |
2. Utilisation
La configuration de ntp se trouve généralement dans le fichier /etc/ntp.conf. On peut y ajouter de nouveaux serveurs de temps, en ajoutant une ligne similaire à celle-ci par exemple :
server 0.fedora.pool.ntp.org dynamic |
Démarrez ensuite le service avec cette commande afin de synchroniser la date et l’heure (Attention, il faut plusieurs minutes avant que l’heure soit synchronisée) :
/etc/init.d/ntpd start |
On pourra ensuite vérifier que l’heure est correcte avec la commande “date”:
[sm@web1 ~]# date Wed May 15 07:21:15 UTC 2013 [sm@web1 ~]# |
Note : en cas de problème, on pourra vérifier le bon fonctionnement avec la commande ntpstat qui donnera des informations sur le statut du service ntp :
[sm@web1 ~]# ntpstat synchronised to NTP server (213.161.194.93) at stratum 4 time correct to within 562 ms polling server every 64 s |
A quoi ça sert ?
Dans notre cas nous avons des sites qui hébergent du contenu avec des urls qui expirent au bout d’un certainstemps.
La création de ces urls à durée de vie comptée est faite depuis le serveur web, le contenu se trouvant sur d’autres serveurs.
ntp dans ce cas nous assure que tous les serveurs seront calés sur la même heure, ce qui évite de générer des urls déjà expirées si un des serveurs de contenu n’était pas à l’heure.
Ca évite aussi qu’un tar xf réponde que l’archive vient du futur. Je n’ai d’ailleurs jamais trouvé d’option pour contourner ça et quand on n’administre pas la machine et bien il n’y a plus qu’à attendre.
Je viens de l’installer sur Debian Squeeze mais bizarrement ntpstat n’existe pas, alors qu’un service ntp status fonctionne et renvoie : “NTP server is running”.
Voire même plus, en fonction de l’écart qu’il y a entre l’heure actuellement sur le serveur et l’heure du serveur NTP.
Si j’ai bien compris (ce qui est loin d’être certain), ntpd va “accélérer” ou “ralentir” l’horloge de l’OS jusqu’à être synchronisé. Ceci afin d’éviter des incohérences temporelles.
Mais donc, si logiquement, si l’écart est d’une heure, il faudra au moins un peu plus d’une heure pour synchroniser.
Et d’expérience, souvent bien plus.
ntpq -p
si ntpstat a été oublié dans le paquet
garder le serveur a la bonne date est indispensable pour beaucoup de méthode d authentification (oauth entre autre)