Ntp

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Service de synchronisation horaire (démon ntpd)
Port 123/udp
Protocole NTP (RFC 5905)
Fichier de conf /etc/ntp.conf
Voir aussi NTP chrony suite · Ntp.conf · Ntpdate · Ntpdc · Infos ntp · Hwclock · Date · Timeconfig

NTP (Network Time Protocol) est le protocole et le service historique de synchronisation de l'horloge système Linux sur des serveurs de temps de référence. Le démon classique ntpd peut atteindre une précision de l'ordre de la milliseconde sur Internet et descendre à quelques centaines de microsecondes sur un réseau local.

Sur les distributions récentes (RHEL/CentOS 8+ et dérivés), ntpd a été remplacé par défaut par chrony, une suite plus moderne — voir NTP chrony suite. Cette page couvre l'implémentation classique (ntpd/ntpdate).

Notion de stratum

Les serveurs NTP sont organisés en niveaux (stratum) selon leur distance à une source de temps de référence :

  • Stratum 0 — horloge de référence elle-même (horloge atomique, GPS...), non accessible sur le réseau.
  • Stratum 1 — serveur directement connecté à une source stratum 0.
  • Stratum 2 et plus — serveur synchronisé sur un stratum inférieur, avec une précision qui diminue à chaque niveau.

Installation et activation

Sur une distribution basée RHEL/CentOS (ancienne génération, ntpd classique) :

yum install ntp
systemctl enable ntpd
systemctl start ntpd

Les anciennes commandes chkconfig ntpd on et service ntpd start restent valables sur les systèmes SysV historiques, mais systemctl est la commande à privilégier sur tout système systemd actuel.

Mise à jour manuelle immédiate de l'heure (utile avant le premier démarrage du démon, ou en diagnostic) :

ntpdate fr.pool.ntp.org

Voir Ntpdate pour le détail de cette commande.

Configuration

Le fichier principal est /etc/ntp.conf — directives essentielles :

driftfile /var/lib/ntp/drift
server 0.centos.pool.ntp.org

Détail complet des directives (restrict, clés, contrôle d'accès...) : voir Ntp.conf.

Pour restreindre l'accès à des clients en aval (downstream), dans /etc/ntp.conf :

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Vérifier l'état de la synchronisation

ntpq -p

Affiche la liste des serveurs utilisés par le service (détail complet des colonnes : Infos ntp). Une fois la synchronisation stabilisée, chaque ligne est précédée d'un symbole :

  • * — le serveur actuellement utilisé comme référence ;
  • + — un candidat valide, retenu comme source potentielle ;
  • - — un serveur écarté par l'algorithme de sélection ;
  • (espace) — un serveur inaccessible ou trop éloigné.

La colonne reach est un registre à décalage sur 8 bits affiché en octal : la valeur 377 (octal, soit les 8 derniers sondages réussis) indique une synchronisation pleine et stable. Une valeur plus basse (ex. 37) signale des sondages manqués.

Autres commandes utiles :

ntpq -c rl
ntpq -c rv
ntpstat

ntpstat renvoie un code de sortie exploitable en script :

exit status 0 – horloge synchronisée
exit status 1 – horloge non synchronisée
exit status 2 – état indéterminé (ex. ntpd injoignable)

Tracer la chaîne de serveurs jusqu'à la source primaire (fourni par le paquet ntp) :

ntptrace

Forcer une resynchronisation

Avec le service arrêté (une resynchronisation à chaud avec un grand écart peut être rejetée par ntpd) :

service ntpd stop
ntpd -gq
service ntpd start

Fuseau horaire de la machine

tzselect
cat /etc/sysconfig/clock

Sur les systèmes historiques encore en /etc/sysconfig/clock :

ZONE="Europe/Paris"
UTC=false
ARC=false

Voir Timeconfig pour l'outil dédié (RHEL5/6, remplacé par timedatectl sur les systèmes systemd actuels).

Pour que le système utilise l'heure locale plutôt que l'UTC pour l'horloge matérielle (``/etc/adjtime``) — voir Hwclock pour la gestion complète de l'horloge matérielle.

Voir aussi

  • NTP chrony suite — suite de remplacement moderne (RHEL8+/systemd)
  • Ntp.conf — référence complète du fichier de configuration
  • Ntpdate — resynchronisation ponctuelle en ligne de commande
  • Ntpdc — administration interactive du démon
  • Infos ntp — lecture détaillée des sorties de diagnostic
  • Hwclock — horloge matérielle (RTC)
  • Date — commande date, manipulation de dates/timestamps
  • Timeconfig — configuration du fuseau horaire (legacy)