Accueil arrow Informatique arrow Linux arrow Utilisation et configuration NTP (Linux-Debian)
Utilisation et configuration NTP (Linux-Debian)
Écrit par majordom   
29-06-2009

Pour mettre à l"heure des machines Linux, il est important de connaitre les différentes possibilité d'utilisation du protocole NTP.

 Les informations principales du protocole NTP sont disponible sur le site www.ntp.org

Dans cet article, j'aborderai le cas des machines clientes et des machines serveurs.

1. Clients "bureautique"

Pour les stations de travail qui sont souvent redémarrées, il suffit d'installer le programme ntpdate. Ainsi à chaque redémarrage, la machine se synchronisera avec les serveurs renseignés dans le fichier /etc/default/ntpdate.

2. Clients "serveur"

 Les serveurs eux ne sont que très rarement redémarrés, la solution ci-dessus ne peut donc pas s'appliquer.

Principalement, il y a donc 2 possibilités :

  • l'utilisation de la commande ntpdate dans un cron
  • l'installation du serveur ntp que l'on configurera en mode "client"

a. La solution la plus simple et  très utilisée est donc de lancer dans un cron la commande ntpdate. Cette solution n'est tout de même pas à conseiller car le serveur NTP est fait pour ça et utilise des calculs algorithmique très compliqués pour ne pas surcharger les serveurs NTP des strates élévées.

b. L'autre façon de procéder consiste à installer le serveur NTP (apt-get install ntp) et à la configurer de sorte qu'il se synchronise avec un des serveurs notés dans le fichier ntp.conf.

Vous trouverez ci-dessous un ntp.conf très simple :

server ntplocal.example.com prefer 
server timeserver.example.org 
server ntp2a.example.net  
driftfile /var/db/ntp.drift

Plus il y a de ligne server nom.d'un.serveurNTP.com, mieux c'est...

3. Créer un serveur NTP

C'est la même chose que pour un serveur "client". En effet le fichier de configuration ci-dessus convient très bien pour un serveur NTP. Dans ce cas le serveur se synchronise avec les serveurs de strates supérieures puis donne l"heure à tout client connecté sur celui-ci.

4. Les différents paramètres du fichier ntp.conf

De nombreux paramêtres permettent de régler finement notre serveur NTP.

  • l'option restrict permet de restreindre l'accès du serveur ntp à des machines, à un réseau ou bien seulement à lui même.

 

 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Seulement les machines du réseau 192.168.1.0 peuvent se synchroniser

restrict default ignore

Cette ligne interdit à tout client de se connecter au serveur NTP

  • l'option fudge permet de forcer le niveau de stratum du serveur NTP

 fudge 192.168.1.10 stratum 10

l'option driftfile /var/db/ntp.drift stocke la dérive moyenne de la machine par rapport aux serveurs

 

Vous trouverez la liste complète des options dans le man 

 

5. Vérifier la synchronisation de la machine

La commande ci-dessous permet de savoir avec quel serveur la machine se synchronise, ainsi que son serveur préféré, noté avec une étoile.

 # ntpq -p


     remote           refid      st t     when poll reach   delay   offset     jitter
===========================================================
*dns.univ-lyon1. .INIT.          16 u   55   64    0    0.000    0.000   0.000
imag.imag.fr    .INIT.          16 u   57   64    0    0.000    0.000   0.000
soleil.uvsq.fr  .INIT.          16 u   59   64    0    0.000    0.000   0.000
ntp1.laas.fr    .INIT.          16 u   56   64    0    0.000    0.000   0.000
ntp.unilim.fr   .INIT.          16 u   54   64    0    0.000    0.000   0.000

 

6. Cas d'une horloge de référence dans un réseau isolé (sans horloge de référence)

Il s'agit de régler l'heure du serveur NTP sur l'heure de son horloge interne. Evidemment, c'est fortement déconseillé ! Les horloges de bios sont tellement de mauvaise qualité qu'il ne faut pas longtemps pour avoir 1 secondes décalage.

Néamoins dans certain cas, il peut être interessant de voir comment ça marche.

On va donc supprimer dans le ntp.conf tout ce qui concerne les serveurs de strates supérieures vers lequel le serveur devait se synchroniser. On remplace ensuite ces lignes par 3 lignes :

server 127.127.1.1 # LCL, local clock
fudge  127.127.1.1 stratum 12 # increase stratum

server adresse_ip_du_serveur

 
< Précédent   Suivant >