Aller au contenu

Synchro NTP

De Marmits Wiki

Fuseaux horaires

  • Liste tous les fuseaux horaires disponibles que votre système peut utiliser :
timedatectl list-timezones
  • Définir le fuseau horaire du système à Europe/Paris :
sudo timedatectl set-timezone Europe/Paris

Observatoire de Paris

ntp-p1.obspm.fr

ping  NTP-P1.OBSPM.FR

Protocole NTP (Network Time Protocol)

1. Vérifier date et l’heure actuelle

date +"%Y-%m-%d %H:%M:%S" #

2. Configurer des serveurs NTP fiables

- Pour `systemd-timesyncd` (fichier `/etc/systemd/timesyncd.conf`) : Décommentez et modifiez :

[Time] NTP=0.pool.ntp.org 1.pool.ntp.org

ou

[Time] NTP=ntp-p1.obspm.fr # Observatoire de paris

3. Redémarrez

sudo systemctl restart systemd-timesyncd

4. Vérifiez les logs

journalctl -u systemd-timesyncd -b --no-pager | grep -i ntp
journalctl -u ntp -b  # ou chronyd/systemd-timesyncd

5. Vérifier l’état de la synchronisation

timedatectl status  # Pour systemd-timesyncd

Recherchez des erreurs comme “No response from server” ou “Network unreachable”.

6. Ajoutez la règle NTP

sudo ufw allow out 123/udp  # Autorise les requêtes NTP sortantes
sudo ufw allow in 123/udp   # Autorise les réponses NTP entrantes (optionnel, mais utile)

Remarque : Sur la plupart des machines, seule la règle out est nécessaire.


7. Vérifications

Testez un autre serveur NTP

Remplacez temporairement ntp-p1.obspm.fr par un pool public (dans /etc/systemd/timesyncd.conf) :

[Time]
NTP=0.fr.pool.ntp.org 1.fr.pool.ntp.org

Puis redémarrez le service :

sudo systemctl restart systemd-timesyncd

Vérifiez l’heure actuelle

Si l’heure système est très décalée, forcez une synchronisation manuelle :

sudo timedatectl set-ntp true
timedatectl status

8. Comment vérifier si le pare-feu bloque les échanges NTP ?

Pour déterminer si votre pare-feu (ufw ou autre) bloque les requêtes NTP (port UDP 123), voici plusieurs méthodes :


1. Vérifier les règles actives du pare-feu (ufw)

Votre commande sudo ufw status montre que le port 123/udp n’est pas explicitement autorisé.
Cependant, ufw peut bloquer NTP même si aucune règle ne le mentionne explicitement.

🔹 Solution : Autoriser NTP explicitement
sudo ufw allow out 123/udp   # Autoriser les requêtes NTP sortantes
sudo ufw allow in 123/udp    # Autoriser les réponses NTP entrantes (optionnel)
sudo ufw reload             # Recharger les règles

Puis vérifiez à nouveau :

sudo ufw status | grep 123

2. Vérifier avec tcpdump (écoute du trafic NTP)

Ouvrez un terminal et lancez une capture réseau sur le port 123/udp :

sudo tcpdump -i any port 123 -n

Dans un autre terminal, forcez une requête NTP :

sudo systemctl restart systemd-timesyncd

Interprétation

  • Paquets NTP visibles (ex: IP VOTRE_IP.123 > SERVEUR_NTP.123: NTPv4, ...)

→ Le trafic NTP passe, le pare-feu ne bloque pas.

  • Aucun paquet NTP capturé

→ Le pare-feu bloque probablement le trafic.


3. Vérifier les logs du pare-feu (ufw)

Si ufw bloque NTP, des logs apparaissent dans /var/log/ufw.log ou journalctl :

sudo grep -i DROP /var/log/ufw.log | grep 123

Ou :

journalctl -u ufw | grep -i "DPT=123"

Si vous voyez des messages comme :

[UFW BLOCK] IN= OUT=eth0 SRC=VOTRE_IP DST=SERVEUR_NTP LEN=76 DPT=123 ...

Le pare-feu bloque NTP.


4. Désactiver temporairement ufw pour tester

Pour confirmer que le problème vient bien du pare-feu :

sudo ufw disable

Puis testez à nouveau NTP :

sudo systemctl restart systemd-timesyncd
timedatectl status

Si ça fonctionne maintenant, le pare-feu était bien le problème.


6. Vérifier d’autres pare-feu (iptables/nftables)

ufw utilise iptables en arrière-plan. Si vous avez des règles personnalisées, elles peuvent bloquer NTP :

sudo iptables -L -n -v | grep 123

Si vous voyez une ligne avec DROP ou REJECT, NTP est bloqué.