STS SIO2 MISE EN PLACE D'UN SERVEUR DE TEMPS NTP ET CONFIGURATION DES CLIENTS LINUX ET WINDOWS A3.2.1 Installation et configuration d éléments d infrastructure C3.2.1.1 Installer et configurer un élément d interconnexion, un service, un serveur, un équipement terminal utilisateur 1- Heure matérielle et heure système Les ordinateurs possèdent une horloge matérielle est appelée, indifféremment, horloge ``BIOS'', horloge ``CMOS'', ou encore ``RTC'' (Real Time Clock). Celle-ci conserve la date et l'heure, même quand la machine est mise hors-tension. Lors du démarrage, Linux initialise sa propre ``horloge système'' avec l'heure stockée dans le RTC, auquel, normalement, il ne touche plus par la suite. Un ``timer'' incrémente ensuite régulièrement l'horloge système. L'heure système peut être affiché avec la commande date: Pour connaître votre heure système : date Pour modifier la date: date -s 01/19/2005 Pour modifier l'heure : date -s 18:08:30 Le format de la date à fournir peut prendre plusieurs formes, par exemple ``MMJJHHmmYYYY''. Par exemple, pour régler l'horloge sur le 15 septembre 2010 à 16h48 : date 091516482010 Date modifie également la date et l'heure de l'horloge matérielle. hwclock permet de manipuler séparément ou de synchroniser les horloges matérielle et système : Pour afficher l'heure matérielle (du BIOS) hwclock Pour régler l'horloge matérielle hwclock set date=''9/22/2010 10:33:13'' Pour règler l'horloge matérielle avec l'heure actuelle du système hwclock --systohc hwclock --hctosys Il n'est pas rare d'observer une décalage entre l'horloge système et l'heure exacte : une station Linux qui n'est pas rebootée pendant des mois peut voir son horloge système décalée de plusieurs minutes par rapport à l'horloge matérielle. Une cause possible est que certaines interruptions ``timer'' ne sont pas traitées. Lorsque vous travaillez avec des machines virtuelles, en particulier lorsque que vous les mettez en pause (vous sauvegardez l'état de la machine et la démarrez sans rebooter), de gros décalages peuvent apparaître. Toutefois, si la machine est connectée à un réseau où se trouve un serveur ntp (Network Time Protocol), on peut synchroniser régulièrement l'horloge système avec ce serveur pour conserver l'heure correcte. 1/5
L installation d un serveur NTP sur le réseau permet d avoir un parc machine à une heure commune (indispensable pour la lecture des logs, les tâches planifiées, les sauvegardes, etc...). 2- Principe On configure le client NTP pour aller demander à un serveur NTP l'heure de référence. Le client peut alors modifier sa date système en conséquence. Le serveur NTP ira lui même se synchroniser sur des serveurs de temps sur internet. (Un serveur NTP est donc aussi client) Les postes de travail et les serveurs de votre réseau iront ensuite se synchroniser sur ce serveur. NTP est un protocole basé sur UDP et utilise le port 123 3- Architecture Le réseau NTP est composé: de récepteurs récupérant l'heure de référence par exemple depuis une horloge atomique. de serveurs de temps; de clients récupérant l'heure de référence auprès des serveurs de temps. Tous ces systèmes sont organisés de façon hiérarchique, dont chaque couche ou niveau est appelé une strate. La strate 0 comprend des horloges de référence Les serveurs de starte 1 sont connectées aux serveurs de strate 0. Il existe environ 400 serveurs de strate 1 dans le monde. Les serveurs de strates 1 et certains de strates 2 ont des accès contrôlés. Si un serveur NTP se synchronise sur un serveur de strate n, il devient un serveur de strate n+1 La norme prévoit jusqu'à 16 strates, mais la plupart des clients se situent dans les strates 3 ou 4. La strate 16 est utilisée par les serveurs qui ne sont synchronisés à aucune source externe. Il existe plusieurs serveurs NTP disponibles sur internet. Vous pouvez utiliser comme serveurs de référence le cluster de serveurs NTP fr.pool.ntp.org qui met à disposition 4 serveurs de temps de strate 2. Vous vous assurez ainsi une disponibilité maximum des serveurs. Votre serveur ntp sera alors de strate 3. server 0.fr.pool.ntp.org server 1.fr.pool.ntp.org 2/5
server 2.fr.pool.ntp.org server 3.fr.pool.ntp.org NTP est un protocole basé sur UDP et utilise le port 123. 4- Installation Sur votre serveur: apt-get install ntp (apt-get update si necéssaire). 5- Configuration Editez le fichier /etc/ntp.conf: On indique les serveurs de référence sous la forme: server AdresseIp ou server NomServeur Des serveurs NTP français sont déjà enregistrés. Vous pouvez ajouter votre heure système comme source de temps lorsque aucune connexion extérieure n'est possible. La strate du serveur sera alors de 10 server 127.127.1.0 fudge 127.127.1.0 stratum 10 Synchronisation manuelle de votre serveur avant démarrage du service ntp : Si votre machine présente un décalage trop important avec les serveurs de temps, la synchronisation par ntp pourra poser problème. Pour cela, avant de démarrer votre service, synchronisez manuellement votre horloge système avec les serveurs de temps avec les commandes ntpdate ou ntpdate-debian Arrêtez votre service ntp : /etc/init.d/ntp stop Synchronisation manuelle. ntpdate ntp.ubuntu.com (par exemple) ou ntpdate-debian ntpdate-debian lit le fichier /etc/default/ntpdate,alors que la commande ntpdate, ne le 3/5
lit pas. Il faut systématiquement indiquer le nom du serveur. Le fichier /etc/default/ntpdate: Ici le serveur ntp.ubuntu.com sera utilisé par la commande ntpdate-debian Redémarrage du service ntp /etc/init.d/ntp start 5- Synchronisation des postes clients Clients Windows: En interface graphique : dans le panneau de configuration/date et heure On y configure une synchronisation automatique et on y effectue une synchronisation manuelle en cliquant sur «Mettre à jour» En ligne de commande (synchronisation manuelle ponctuelle) Client Linux : Installer le service ntp sur le client apt-get install ntp Synchronisation manuelle: Une synchronisation manuelle n'est possible que lorsque le service ntp est stoppé sur le poste client. Arrêter le service ntp /etc/init.d/ntp stop 4/5
Avec la commande ntpdate ntpdate @IP-SRV-NTP NOM-SRV-NTP Exemple : ntpdate 172.17.154.1 Avec la commande ntpdate-debian ntpdate-debian Elle lit le fichier /etc/default/ntpdate pour trouver son serveur ntp Editez le fichier /etc/default/ntpdate Pour utiliser votre serveur ntp, 2 solutions : demandez de ne pas utiliser /etc/ntp.conf (NTPDATE_USE_NTP_CONF=no) et indiquez l'adresse de votre serveur ntp dans /etc/default/ntpdate demandez d'utiliser /etc/ntp.conf (NTPDATE_USE_NTP_CONF=yes) et indiquez l'adresse de votre serveur ntp /etc/ntp.conf. Synchronisation automatique: Le service ntp ira lire le fichier /etc/ntp.conf pour trouver ses serveurs ntp Pour vérifier la dernière synchronisation: 6- Pour afficher la strate d'un poste ou d'un serveur Sur un poste client:# ntptrace localhost: stratum 16, offset 0.000000, synch distance 0.000000 La strate est de 16 Sur un serveur se synchronisant sur un serveur externe de strate 2 : La strate 16 avant la synchronisation, puis strate 3 (2+1) après la synchronisation sur le serveur de strate 2 5/5