Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| sysadmin:linux:systemd:synchronisation-du-temps [2020/05/27 15:14] – créée yoann | sysadmin:linux:systemd:synchronisation-du-temps [2025/08/29 07:54] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| ====== Systemd: Synchronisation du temps ====== | ====== Systemd: Synchronisation du temps ====== | ||
| - | systemd intègre un service de synchronisation du temps local via un client sntp (unité timesyncd) | + | systemd intègre un service de synchronisation du temps local via un client sntp (unité timesyncd). Le client possède peu d' |
| Pour afficher l' | Pour afficher l' | ||
| Ligne 10: | Ligne 11: | ||
| </ | </ | ||
| - | ===== Définir le serveur de référence | + | ===== Configuration |
| - | Pour configurer | + | Pour configurer |
| < | < | ||
| [Time] | [Time] | ||
| - | NTP=ntp.localdomain | + | NTP=192.168.0.1 |
| + | FallbackNTP=ntp.ubuntu.com | ||
| </ | </ | ||
| - | Une fois l' unité activée, le temps local va se synchroniser graduellement avec le serveur de référence. Si toutefois la dérive est importante il faudra: | + | Redémarrer le service pour prendre en compte les modifications: |
| + | <code bash> | ||
| + | systemctl restart systemd-timesyncd.service | ||
| + | </ | ||
| + | |||
| + | Une fois l' unité activée, le temps local va se synchroniser graduellement avec le serveur de référence. Si toutefois la dérive est trop importante il faudra: | ||
| * Arrêter le service | * Arrêter le service | ||
| Ligne 36: | Ligne 43: | ||
| Définir le temps local manuellement: | Définir le temps local manuellement: | ||
| <code bash> | <code bash> | ||
| - | timedatectl set-time "" | + | timedatectl set-time "2020-05-27 18:13:00" |
| </ | </ | ||
| Ligne 44: | Ligne 51: | ||
| </ | </ | ||
| - | Vérifier l''état de la synchronisation via journalctl et timedatectl | + | Vérifier l' |
| <code bash> | <code bash> | ||
| journalctl -u systemd-timesyncd.service | journalctl -u systemd-timesyncd.service | ||
| + | </ | ||
| + | |||
| + | Des détails concernant la synchronisation via NTP peuvent être affichés via l' | ||
| + | <code bash> | ||
| + | timedatectl show-timesync | ||
| + | </ | ||
| + | |||
| + | |||
| + | Afficher le status global en invoquant la commande **timedatectl** sans arguments (équivalent de **'' | ||
| + | <code bash> | ||
| + | timedatectl | ||
| + | Local time: mer. 2020-05-27 18:14:04 CEST | ||
| + | Universal time: mer. 2020-05-27 16:14:04 UTC | ||
| + | RTC time: mer. 2020-05-27 16:14:04 | ||
| + | Time zone: Europe/ | ||
| + | | ||
| + | systemd-timesyncd.service active: yes | ||
| + | RTC in local TZ: no | ||
| + | </ | ||
| + | |||
| + | Sur le résultat on peut lire que la "Time Zone" est bien configurée, | ||
| + | |||
| + | ===== Modifier le temps local (time zone) ===== | ||
| + | |||
| + | Lister les time zones disponibles: | ||
| + | <code bash> | ||
| + | timedatectl list-timezones | ||
| + | </ | ||
| + | |||
| + | A partir de la liste, définir une time zone pour la machine: | ||
| + | <code bash> | ||
| + | timedatectl set-timezone Europe/ | ||
| + | </ | ||
| + | |||
| + | ===== A propos de la RTC ===== | ||
| + | |||
| + | La RTC pour **R**eal **T**ime **C**lock est l' | ||
| + | * *nix définissent la RTC au temps Zulu | ||
| + | * Windows définissent la RTC au temps local | ||
| + | |||
| + | La commande **timedatectl status** produit deux lignes indiquant comment est configurée la RTC: | ||
| + | |||
| + | < | ||
| + | Local time: lun. 2021-06-28 11:15:09 CEST | ||
| + | | ||
| + | RTC time: lun. 2021-06-28 09: | ||
| + | Time zone: Europe/ | ||
| + | System clock synchronized: | ||
| + | NTP service: active | ||
| + | RTC in local TZ: no | ||
| + | </ | ||
| + | |||
| + | La dernière ligne '' | ||
| + | |||
| + | L' | ||
| + | <code bash> | ||
| + | timedatectl set-local-rtc 1 | ||
| + | </ | ||
| + | |||
| + | Autrement, la commande suivante permet de définir le temps UTC comme référence pour l' | ||
| + | |||
| + | <code bash> | ||
| + | timedatectl set-local-rtc 0 | ||
| + | </ | ||
| + | |||
| + | ===== Pare-feu ===== | ||
| + | |||
| + | ==== Règles de filtrage netfilter ==== | ||
| + | |||
| + | : | ||
| + | |||
| + | * Créer un ensemble de type noms de domaine | ||
| + | * Autoriser le trafic a destination de l' | ||
| + | |||
| + | |||
| + | ===== Dépannage/ | ||
| + | |||
| + | ==== Consulter les journaux ==== | ||
| + | |||
| + | Pour consulter les traces du service en temps réel: | ||
| + | <code bash> | ||
| + | journalctl --unit systemd-timesyncd.service --follow | ||
| + | </ | ||
| + | |||
| + | ==== Activer le mode debug ==== | ||
| + | |||
| + | Il est possible d’arrêter le service et de le relancer en mode debug dans la console: | ||
| + | <code bash> | ||
| + | # Arrêt du service | ||
| + | systemctl stop systemd-timesyncd.service | ||
| + | |||
| + | # Exécution en mode debug dans le terminal | ||
| + | SYSTEMD_LOG_LEVEL=debug / | ||
| </ | </ | ||
| Ligne 53: | Ligne 153: | ||
| * https:// | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||