Ubuntu NTP ne synchronise pas le service Timesyncd et les vérifications réseau
Votre zone est correcte, l'horloge matérielle fonctionne bien, mais l'heure varie toujours - une minute ce mois-ci, cinq le mois suivant. C’est la correction Internet qui échoue discrètement. Le client de synchronisation d'Ubuntu est systemd-timesyncd et il échoue de plusieurs manières seulement. Les voici, dans l'ordre.
✍️ Technical Anshu🐧 Ubuntu⏱️ 6 minute read
🎥 Regardez la vidéo complète - chaque correctif temporel d'Ubuntu présenté en direct, étape par étape
Ubuntu garde son horloge honnête en demandant des serveurs de temps sur Internet - c'est NTP. Le client intégré est systemd-timesyncd : délibérément simple, il demande à un serveur, règle ou accélère votre horloge pour qu'elle corresponde, et signale le succès sur une ligne de timedatectl : Horloge système synchronisée : oui. Lorsque cette ligne indique pas de démarrage après démarrage, l'une des trois choses suivantes est fausse : la synchronisation est désactivée, le service ne fonctionne pas ou le réseau consomme ses paquets. Chacun a un correctif différent, alors vérifiez dans l'ordre.
Terminal - a sync client that has never reached a server
Le nombre de paquets 0 et le serveur n/a signifient que timesyncd n'a pas effectué un seul échange. Le service fonctionne peut-être parfaitement, mais il ne peut tout simplement pas obtenir de réponse. Exemple de sortie.
1
Confirmez le symptôme en une seule commande
Exécutez timedatectl et lisez deux lignes : System clocksynchronized et NTP service
Service NTP : inactif signifie que la synchronisation est entièrement désactivée - passez à l'étape 2
Service NTP : actif mais synchronisé : non signifie qu'il essaie et échoue - passez à l'étape 3
Exécutez timedatectl timesync-status - un client sain nomme un serveur et affiche un nombre de paquets supérieur à zéro
Notez également la taille réelle de votre erreur avec date sur votre téléphone. Des minutes de dérive avec échec de synchronisation se trouvent sur cette page ; un saut de décalage de zone exact est la faute du double démarrage, pas celle-ci.
2
Activez la synchronisation - dans Paramètres ou par commande
Itinéraire GUI : Paramètres, puis Date et heure, activez Date et heure automatiques.
Itinéraire du terminal : timedatectl set-ntp true
Attendez une minute avec Internet connecté, puis exécutez à nouveau timedatectl
La ligne synchronisée devrait basculer sur oui et l'horloge devrait se corriger d'elle-même.
Si quelqu'un (ou une expérience passée) a désactivé cette option, rien d'autre n'est nécessaire sur cette page. Vous seriez surpris de voir à quelle fréquence c'est toute une histoire.
3
Vérifiez et redémarrez le service timesyncd
Consultez l'état du service : systemctl status systemd-timesyncd - vous souhaitez actif (en cours d'exécution)
S'il est arrêté ou en panne, redémarrez-le : sudo systemctl restart systemd-timesyncd
Donnez-lui quelques secondes, puis vérifiez timedatectl timesync-status pour un serveur nommé et un nombre de paquets croissant
Si le service ne continue pas à fonctionner, son journal récent explique pourquoi : journalctl -u systemd-timesyncd -n 30
Ne réinstallez rien pour l'instant : un service qui s'exécute mais ne se synchronise jamais pointe vers le réseau, ce qui constitue l'étape suivante.
4
Suspecter le réseau - NTP utilise le port UDP 123
La synchronisation temporelle ne voyage pas comme le trafic Web. Il utilise le port UDP 123 et certains réseaux le bloquent ou le brisent discrètement :
Les réseaux de bureau et de campus obligent parfois toutes les machines à utiliser un serveur de temps interne et à bloquer en dehors de NTP.
Certains routeurs et configurations de FAI gèrent mal UDP, de sorte que la requête part et aucune réponse ne revient
Le test honnête est un réseau différent : connectez-vous à un point d'accès téléphonique pendant deux minutes et revérifiez timedatectl.
S'il se synchronise instantanément sur le hotspot, votre Ubuntu est sain et votre réseau principal est en cause - sur les réseaux gérés, demandez à l'administrateur son serveur NTP interne au lieu de lutter contre le blocage.
Blâmer Ubuntu pour un port bloqué vous fait perdre exactement le temps que ce guide essaie de vous faire gagner.
5
Savoir ce qu'est timesyncd - et quand le remplacer
Soyez clair sur l'outil : systemd-timesyncd est un simple client, pas un démon NTP complet. Il ne donne pas de temps aux autres machines et son style de correction est basique - parfait pour les ordinateurs de bureau et les ordinateurs portables.
Pour une machine domestique normale, une fois la synchronisation effectuée, laissez-la tranquille
Pour les serveurs et les machines virtuelles toujours actives, l'outil le plus lourd est chrony : installez-le avec sudo apt install chrony et il remplace timesyncd comme moteur de synchronisation.
Chrony gère les gros sauts après la mise en veille ou la restauration d'un instantané avec plus de élégance et signale son état avec chronyc tracking
Ne faites pas fonctionner les deux en même temps : deux moteurs de synchronisation fonctionnant à la même horloge s'affrontent
Un mauvais outil pour le travail est une véritable cause de "la synchronisation ne s'installe jamais", en particulier sur les serveurs.
🕐 Limite honnête : timesyncd corrige l'horloge par étapes lorsque l'erreur est importante. Si vous voyez le temps sauter une fois après avoir corrigé la synchronisation, c'est la correction qui arrive - pas un nouveau défaut. Regardez la ligne synchronisée, pas le saut.
Regardez le guide vidéo complet
Regardez la vidéo pour les vérifications timesyncd en direct : état du service, état de synchronisation et test de point d'accès qui sépare une panne de PC d'une panne de réseau.
timedatectl indique que le service NTP est actif mais synchronisé non. Qu'est-ce que cela signifie?
Le client est en cours d'exécution et demande, mais aucun serveur de temps n'a encore répondu avec succès - ou pas du tout. Redémarrez systemd-timesyncd une fois, puis testez sur un autre réseau tel qu'un point d'accès téléphonique. La synchronisation prouve que le réseau bloquait le port UDP 123.
Le réseau de mon bureau se bloque en dehors de NTP. Puis-je quand même synchroniser ?
Oui - pointez plutôt la machine vers le serveur de temps interne de l'organisation, ce pour quoi le blocage est généralement conçu. Demandez son adresse à votre administrateur réseau. Sur votre propre réseau domestique, un tel blocage ne devrait pas exister ; si la synchronisation échoue là aussi, vérifiez le routeur.
Dois-je remplacer timesyncd par chrony sur mon ordinateur portable ?
Ce n’est généralement pas nécessaire. Timesyncd est suffisant pour un ordinateur de bureau ou un ordinateur portable qui se met en veille et se réveille sur les réseaux normaux. Chrony gagne sa place sur les serveurs, les machines virtuelles et les machines qui se réveillent après une longue veille avec de gros sauts d'horloge. Exécuter les deux ensemble est la seule chose à éviter.
Ce guide est basé sur la vidéo technique Anshu Ubuntu Time Fix - bloqué à n'importe quelle étape, posez la question dans les commentaires vidéo et vous obtiendrez une réponse.