« Synchro NTP » : différence entre les versions

Page créée avec « == Observatoire de Paris == ntp-p1.obspm.fr ping NTP-P1.OBSPM.FR Dans <code>/etc/systemd/timesyncd.conf</code> <pre> [Time] NTP=ntp-p1.obspm.fr # observatoire paris </pre> <syntaxhighlight lang="bash" line copy> timedatectl list-timezones </syntaxhighlight> <syntaxhighlight lang="bash" line copy> sudo timedatectl set-timezone Europe/Paris </syntaxhighlight> Catégorie:Linux Catégorie:Debian Catégorie:Systemd »
 
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
== Fuseaux horaires ==
* Liste tous les fuseaux horaires disponibles que votre système peut utiliser :
<syntaxhighlight lang="bash" line copy>
timedatectl list-timezones
</syntaxhighlight>
* Définir le fuseau horaire du système à Europe/Paris :
<syntaxhighlight lang="bash" line copy>
sudo timedatectl set-timezone Europe/Paris
</syntaxhighlight>
== Observatoire de Paris ==
== Observatoire de Paris ==
ntp-p1.obspm.fr
ntp-p1.obspm.fr
<syntaxhighlight lang="bash" line copy>
ping  NTP-P1.OBSPM.FR
ping  NTP-P1.OBSPM.FR
</syntaxhighlight>
== Protocole '''NTP (Network Time Protocol)''' ==
=== 1. '''Vérifier date et l’heure actuelle''' ===
<syntaxhighlight lang="bash">date +"%Y-%m-%d %H:%M:%S" # </syntaxhighlight>


Dans <code>/etc/systemd/timesyncd.conf</code>
=== 2. '''Configurer des serveurs NTP fiables''' ===
<pre>
[Time]
NTP=ntp-p1.obspm.fr # observatoire paris
</pre>


<syntaxhighlight lang="bash" line copy>
- Pour `systemd-timesyncd` (fichier `/etc/systemd/timesyncd.conf`) : 
timedatectl list-timezones
Décommentez et modifiez :
<syntaxhighlight lang="bash">
[Time] NTP=0.pool.ntp.org 1.pool.ntp.org
</syntaxhighlight>
ou
<syntaxhighlight lang="bash">
[Time] NTP=ntp-p1.obspm.fr # Observatoire de paris
</syntaxhighlight>
</syntaxhighlight>


<syntaxhighlight lang="bash" line copy>
=== 3. '''Redémarrez''' ===
sudo timedatectl set-timezone Europe/Paris
<syntaxhighlight lang="bash" copy>
sudo systemctl restart systemd-timesyncd
</syntaxhighlight>
</syntaxhighlight>


