Cette page décrit différentes méthodes pour maintenir votre ordinateur à l'heure. C'est utile pour les serveurs, mais n'est pas nécessaire (ou souhaité) pour des machines de bureau.
NTP est un protocole TCP/IP permettant de synchroniser les horloges à travers un réseau. De manière basique, un client demande l'heure actuelle à un serveur et l'utilise pour ajuster sa propre horloge.
Derrière cette description simple se cache une grande complexité ; il y a plusieurs niveaux de serveurs NTP, dans le premier niveau les serveurs NTP sont connectés à des horloges atomiques (souvent via le signal GPS) et les serveurs du deuxième et troisième niveau se répartissent la charge du traitement des requêtes à travers internet. C'est pourquoi le logiciel client est bien plus complexe que ce que vous pouvez penser. Il doit déterminer les délais de communication et ajuster l'horloge de manière à ne pas perturber tous les autres processus qui s'exécutent sur le serveur. Mais, heureusement, toute cette complexité n'est pas visible pour vous !
Ubuntu dispose de deux méthodes pour mettre à jour automatiquement votre horloge : ntpdate et ntpd.
Ubuntu est livré en standard avec ntpdate et l'exécutera une première fois durant la séquence de démarrage pour régler l'horloge de la machine à l'aide du serveur de temps NTP d'Ubuntu. Toutefois, l'horloge d'un serveur pourra se désynchroniser considérablement entre deux redémarrages et il est donc judicieux de la remettre à l'heure de temps en temps. La façon la plus simple est de charger le démon cron d'exécuter le script ntpdate tous les jours. À l'aide de votre éditeur favori, en tant qu'administrateur, créez un fichier /etc/cron.daily/ntpdate
contenant :
ntpdate ntp.ubuntu.com
Le fichier /etc/cron.daily/ntpdate
doit également être exécutable.
sudo chmod 755 /etc/cron.daily/ntpdate
Ntpdate est un utilitaire un peu brut ; il peut uniquement ajuster l'horloge une fois par jour en faisant une grosse correction. Le démon NTP ntpd est beaucoup plus subtil. Il calcul la dérive de l'horloge de votre système et l'ajuste continuellement, aussi il n'y a pas de corrections importantes qui peuvent entraîner des journaux incohérents par exemple. Cela utilise un peu de puissance de traitement et de mémoire, mais pour un serveur moderne c'est négligeable.
Pour paramétrer ntpd :
sudo apt-get install ntp-simple
Dans les deux cas précédant, votre système utilisera par défaut le serveur NTP d'Ubuntu à l'adresse ntp.ubuntu.com
. C'est correct, mais vous pouvez vouloir utiliser plusieurs serveurs afin d'augmenter la précision et l'endurance du système et vous voulez peut-être utiliser des serveurs qui sont plus proche de chez vous. Pour faire cela avec ntpdate, changez le contenu de /etc/cron.daily/ntpdate
par :
ntpdate ntp.ubuntu.com pool.ntp.org
Et pour ntpd éditez /etc/ntp.conf
pour y inclure les lignes des serveurs supplémentaires :
server ntp.ubuntu.com server pool.ntp.org
Vous avez peut-être remarqué pool.ntp.org
dans l'exemple précédant. C'est une très bonne idée d'utiliser un serveur DNS à répartition de charge pour renvoyer un serveur NTP depuis un pool (groupe de serveurs), en répartissant la charge entre plusieurs serveurs différents. Encore mieux, il y a des pools pour différentes régions, par exemple, si vous habitez en France, alors vous pouvez utiliser fr.pool.ntp.org
au lieu de pool.ntp.org
. Regardez sur http://www.pool.ntp.org/ pour plus de détails.
Vous pouvez aussi rechercher sur Internet des serveurs NTP dans votre région, et les rajouter à votre configuration. Pour tester si un serveur fonctionne, saisissez uniquement sudo ntpdate ntp.nom.serveur
dans un terminal et regardez ce qui se passe.