Fixing systemd-timesyncd NTP Synchronization in Debian
The timedatectl command is provided by systemd. It allows you to query and change the system clock and its settings, and to enable or disable time synchronization services.
You can also use it to display the current status of time synchronization services such as `systemd-timesyncd.service`.
systemd-timesyncd.service is a system service that synchronizes the local system clock with a remote Network Time Protocol (NTP) server.
To enable system time synchronization:
$ sudo timedatectl set-ntp trueor
$ sudo systemctl enable --now systemd-timesyncdCheck the current time status:
$ timedatectlLocal time: Sun 2026-10-18 22:39:56 CEST
Universal time: Sun 2026-10-18 20:39:56 UTC
RTC time: Sun 2026-10-18 20:44:46
Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
The system clock is not synchronized. The NTP service is active but not working.
Show the current status of the systemd-timesyncd service:
$ timedatectl timesync-statusServer: 130.149.17.8 (130.149.17.8)
Poll interval: 1min 4s (min: 32s; max 34min 8s)
Packet count: 0
$ timedatectl show-timesync --allLinkNTPServers=
SystemNTPServers=130.149.17.8
RuntimeNTPServers=
FallbackNTPServers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
ServerName=130.149.17.8
ServerAddress=130.149.17.8
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=4min 16s
Frequency=0
Check the service status for more details:
$ systemctl status systemd-timesyncd systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-09-11 18:04:49 CEST; 1 month 6 days ago
Invocation: bf81505bea374140d869fejf1d98f5fbad
Docs: man:systemd-timesyncd.service(8)
Main PID: 1055311 (systemd-timesyn)
Status: "Idle."
Tasks: 2 (limit: 18886)
Memory: 696K (peak: 3.1M, swap: 908K, swap peak: 912K)
CPU: 18.970s
CGroup: /system.slice/systemd-timesyncd.service
└─1055311 /usr/lib/systemd/systemd-timesyncd
Oct 18 16:57:32 mySys systemd-timesyncd[1053311]: Timed out waiting for reply from 130.149.17.8:123 (130.149.17.8).
Oct 18 17:31:50 mySys systemd-timesyncd[1053311]: Timed out waiting for reply from 130.149.17.8:123 (130.149.17.8).
Oct 18 18:06:09 mySys systemd-timesyncd[1053311]: Timed out waiting for reply from 130.149.17.8:123 (130.149.17.8).
Oct 18 18:40:27 mySys systemd-timesyncd[1053311]: Timed out waiting for reply from 130.149.17.8:123 (130.149.17.8).
Oct 18 19:14:46 mySys systemd-timesyncd[1053311]: Timed out waiting for reply from 130.149.17.8:123 (130.149.17.8).
The configured server `130.149.17.8` is not responding.
Solution: Update the NTP Configuration
Edit the timesyncd configuration file:
$ sudo nano /etc/systemd/timesyncd.confSet a reliable NTP server:
NTP=debian.pool.ntp.org
The resulting file looks like this:
$ cat /etc/systemd/timesyncd.conf... # Use 'systemd-analyze cat-config systemd/timesyncd.conf' to display the full config. # # See timesyncd.conf(5) for details. [Time] NTP=debian.pool.ntp.org FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org #RootDistanceMaxSec=5 #PollIntervalMinSec=32 #PollIntervalMaxSec=2048 #ConnectionRetrySec=30 #SaveIntervalSec=60
View the effective configuration (including any drop-ins):
$ systemd-analyze cat-config systemd/timesyncd.conf# /etc/systemd/timesyncd.conf # This file is part of systemd. # ... # # See timesyncd.conf(5) for details. [Time] NTP=debian.pool.ntp.org FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org #RootDistanceMaxSec=5 #PollIntervalMinSec=32 #PollIntervalMaxSec=2048 #ConnectionRetrySec=30 #SaveIntervalSec=60 # /run/systemd/timesyncd.conf.d/dhcpcd-enp2s0.dhcp.conf # Generated by dhcpcd from enp2s0.dhcp [Time] NTP=130.149.17.8
Note that a DHCP-generated drop-in is still injecting the non-working server. Restart the service to apply the changes:
$ sudo systemctl restart systemd-timesyncdVerification
Confirm the new configuration is active:
$ timedatectl show-timesync --allLinkNTPServers=
SystemNTPServers=debian.pool.ntp.org 130.149.17.8
RuntimeNTPServers=
FallbackNTPServers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
ServerName=debian.pool.ntp.org
ServerAddress=195.95.153.43
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=32s
NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=1, Precision=-23, RootDelay=0, RootDispersion=0, Reference=GNSS, OriginateTimestamp=Sun 2026-10-18 22:47:36 CEST, ReceiveTimestamp=Sun 2026-10-18 22:52:37 CEST, TransmitTimestamp=Sun 2026-10-18 22:52:37 CEST, DestinationTimestamp=Sun 2026-10-18 22:47:36 CEST, Ignored=no, PacketCount=1, Jitter=0 }
Frequency=0
Check overall time status:
$ timedatectlLocal time: Sun 2026-10-18 22:53:10 CEST
Universal time: Sun 2026-10-18 20:53:10 UTC
RTC time: Sun 2026-10-18 20:53:10
Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Detailed synchronization status:
$ timedatectl timesync-status Server: 195.95.153.59 (debian.pool.ntp.org)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 1
Reference: GNSS
Precision: 1us (-23)
Root distance: 0 (max: 5s)
Offset: -5.712ms
Delay: 20.180ms
Jitter: 5.590ms
Packet count: 146
Frequency: +64.655ppm
The system clock is now synchronized.
References
$ man timedatectl$ man systemd-timesyncdhttps://wiki.archlinux.org/title/Systemd-timesyncd