=== 4. '''Vérifiez les logs''' ===
<syntaxhighlight lang="bash">journalctl -u systemd-timesyncd -b --no-pager | grep -i ntp</syntaxhighlight>
<syntaxhighlight lang="bash">journalctl -u ntp -b  # ou chronyd/systemd-timesyncd</syntaxhighlight>
=== 5. '''Vérifier l’état de la synchronisation '''===
<syntaxhighlight lang="bash">timedatectl status  # Pour systemd-timesyncd</syntaxhighlight>
Recherchez des erreurs comme ''“No response from server”'' ou ''“Network unreachable”''.
=== 6. '''Ajoutez la règle NTP''' ===
<syntaxhighlight lang="bash">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)</syntaxhighlight>
''Remarque'' : Sur la plupart des machines, seule la règle <code>out</code> est nécessaire.
-----
=== 7. '''Vérifications''' ===
==== '''Testez un autre serveur NTP''' ====
Remplacez temporairement <code>ntp-p1.obspm.fr</code> par un pool public (dans <code>/etc/systemd/timesyncd.conf</code>) :
<syntaxhighlight lang="ini">[Time]
NTP=0.fr.pool.ntp.org 1.fr.pool.ntp.org</syntaxhighlight>
Puis redémarrez le service :
<syntaxhighlight lang="bash">sudo systemctl restart systemd-timesyncd</syntaxhighlight>
==== '''Vérifiez l’heure actuelle''' ====
Si l’heure système est très décalée, forcez une synchronisation manuelle :
<syntaxhighlight lang="bash">sudo timedatectl set-ntp true
timedatectl status</syntaxhighlight>
-----
=== 8. '''Comment vérifier si le pare-feu bloque les échanges NTP ?''' ===
Pour déterminer si votre pare-feu (<code>ufw</code> ou autre) bloque les requêtes NTP (port '''UDP 123'''), voici plusieurs méthodes :
-----
==== '''1. Vérifier les règles actives du pare-feu (<code>ufw</code>)''' ====
Votre commande <code>sudo ufw status</code> montre que le port '''123/udp''' n’est '''pas explicitement autorisé'''.<br />
Cependant, <code>ufw</code> peut bloquer NTP même si aucune règle ne le mentionne explicitement.
===== 🔹 '''Solution : Autoriser NTP explicitement''' =====
<syntaxhighlight lang="bash">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</syntaxhighlight>
Puis vérifiez à nouveau :
<syntaxhighlight lang="bash">sudo ufw status | grep 123</syntaxhighlight>
-----
==== '''2. Vérifier avec <code>tcpdump</code> (écoute du trafic NTP)''' ====
Ouvrez un terminal et lancez une capture réseau sur le port '''123/udp''' :
<syntaxhighlight lang="bash">sudo tcpdump -i any port 123 -n</syntaxhighlight>
Dans un autre terminal, forcez une requête NTP :
<syntaxhighlight lang="bash">sudo systemctl restart systemd-timesyncd</syntaxhighlight>
==== '''Interprétation ''' ====
* ✅ '''Paquets NTP visibles''' (ex: <code>IP VOTRE_IP.123 &gt; SERVEUR_NTP.123: NTPv4, ...</code>)<br />
→ Le trafic NTP passe, le pare-feu ne bloque pas.
* ❌ '''Aucun paquet NTP capturé'''<br />
→ Le pare-feu bloque probablement le trafic.
-----
==== '''3. Vérifier les logs du pare-feu (<code>ufw</code>)''' ====
Si <code>ufw</code> bloque NTP, des logs apparaissent dans <code>/var/log/ufw.log</code> ou <code>journalctl</code> :
<syntaxhighlight lang="bash">sudo grep -i DROP /var/log/ufw.log | grep 123</syntaxhighlight>
Ou :
<syntaxhighlight lang="bash">journalctl -u ufw | grep -i "DPT=123"</syntaxhighlight>
Si vous voyez des messages comme :
<pre>[UFW BLOCK] IN= OUT=eth0 SRC=VOTRE_IP DST=SERVEUR_NTP LEN=76 DPT=123 ...</pre>
→ '''Le pare-feu bloque NTP.'''
-----
==== '''4. Désactiver temporairement <code>ufw</code> pour tester''' ====
Pour confirmer que le problème vient bien du pare-feu :
<syntaxhighlight lang="bash">sudo ufw disable</syntaxhighlight>
Puis testez à nouveau NTP :
<syntaxhighlight lang="bash">sudo systemctl restart systemd-timesyncd
timedatectl status</syntaxhighlight>
Si ça fonctionne maintenant, '''le pare-feu était bien le problème'''.
-----
==== '''6. Vérifier d’autres pare-feu (<code>iptables/nftables</code>)''' ====
<code>ufw</code> utilise <code>iptables</code> en arrière-plan. Si vous avez des règles personnalisées, elles peuvent bloquer NTP :
<syntaxhighlight lang="bash">sudo iptables -L -n -v | grep 123</syntaxhighlight>
Si vous voyez une ligne avec <code>DROP</code> ou <code>REJECT</code>, NTP est bloqué.
-----


[[Catégorie:Linux]] [[Catégorie:Debian]] [[Catégorie:Systemd]]
[[Catégorie:Linux]] [[Catégorie:Debian]] [[Catégorie:Systemd]]