Avoir l'heure exacte sur tous vos systèmes est aussi important que d'avoir une stratégie solide de la sécurité du réseau (ce qui est bien plus qu'utiliser des pare-feu). C'est un des éléments essentiels d'une administration système basée sur de bonnes pratiques qui mène à des systèmes bien organisés et sûrs. Une heure précise est particulièrement nécessaire lorsqu'on travaille avec des applications distribuées, des services web ou des outils distribués de surveillance réseau.
Nous ne décrirons pas ici le protocole, mais comment cette magnifique invention, ajoutée à la présence envahissante d'internet, peut nous être utile. Vous pouvez en apprendre plus sur www.ntp.org.
Une fois le système configuré, NTP arrivera à garder l'heure exacte en ne faisant que de très petits ajustements pour ne pas perturber les applications en cours d'exécution.
L'heure exacte peut être obtenue en utilisant des appareils basés sur la fréquence électronique des atomes ou des cyclotrons. Il existe aussi une méthode basée sur le système de satellites GPS. La première est plus fiable, mais la seconde n'est pas si mauvaise. Les deux nécessitent un matériel très spécifique et très cher, mais leurs propriétaires (en général des universités ou des laboratoires de recherche) les connectent à des ordinateurs qui font tourner un serveur NTP qui sont connectés à internet et qui vous laissent y accéder gratuitement. Et c'est grâce à eux que nous synchroniserons nos systèmes.
Vous aurez besoin de :
Une connexion directe ou indirecte (à travers un pare-feu) à internet.
Choisir des serveurs NTP. Vous pouvez utiliser le serveur public pool.ntp.org ou en choisir dans la deuxième strate de serveurs de temps publics sur le site web de NTP. Si vous n'avez pas d'accès à internet, votre administrateur WAN (ce doit être un type intelligent) peut probablement vous donner des adresses internes.
Avoir le logiciel NTP installé sur tous les systèmes que vous voulez synchroniser. Vous pouvez trouver les RPM sur les cédéroms de votre distribution Linux favorite ou faire une recherche sur http://rpmfind.net/.
Voici un exemple d'une bonne architecture :
Si vous avez plusieurs machines à synchroniser, ne les faites pas toutes accéder aux serveurs NTP externes que vous avez choisis. Seuls deux de vos serveurs doivent accéder aux serveurs NTP externes. Les autres machines se synchroniseront sur ces deux dernières. Nous les appellerons serveurs relais.
Vos serveurs relais peuvent être n'importe lesquelles de vos machines déjà disponibles sur votre réseau. NTP consomme très peu de mémoire et de processeur. Vous n'avez pas besoin d'une machine dédiée à cette fonction.
Astuce | |
---|---|
Créer des alias pour les noms d'hôtes de vos serveurs relais locaux est une bonne idée. Vous pouvez définir par exemple ntp1.mon-domaine.fr et ntp2.mon-domaine.fr. Puis n'utilisez que ces noms en configurant les machines clientes. De cette façon, vous pouvez déplacer la fonctionnalité NTP vers un nouveau serveur relais (avec un adresse IP et un nom d'hôte différents) sans avoir à reconfigurer les clients. Demandez à votre administrateur DNS de créer ces alias. |
Éditez /etc/ntp.conf
et ajoutez les serveurs distants que vous avez choisis :
Exemple 5. Fichier /etc/ntp.conf
des machines relais
server ntp.cnrs.fr # Un serveur de strate 1 de cnrs.fr server autre-ntp.gouv.fr # Un serveur de strate 2 de gouv.fr
De nouveau, vous pouvez utiliser le serveur public pool.ntp.org ou obtenir une liste de serveurs de temps publics sur le site web de NTP.
Éditez /etc/ntp.conf
et ajoutez vos serveurs relais avec un nom standard :
Si votre machine a une heure UTC différente de plusieurs minutes par rapport aux serveurs NTP, NTP ne fonctionnera pas. Dans ce cas, vous devez d'abord faire un synchronisation complète. Je vous recommande de le faire en dehors des heures de production. Vous n'avez besoin de le faire que lors de l'initialisation de votre configuration NTP, jamais plus après :
Exemple 7. Première synchronisation
bash#
ntpdate autre-ntp.gouv.fr 24 Mar 18:16:36 ntpdate[10254]: step time server 200.100.20.10 offset -15.266188 secbash#
ntpdate autre-ntp.gouv.fr 24 Mar 18:16:43 ntpdate[10255]: adjust time server 200.100.20.10 offset -0.000267 sec
La dernière étape consiste à démarrer ou à redémarrer le démon NTP sur chaque machine :
bash#
service ntpd restart
Maintenant que tout est configuré, NTP va garder l'heure de votre machine synchronisée. Vous pouvez observer ce processus en utilisant la commande d'interrogation NTP (ntpq) :
Exemple 8. Un exemple d'interrogation de l'état de la synchronisation temporelle
bash#
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
-jj.cs.umb.edu gandalf.sigmaso 3 u 95 1024 377 31.681 -18.549 1.572
milo.mcs.anl.go ntp0.mcs.anl.go 2 u 818 1024 125 41.993 -15.264 1.392
-mailer1.psc.edu ntp1.usno.navy. 2 u 972 1024 377 38.206 19.589 28.028
-dr-zaius.cs.wis ben.cs.wisc.edu 2 u 502 1024 357 55.098 3.979 0.333
+taylor.cs.wisc. ben.cs.wisc.edu 2 u 454 1024 347 54.127 3.379 0.047
-ntp0.cis.strath harris.cc.strat 3 u 507 1024 377 115.274 -5.025 1.642
*clock.via.net .GPS. 1 u 426 1024 377 107.424 -3.018 2.534
ntp1.conectiv.c 0.0.0.0 16 u - 1024 0 0.000 0.000 4000.00
+bonehed.lcs.mit .GPS. 1 u 984 1024 377 25.126 0.131 30.939
-world.std.com 204.34.198.40 2 u 119 1024 377 24.229 -6.884 0.421
La signification de chaque colonne
Est le nom du serveur NTP distant. Si vous utilisez l'option -n
, vous verrez les adresses IP de ces serveurs à la place de leurs noms.
Indique d'où chaque serveur obtient son heure. Il peut s'agir d'un nom d'hôte ou de quelque chose comme .GPS., indiquant une source GPS (Global Positioning System).
La strate est un nombre allant de 1 à 16 qui indique la précision du serveur distant. 1 est le plus fiable, 16 signifie que le serveur n'est pas disponible. Votre strate sera égale au serveur le plus fiable plus 1.
L'intervalle (en secondes) entre deux requêtes de temps. La valeur sera comprise entre les valeurs minimales et maximales autorisées. Initialement la valeur sera petite pour permettre une synchronisation rapide. Une fois que les horloges sont synchrones, le temps entre deux requêtes augmentera pour diminuer le trafic réseau et la charge sur les serveurs de temps populaires.
C'est une représentation en base 8 d'un tableau de 8 bits représentant les 8 dernières fois que la machine a essayé d'atteindre le serveur. Le bit est mis à 1 si le serveur distant a pu être atteint.
Le délai (en secondes) nécessaire pour recevoir une réponse à une demande de "quelle heure est-il ?".
La valeur la plus importante. Le décalage de temps entre le serveur local et le serveur distant. Pendant la synchronisation, le décalage diminue, indiquant que l'horloge locale devient plus précise.
Cette colonne indique la dispersion, qui est une mesure de la variance statistique du décalage pendant plusieurs paires de requête/réponse successives. Des valeurs faibles de la dispersion sont meilleures que des valeurs élevées. Plus elles sont faibles, plus la synchronisation temporelle sera précise.
Signification des signes devant les noms de serveur
Signifie que le service NTP local n'aime pas beaucoup ce serveur
Signifie que le service NTP local aime ce serveur
Marque un mauvais serveur
Indique le serveur préféré actuel
Si vous voulez toujours avoir le service NTP sur votre machine même si vous la redémarrez, faites ceci sur chaque machine :
bash#
chkconfig --level 2345 ntpd on
Cela garantira un démarrage automatique.
Si votre machine fonctionne longtemps sans redémarrage (des mois ou des années), vous remarquerez une importante différence entre la très imprécise horloge matérielle et l'heure système (maintenant très précise). Les distributions Linux modernes copient l'heure système dans l'horloge matérielle chaque fois que le système est arrêté en utilisant un mécanisme similaire à la commande setclock. De cette façon, au démarrage suivant, vous obtiendrez une date et une heure presque aussi précises que ce qu'elles étaient lors de l'arrêt de votre ordinateur.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:27