Linux:NTP Network Time Protocol
NTP est un protocole permettant de synchroniser l'horloge du système avec d'autres serveurs et de permettre à d'autres machines de se synchoniser sur votre serveur.
Pour le serveur NTP
Pour configurer ntpd il suffit de modifier le fichier /etc/ntp.conf
Ici on configure les serveurs sur lesquels on souhaite se synchroniser.
Vous pourrez trouver la liste des serveurs français sur cette page
Il est à noter que les serveurs sont classés par stratums.
Plus le serveur est précis plus son stratum est faible (jusque 1).
Les serveurs de stratum 1 ne sont pas à utiliser pour les particuliers car peu nombreux et très précis (horloges atomiques).
Les particuliers sont de stratum 3. Ils doivent se synchroniser sur des serveurs de niveau 2.
Il est conseillé de se synchroniser sur des serveurs de localisation différente en cas de non disponibilité.
Le nombre de serveur à utiliser est de 3 pour des raisons de fiabilité.
Il est préférable d'utiliser les alias plutôt que les adresses IP en cas de changement d'adresse.
Enfin, il est souhaitable de prévenir l'administrateur des serveurs NTP qu'on utilise son serveur.
server ntp.univ-lyon1.fr prefer # serveur utilisé en priorité server ntp.imag.fr server ntp.sophia.cnrs.fr
Le fichier drift permet au daemon de stocker des informations qu'il réutilise en cas de redémarrage.
Le mettre dans un dossier /etc/ntp par exemple, où ce dossier peut-être accessible par ntpd.
driftfile /etc/ntp/drift
Par défaut, on ne permet pas l'accès au serveur ntp.
restrict default notrust nomodify
Ensuite, on autorise les machines du réseau local à se synchroniser mais pas à modifier le serveur.
Puis on autorise la machine en elle-même ainsi que les serveurs souhaités au début.
restrict 192.168.100.0 mask 255.255.255.0 nomodify restrict 192.168.100.1 restrict 127.0.0.1 restrict ntp.univ-lyon1.fr restrict ntp.imag.fr restrict ntp.sophia.cnrs.fr
Pour voir l'état de votre daemon ntp, utiliser la command ntpdc :
puis utiliser l'option sysinfo pour voir l'état de votre serveur ntp.
Vous pouvez voir le niveau de stratum et sur quel serveur il est synchronisé.
Enfin pour quitter, taper : quit
Pour les clients NTP
Pour synchroniser un deuxième serveur (ou client) linux sans avoir de daemon permanent, la ligne suivante peut être ajoutée au cron :
00 02 * * * /usr/sbin/ntptimeset -s -l -S 1
02h00 du matin pour éviter de le faire deux fois genre à 00h00 on remet l'heure à 23h59...
-S 1 signifie qu'un seul serveur est nécessaire.
Dans ce cas, le fichier ntp.conf contiendra uniquement l'adresse du serveur ntp du réseau local.
Ainsi on peut avoir une machine de référence se synchronisant sur 3 serveurs d'Internet et ajuster les autres serveurs du réseau par la commande du cron.
Pour un PC sous windows la commande net time \\SERVEUR /SET /YES dans le script de login ajustera l'heure du PC sous windows à chaque login en utilisant votre serveur ntp local en supposant que celui-ci est également serveur samba.
Sous Windows XP il est possible de mettre le nom du serveur ntp local dans le champs Serveur de l'onglet "Temps Internet" des propriétés de date et heure du panneau de configuration.

