FREE, la liberté n'a pas de prix ! Hébergement mutualisé chez OVH finistere meteo Get Firefox! mail
deco1 deco2
accueil calendier marque-pages memo mon_cv outils
 
Synchronisation d'horloge avec NTP
par Stéphane Le Caër
22 février 2006
NTP

Introduction


NTP (Network Time Protocol) est un protocole qui permet de synchroniser l'horloge des serveurs et postes de travail présent sur le réseau.

En France, un certains nombre de serveurs dits de strate 1 se synchronisent sur des signaux radio ou sur des horloges atomiques. Un serveur de strate 2 se synchronise sur un serveur de strate 1 et ainsi de suite.
Le postes de travail se synchronisent sur le serveur de temps se trouvant sur leur sous-réseau.

Ce document a pour but de présenter la mise en oeuvre de ce protocole.
 

Plan

 Installer un client NTP sous Debian GNU/Linux
    - Installer le client ntpdate
    - Synchroniser l'horloge
    - Planifier la synchronisation
    - Modifier le serveur par défaut
    - Désactiver ou activer la synchronisation lors de la phase de boot

 Configurer NTP sous Windows 2000
    - Configurer le Service Horloge pour démarrer en automatique
    - Définir le serveur sur lequel le PC va se synchroniser
    - Quelques commandes
    - Modification dans la base de registres

 Configurer NTP sous Windows XP
    - Configurer la synchronisation de l'heure
    - Quelques commandes

 Installer un serveur NTP sous Debian GNU/Linux
    - Installer le serveur
    - Configurer le serveur
    - Arrêter le serveur
    - Démarrer le serveur
    - Forcer la synchronisation
    - Quelques vérifications

 Liens

 Historique
 

Installer un client NTP sous Debian GNU/Linux

Cette procédure décrit comment installer et configurer le package ntpdate. Ce package installe le client ntpdate et les pages de manuel.

Ce client permet de synchroniser à la demande l'horloge avec un serveur NTP. Le package Debian installe un script permettant de lancer la synchronisation lors de la phase de boot : /etc/rcS.d/S51ntpdate

Sur un poste client, l'heure peut être maintenue en exécutant régulièrement cette commande à l'aide du cron.

Le serveur NTP par défaut est en fait un pool de serveurs nommé pool.ntp.org.

Pour plus d'informations, le package ntp-doc installe une documentation complète (en HTML) sur les paquets ntp et ntpdate dans le répertoire /usr/share/doc/ntp-doc.

Package utilisé : ntpdate


Procédure :
  Installer le client ntpdate.
# apt-get install ntpdate

  Synchroniser l'horloge.
# ntpdate pool.ntp.org
 23 Feb 01:34:10 ntpdate[3335]: step time server 192.83.249.31 offset 2.155783 sec

  Plannifier la synchronisation.

Une première méthode pour maintenir la machine à l'heure consiste s'appuyer sur le cron.
Ajouter par exemple un appel au client ntp toutes les 6 heures dans /etc/crontab.
# crontab -e
# m h dom mon dow command
0 */6 * * * root /etc/init.d/ntpdate start > /dev/null

La méthode recommandée, consiste à utiliser ntpd pour garder votre heure système synchronisée.

  Modifier le serveur par défaut.

Le serveur par défaut est définie dans le fichier /etc/default/ntpdate.
# servers to check. (Separate multiple servers with spaces.)
NTPSERVERS="pool.ntp.org"
#
# additional options for ntpdate
#NTPOPTIONS="-v"
NTPOPTIONS="-u"


 
Désactiver ou activer la synchronisation lors de la phase de boot.

Il est intéressant de pouvoir désactiver la synchronisation déclenchée lors de la phase de boot par le script /etc/rcS.d/S51ntpdate.

Ceci est notamment utile pour les portables non connectés en permanence sur le réseau. Ceci permet également d'accélérer le démarrage.
# update-rc.d -f ntpdate remove
 Removing any system startup links for /etc/init.d/ntp ...
   /etc/rcS.d/S51ntpdate

Ré-activer la synchronisation lors de la séquence de démarrage :
# update-rc.d ntpdate start 51 S .
 Adding system startup for /etc/init.d/ntpdate ...
   /etc/rcS.d/S51ntpdate -> ../init.d/ntpdate

