Synchroniser une horloge système par HTTP
Pour synchroniser une horloge système, on utilise habituellement le protocole NTP. Celui-ci permet de communiquer avec des serveurs de temps sur le port 123. Cela fonctionne très bien, et c'est tout ce dont on devrait avoir besoin. Néanmoins, si le port 123 est bloqué par un pare-feu et qu'aucun serveur de temps n'est présent sur le réseau, l'opération se complique.
Ou pas. htpdate est un logiciel libre qui permet de synchroniser l'horloge système à l'heure retournée par n'importe quel serveur web, via les entêtes HTTP. Par le port 80, donc, qui a beaucoup moins de chance d'être filtré par un pare-feu. Cet article présente l'installation et l'utilisation de htpdate sur une distribution Debian GNU/Linux.
Informations techniques
Nom du programme : htpdate
Version utilisée : 1.1.3
Licences : GNU GPL v2+
Auteur : Eddy Vervest
Site web de l'auteur : http://www.vervest.org
Site web du programme : http://www.vervest.org/htp
Distribution utilisée : Debian GNU/Linux 9.5 « Stretch »
Installation de htpdate
L'installation du programme est facilitée par sa présence dans les dépôts officiels. Les étapes à suivre sont énoncées ci-dessous.
Se connecter en tant que super-utilisateur :
su -
Installer htpdate :
apt install htpdate
Utilisation de htpdate
L'utilisation du programme est assez simple. Il suffit de spécifier l'adresse d'un serveur web pour savoir si une correction horaire est nécessaire :
htpdate www.debian.org
L'option -d permet d'obtenir plus d'informations, comme l'heure retournée par le serveur web, le décalage avec l'horloge système et quelques autres données statistiques :
htpdate -d www.debian.org
Afin d'éviter une réponse erronée ou l'inaccessibilité temporaire d'un serveur web, il est possible d'indiquer plusieurs sources à interroger :
htpdate -d www.debian.org www.gnu.org www.linux.org
L'option -b permet d'interroger plusieurs fois les mêmes serveurs afin d'augmenter la précision, qui est alors généralement inférieure à la demi-seconde :
htpdate -d -b www.debian.org www.gnu.org www.linux.org
Enfin, l'option -s permet de synchroniser l'horloge système au résultat obtenu :
htpdate -d -b -s www.debian.org www.gnu.org www.linux.org
Service automatique
Les commandes indiquées ci-dessus sont utiles pour comprendre le mode de fonctionnement du programme ou pour un usage ponctuel. À l'installation du paquet, un service système chargé d'exécuter le programme comme démon dès le démarrage de l'ordinateur a été lancé. Il n'y a donc en réalité rien de plus à faire, htpdate travaille déjà pour nous !
Article sous licence Creative Commons BY-SA 3.0 France.