System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Mettre vos serveurs à la bonne heure avec NTP

ntp jpg

Simple à mettre en place et ça peut éviter quelques ennuis.

Nous utiliserons NTP pour resynchroniser la date et l’heure de ses postes ou serveurs linux. NTP (Network Time Protocol) est un protocole permettant de distribuer l’heure sur un réseau informatique.

Installez NTP (ici sous Ubuntu ou Debian) :

# sudo apt-get update

# sudo apt-get install ntp

Pour Redhat ou centos :

# yum install ntp


Généralement ce paquet est déjà présent.

Ajoutez les serveurs de synchronisations dans le fichier de configuration :

# sudo nano /etc/ntp.conf

server ntp.ubuntu.com prefer
server ntp2.jussieu.fr
server 0.fr.pool.ntp.org
server 0.europe.pool.ntp.org

NOTE : Le paramètre prefer indique le serveur à utiliser de préférence. A cette adresse http://www.pool.ntp.org/zone/europe vous trouverez des pool de serveurs. Le pool de serveurs ntp est un projet qui vise à fournir un service ntp fiable tout en répartissant

la charge du service sur de nombreux serveurs.

Une fois le fichier de configuration modifié et enregistré, redémarrez le service NTP :

# sudo /etc/init.d/ntp restart

Pour afficher la liste des serveurs que vous allez utiliser, faites :

# ntpq -p

remote           refid      st t when poll reach   delay   offset  jitter
===============================================
europium.canoni 193.79.237.14    2 u    2   64    1   28.682   -3.649   0.015
horlogegps.rese 10.3.128.189     2 u    1   64    1   29.002  -11.238   0.015
kontir.mkc.fr   213.251.128.249  2 u    -   64    1   76.501   18.866   0.015
dnscache-london .INIT.          16 u    -   64    0    0.000    0.000   0.015

Si vous voyez des INIT dans le deuxième colonne, patientez quelques secondes et retentez la même commande, pour avoir un tableau qui ressemble plus à :

# ntpq -p

remote           refid      st t when poll reach   delay   offset  jitter
===========================================
europium.canoni 193.79.237.14  2 u  15  64  1  28.682 -3.649 0.015
horlogegps.rese 10.3.128.189   2 u  14  64  1  29.002 -11.238 0.015
kontir.mkc.fr   213.251.128.249  2 u  13  64  1  76.501 18.866 0.015
dnscache-london 140.203.16.5   2 u  12  64  1  58.209  4.266 0.015

Au fur et à mesure que les secondes s’écoulent, vous verrez la valeur de la colonne reach (masque des contacts réussis en octal) augmenter.

Le serveur est considéré comme synchronisé lorsque la colonne reach atteint 177.

Une connexion de qualité et stable affiche 377.

Une fois la synchronisation faite des *, + et - apparaissent devant les noms de serveur. Le serveur précédé d’une astérisque (*) est celui utilisé, ceux précédés d’un moins (-) sont actuellement éliminés par l’algorithme de choix des serveurs, ceux précédés d’un plus (+) sont des candidats potentiels à la synchronisation et ceux précédés d’un espace sont soit inaccessibles, soit trop éloignés.

Lorsque “reach” atteind 37, on peut voir :

# ntpq -p

remote           refid      st t when poll reach   delay   offset  jitter
============================================
*europium.canoni 193.79.237.14 2 u 27 64 37 33.635 -16.370 16.534
+horlogegps.rese 10.3.128.189  2 u 24 64 37 27.022 -18.944 4.021
+kontir.mkc.fr   213.251.128.249 2 u 26 64 37 25.888 -10.889 15.999
dnscache-london 140.203.16.5   2 u 19 64 37 41.959 -8.026 8.284

Ici nous sommes synchronisé sur europium.canoni

Puis au bout de quelques minutes :

# ntpq -p

remote           refid      st t when poll reach   delay   offset  jitter
=============================================
*europium.canoni 193.79.237.14  2 u 54 64 377 28.682 -3.649   9.792
-horlogegps.rese 10.3.128.189    2 u 49 64 377 27.022 -18.944  10.433
+kontir.mkc.fr   213.251.128.249  2 u 47 64 377  22.891 -3.989  10.169
+dnscache-london 140.203.16.5   2 u 44  64 377 41.161 -2.517  11.304

La synchronisation n’est pas immédiate, elle prend quelques minutes, on peut obtenir des informations sur la synchronisation avec :

# ntptrace

localhost: stratum 16, offset 0.000000, synch distance 0.000015

Un peu plus tard, on est passé en strate 3 :

# ntptrace

localhost: stratum 3, offset -0.016370, synch distance 0.517773
91.189.94.4: timed out, nothing received
***Request timed out

ou

localhost: stratum 3, offset 0.021077, synch distance 0.620848
horlogegps.reseau.jussieu.fr: stratum 2, offset -0.000020, synch distance 0.100084
10.3.128.189: timed out, nothing received
***Request timed out

Vous pouvez vérifier que votre date et heure sont bien synchronisées en tapant :

# date

mardi 29 décembre 2009, 02:20:53 (UTC+0100)

Article de Kevin Campion Si vous aussi vous désirez proposer un article : gangan|at|system-linux|org

Par GanGan | le lundi, janvier 4 2010 00:00

Commentaires

1. Hinault Kévin

lundi, janvier 4 2010 | 10:41

Belle explication bien complète ! J'aime beaucoup.
Nouveau rédacteur en outre ? Bienvenue ;)

Juste une précision pour les feignasses : ntp sur debian est pré-configurée et se synchronise rapidement après l'installation donc un simple "aptitude install ntp ntpdate" suffit sur sid/squeeze et "aptitude install ntp ntpdate ntp-simple" sur etch/lenny.

2. steph

mardi, janvier 5 2010 | 18:36

Bonjour,
Merci pour les explications. Je note que vous avez un temps (UTC+0100). Sur mon serveur, je n'ai que UTC. Comment passer en +01.00 ?
Merci d'avance.

3. Kevin Campion

mercredi, janvier 6 2010 | 00:26

Bonjour,
Merci pour vos encouragements et merci à GanGan.
Pour avoir le bon UTC, pour la France par exemple, il suffit d'éditer le fichier /etc/timezone et d'y ajouter :

Europe/Paris