Configurer NTP sous Windows 2000

Ce chapitre présente comment synchroniser l'horloge d'un poste de travail sous Windows 2000 avec un serveur de temps.

Le serveur que j'ai retenu est ma Freebox : mafreebox.free.fr.

Dans un premier temps j'avais retenu ntp.free.fr qui s'avère être un site perso de chez Free. Quasiment tous les serveurs Free offrent un accès NTP. Ces serveurs se synchronisent sur ns0.proxad.net.

D'autres serveurs de temps sont disponibles : pool.ntp.org, ntp.via.ecp.fr, ntp1.tuxfamily.net...(cf Liens).


Procédure :
  Configurer le Service Horloge pour démarrer en automatique.

Pour ce faire, ouvrir la console d'administration des Services : Démarrer/Exécuter

Saisir la ligne de commande suivante : %SystemRoot%\system32\services.msc /s
puis cliquer sur OK
Sélectionner le service Horloge, puis sélectionner dans le menu : Action/Propriétés

Sélectionner le Type de démarrage Automatique, puis cliquer sur Démarrer.

Fermer la fenêtre du service, puis la console d'administration.

Le service de temps est en fonction.
Plan
  Définir le serveur sur lequel le PC va se synchroniser.

Pour ce faire, ouvrir une Invite de commande : Démarrer/Exécuter

Saisir la ligne de commande suivante : cmd puis cliquer sur OK

Configurer le serveur de temps à l'aide de la commande net time, puis redémarrer le service :
C:\> net time /setsntp:mafreebox.free.fr
La commande s'est terminée correctement.

C:\> net stop w32time
Le service Horloge Windows s'arrête.
Le service Horloge Windows a été arrêté.

C:\> net start w32time
Le service Horloge Windows démarre.
Le service Horloge Windows a démarré.
Remarque: Pour se synchroniser avec plusieurs serveurs, saisir : net time /setsntp:"mafreebox.free.fr ntp.via.ecp.fr"

En regardant le journal d'évènement système, on peut voir ceci :
Type de l'événement : Informations
Source de l'événement : W32Time
Catégorie de l'événement : Aucun
ID de l'événement : 35
Date : 22/02/2006
Heure : 15:44:23
Utilisateur : N/A
Ordinateur : ZEUS
Description :
Le service de temps synchronise maintenant l'heure système avec la source de temps mafreebox.free.fr (ntp.m|0x0|192.168.0.3:123->212.27.63.113:123).

Le service Horloge est configuré
Plan
  Modification dans la base de registres.

Clé : [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]



Period (REG_SZ)

Utilisé pour définir la fréquence de synchronisation du service de temps.

* "DailySpecialSkew" = toutes les 45 minutes jusqu'à 1 succès, puis chaque jour
* "SpecialSkew" = toutes les 45 minutes jusqu'à 3 succès, puis une fois toutes les 8 heures [par défaut]
* "Weekly" = une fois par jour (7 jours)
* "Tridaily" = tous les 3 jours
* "BiDaily" = tous les deux jours
Plan
  Quelques commandes :

Vérifier sur quel(s) serveur(s) le service horloge se synchronique :
C:\> net time /querysntp
La valeur SNTP actuelle est : mafreebox.free.fr

La commande s'est terminée correctement.

Resynchroniser l'horloge en vidant toutes les statistiques d'erreur accumulées.
C:\> w32tm -s
RPC to local server returned 0x0

