Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| sysadmin:linux:systemd:troubleshooting:timesyncd_refuse_ntp_via_dhcp [2022/01/09 11:18] – créée yoann | sysadmin:linux:systemd:troubleshooting:timesyncd_refuse_ntp_via_dhcp [2022/01/09 16:34] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ====== timesyncd n' | ====== timesyncd n' | ||
| - | Lorsque **NetworkManager** s' | + | Lorsque **NetworkManager** s' |
| - | Le script (hook) ''/ | + | En effet **NetworkManager** par défaut **ne communique pas directement avec systemd-timesyncd.service**. |
| - | Une solution largement utilisée consiste à placer un script dans ''/ | + | Cependant la fonctionnalité NetworkManager dispatcher peut être utilisée pour mettre à jour la configuration de l' |
| Ligne 74: | Ligne 74: | ||
| # Forcer le renouvellement du bail DHCP | # Forcer le renouvellement du bail DHCP | ||
| + | # Lister les connexions actives | ||
| + | nmcli connection show --active | ||
| + | |||
| + | # Redémarrer la connexion active souhaitée | ||
| + | nmcli connection down SFR_4380 | ||
| + | nmcli connection up SFR_4380 | ||
| </ | </ | ||
| + | |||
| + | Les commandes ci-dessous permettent de créer les répertoires si nécessaire: | ||
| + | |||
| + | <code bash> | ||
| + | for r in "/ | ||
| + | do | ||
| + | if [ ! -d $r ]; | ||
| + | then | ||
| + | # Le repertoire n' | ||
| + | mkdir $r | ||
| + | fi | ||
| + | done | ||
| + | </ | ||
| + | |||
| + | Créer le script / | ||
| + | <code bash 10-update-timesyncd> | ||
| + | # | ||
| + | |||
| + | [[ -z " | ||
| + | INTERFACE=" | ||
| + | ACTION=" | ||
| + | |||
| + | case $ACTION in | ||
| + | up | dhcp4-change | dhcp6-change) | ||
| + | [[ -n " | ||
| + | mkdir / | ||
| + | cat << | ||
| + | [Time] | ||
| + | NTP=$DHCP4_NTP_SERVERS | ||
| + | THE_END | ||
| + | systemctl restart systemd-timesyncd.service | ||
| + | ;; | ||
| + | down) | ||
| + | rm -f "/ | ||
| + | systemctl stop systemd-timesyncd.service | ||
| + | ;; | ||
| + | esac | ||
| + | </ | ||
| + | |||
| + | Rendre le script exécutable pour root seulement: | ||
| + | <code bash> | ||
| + | chmod ug+x / | ||
| + | </ | ||
| + | |||
| + | S' | ||
| + | <code bash> | ||
| + | systemctl is-enabled NetworkManager-dispatcher.service | ||
| + | </ | ||
| + | |||
| + | Après ces modifications, | ||
| + | |||
| + | <code bash> | ||
| + | # Affiche le serveur NTP utilisé | ||
| + | timedatectl show-timesync --all | ||
| + | |||
| + | LinkNTPServers= | ||
| + | SystemNTPServers=192.168.33.254 | ||
| + | FallbackNTPServers=ntp.ubuntu.com | ||
| + | ServerName=192.168.33.254 | ||
| + | ServerAddress=192.168.33.254 | ||
| + | RootDistanceMaxUSec=5s | ||
| + | PollIntervalMinUSec=32s | ||
| + | PollIntervalMaxUSec=34min 8s | ||
| + | PollIntervalUSec=1min 4s | ||
| + | NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=3, Precision=-23, | ||
| + | Frequency=6818847 | ||
| + | |||
| + | # Affiche le status du service systemd-timesyncd | ||
| + | timedatectl status | ||
| + | Local time: dim. 2022-01-09 17:27:53 CET | ||
| + | | ||
| + | RTC time: dim. 2022-01-09 16: | ||
| + | Time zone: Europe/ | ||
| + | System clock synchronized: | ||
| + | NTP service: active | ||
| + | RTC in local TZ: no | ||
| + | </ | ||
| + | |||
| + | Le service indique bien que l' | ||
| + | |||
| ===== Références ===== | ===== Références ===== | ||
| * https:// | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||