EN FR

Problemes Daemon NTP

Depannage ntpd, chronyd et systemd-timesyncd

Identifier Votre Daemon NTP

D'abord, determinez quel daemon NTP votre systeme utilise :

# Verifier quel service NTP est actif root@server:~# systemctl list-units --type=service | grep -E "ntp|chrony|time" chronyd.service loaded active running NTP client/server systemd-timesyncd.service loaded active running Network Time Synchronization
DaemonFichier ConfigCommande Requete
ntpd (classique) /etc/ntp.conf ntpq -p
chronyd /etc/chrony/chrony.conf chronyc sources
systemd-timesyncd /etc/systemd/timesyncd.conf timedatectl timesync-status
W32Time (Windows) Registre / GPO w32tm /query /status

Daemon Ne Demarre Pas

Symptome : Le service refuse de demarrer ou s'arrete immediatement

Le service NTP ne demarre pas, ou demarre et plante immediatement.

Verifier l'Etat du Service

root@server:~# systemctl status chronyd chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled) Active: failed (Result: exit-code) since... # Verifier les logs detailles root@server:~# journalctl -xeu chronyd --no-pager | tail -50

Causes et Solutions Frequentes

Cause 1 : Erreur de Syntaxe dans la Configuration

# Tester la syntaxe (chronyd) root@server:~# chronyd -p # Tester la syntaxe (ntpd) root@server:~# ntpd -n -d -c /etc/ntp.conf

Cause 2 : Port 123 Deja Utilise

# Verifier ce qui utilise le port 123 root@server:~# ss -ulnp | grep 123 UNCONN 0 0 *:123 *:* users:(("ntpd",pid=1234,fd=16)) # Arreter le processus en conflit root@server:~# systemctl stop ntpd root@server:~# systemctl start chronyd

Cause 3 : Plusieurs Services NTP en Conflit

# Desactiver les services en conflit root@server:~# systemctl disable --now systemd-timesyncd root@server:~# systemctl disable --now ntpd # Activer un seul service root@server:~# systemctl enable --now chronyd

Stratum 16 / Pas de Source de Sync

Symptome : Le systeme affiche stratum 16 ou "non synchronise"

Stratum 16 signifie que le daemon NTP n'a pas de source de temps valide. C'est le niveau stratum "invalide/inconnu".

# ntpq affichant stratum 16 root@server:~# ntpq -c rv ...stratum=16, precision=-23... # chronyc affichant non synchronise root@server:~# chronyc tracking Reference ID : 00000000 () Stratum : 0 ... Leap status : Not synchronised

Solutions

Verifier la Configuration des Serveurs NTP

# Verifier que les serveurs sont configures root@server:~# grep -E "^server|^pool" /etc/chrony/chrony.conf pool 2.debian.pool.ntp.org iburst server ntp.rdem-systems.com iburst prefer

Tester la Connectivite aux Serveurs

# Les serveurs sont-ils joignables ? root@server:~# chronyc sources -v # Reach = 0 signifie aucune requete reussie

Forcer une Sync Initiale

# Pour chronyd - forcer correction par saut root@server:~# chronyc makestep # Pour ntpd - sync manuelle initiale root@server:~# systemctl stop ntpd root@server:~# ntpdate -b pool.ntp.org root@server:~# systemctl start ntpd

Bloque en Etat .INIT

Symptome : NTP affiche .INIT pour tous les serveurs

La colonne refid affiche ".INIT." indiquant que le daemon n'a pas complete la synchronisation initiale.

root@server:~# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== 0.pool.ntp.org .INIT. 16 p - 64 0 0.000 0.000 0.000

Causes Frequentes

Solution : Corriger un Grand Decalage Horaire

# Verifier le decalage actuel root@server:~# ntpdate -q pool.ntp.org server 162.159.200.1, stratum 3, offset -3600.123456... # Si decalage > 1000s, regler l'heure manuellement root@server:~# systemctl stop ntpd root@server:~# ntpdate -b pool.ntp.org root@server:~# systemctl start ntpd

Temps d'Attente

La synchronisation initiale peut prendre 5-15 minutes selon les conditions reseau. Surveillez la valeur "reach" - elle devrait passer de 0 a 377 progressivement.

Detection False Ticker

Symptome : Serveur marque avec 'x' (falseticker)

NTP a determine que l'heure de ce serveur differe significativement de la majorite des sources.

Solution : Ajouter Plus de Serveurs

Avec seulement 2 serveurs, NTP ne peut pas determiner lequel est correct. Utilisez au moins 4 serveurs :

# /etc/ntp.conf ou /etc/chrony/chrony.conf server ntp.rdem-systems.com iburst prefer pool 0.pool.ntp.org iburst maxsources 2 pool 1.pool.ntp.org iburst maxsources 2

Valeur Reach a 0

Symptome : La colonne reach affiche 0 pour tous les serveurs

Aucune requete NTP reussie. Le daemon ne peut communiquer avec aucun serveur.

Comprendre Reach

Reach est un registre octal 8 bits montrant les 8 derniers resultats de requete. 377 (octal) = 11111111 (binaire) = 8 requetes reussies. 0 = aucune requete reussie.

Corrections Frequentes

  1. Ouvrir le pare-feu : ufw allow 123/udp
  2. Verifier que le DNS fonctionne : host pool.ntp.org
  3. Utiliser des IP au lieu de noms d'hotes dans la config
  4. Redemarrer le daemon : systemctl restart chronyd
  5. Attendre - reach augmente a chaque intervalle de sondage

Problemes W32Time Windows

"L'ordinateur n'a pas pu se resynchroniser car aucune donnee de temps n'etait disponible"

Solution

:: Reinitialiser la configuration W32Time C:\> net stop w32time C:\> w32tm /unregister C:\> w32tm /register C:\> net start w32time :: Configurer le serveur NTP C:\> w32tm /config /manualpeerlist:"pool-ntp.rdem-systems.com,0x8" /syncfromflags:manual /update :: Forcer la sync C:\> w32tm /resync /force

Conflits de Sync Hyper-V

Attention Machine Virtuelle

Les VM Hyper-V ont des services d'integration de temps qui peuvent entrer en conflit avec W32Time. Desactivez la sync temps VM si vous utilisez NTP externe :

:: Dans Hyper-V Manager : :: Parametres VM → Services d'integration → Decocher "Synchronisation de l'heure" :: Ou via PowerShell PS C:\> Disable-VMIntegrationService -VMName "VotreVM" -Name "Time Synchronization"

Verifiez Votre Correction

Apres le depannage, testez votre synchronisation NTP :

Lancer le Diagnostic NTP Guide Pare-feu