Afficher les paramètres de fuseau horaire actuels :
C:\> w32tm -tz
Time zone: Paris, Madrid Paris, Madrid (heure d'été)

Configurer NTP sous Windows XP

Sous Windows XP, la procédure à suivre pour configurer la synchronisation de l'heure est simplifiée.


Procédure :
  Configurer la synchronisation de l'heure :

Pour ce faire, double-cliquer sur l'horloge dans la barre des tâches.
Ou accéder au réglage de la date et de l'heure via le panneau de configuration.

Dans l'onglet Temps Internet :
- activer le service en activant la case à cocher,
- saisir le nom du serveur,
- cliquer sur Mettre à jour Le service Horloge est configuré
  Quelques commandes :

Vérifier sur quel(s) serveur(s) le service horloge se synchronique :
C:\> net time /querysntp
La valeur SNTP actuelle est : time.windows.com

La commande s'est terminée correctement.

Resynchroniser l'horloge en vidant toutes les statistiques d'erreur accumulées.
C:\> w32tm /resync
Envoyer la commande de resynchronisation à local computer...
La commande s'est terminée correctement.

Afficher les paramètres de fuseau horaire actuels :
C:\> w32tm /tz
zone d'horaire : actuel :TIME_ZONE_ID_STANDARD décalage: -60min (UTC=Heure locale + décalage)
[Standard name:"Paris, Madrid" Bias:0min Date:(Mois:10 Jour:5 JourSemaine:0)]
[Daylight Name:"Paris, Madrid" Bias:-60min Date:(Mois:3 Jour:5 JourSemaine:0)]
Plan

Installer un serveur NTP sous Debian GNU/Linux

Lorsque l'on dispose d'un serveur Linux et que le parc machine est important, il peut être judicieux de synchroniser toutes les machines avec ce serveur.

Le serveur doit posséder un démon ntpd.

Je vais décrire ici le mode opératoire pour installer ce service sur une distribution Debian GNU/Linux dans sa version Sarge.
Par défaut le package utilisé se synchronise sur le pool fr.pool.ntp.org.

Packages utilisés : ntp-simple, ntp-doc


Procédure :
Installer le serveur

# apt-get install ntp-simple ntp-doc
Configurer le serveur

La configuration se résume au fichier/etc/ntp.conf dont voici les informations essentielles :
vi /etc/ntp.conf
# /etc/ntp.conf, configuration for ntpd

# ntpd will use syslog() if logfile is not defined
logfile /var/log/ntpd

# pool.ntp.org maps to more than 100 low-stratum NTP servers.
# Your server will pick a different set every time it starts up.
#  *** Please consider joining the pool! ***
#  ***  <http://www.pool.ntp.org/#join>  ***
server fr.pool.ntp.org


logfile : chemin du fichier de log
server : serveur ntp de strate supérieur (plusieurs directives server peuvent être insérées)

Arrêter le serveur

# /etc/init.d/ntp-server stop
Stopping NTP server: ntpd.

Remarque: avec Red Hat la commande s'appel ntpd.

Démarrer le serveur

# /etc/init.d/ntp-server stop
Stopping NTP server: ntpd.

# /etc/init.d/ntp-server start
Starting NTP server: ntpd.

Forcer la synchronisation

Ceci doit être fait serveur arrêté.

# ntpdate fr.pool.ntp.org
 2 Mar 03:11:06 ntpdate[3508]: the NTP socket is in use, exiting

Quelques vérifications

# ntptrace
localhost.localdomain: stratum 16, offset 0.000000, synch distance 0.002400

# ntpq -c lpeers localhost
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ns1.pulsation.f 212.37.192.31    3 u   16   64  377   53.650   46.349   8.809
 LOCAL(0)        LOCAL(0)        13 l   18   64  377    0.000    0.000   0.004

# ntpq -c readvar localhost
assID=0 status=0664 leap_none, sync_ntp, 6 events, event_peer/strat_chg,
version="ntpd 4.2.0a@1:4.2.0a+stable-2-r Fri Aug 26 10:30:12 UTC 2005 (1)"?,
processor="i686", system="Linux/2.6.14", leap=00, stratum=3,
precision=-18, rootdelay=60.484, rootdispersion=37.438, peer=2636,
refid=80.242.32.5,
reftime=c7b0d157.cc1c6088  Thu, Mar  2 2006  3:05:11.797, poll=6,
clock=0xc7b0d186.f3587d6f, state=4, offset=3.834, frequency=17.937,
noise=1.866, jitter=5.075, stability=57.824


Plan

Liens



Historique

Version Date Commentaire
1.0 22/02/2006 Version initiale
1.1 02/03/2006  Configurer un serveur NTP sous Debian.
1.2 13/04/2006 Client Linux : utiliser ntpd pour garder votre heure système synchronisée.
1.3 06/11/2006 Correction sur methode pour forcer la mise à jour d'un serveur.
 
  Get FirefoxKompoZer
 
Création de la page :
Mise à jour :
 
22/02/2006
09/11/2010

 

Accueil     Calendrier     Marque-Pages     Mémento     Mon Curriculum     Outils
Ecrivez moi