Ubuntu NTP Not Synchronizing Fix Timesyncd Service and Network Checks
Your zone is right, the hardware clock is fine, but the time still wanders - a minute this month, five the next. That is the internet correction quietly failing. Ubuntu's sync client is systemd-timesyncd, and it fails in only a few ways. Here they are, in order.
✍️ Technical Anshu🐧 Ubuntu⏱️ 6 minute read
🎥 Watch the full video - every Ubuntu time fix shown live, step by step
Ubuntu keeps its clock honest by asking time servers over the internet - that is NTP. The built-in client is systemd-timesyncd: deliberately simple, it asks a server, steps or eases your clock to match, and reports success in one line of timedatectl: System clock synchronized: yes. When that line says no boot after boot, one of three things is wrong - sync is switched off, the service is not running, or the network is eating its packets. Each has a different fix, so check in order.
Terminal - a sync client that has never reached a server
Packet count 0 and Server n/a means timesyncd has not completed a single exchange. The service may be running perfectly - it simply cannot get an answer. Example output.
1
Confirm the Symptom in One Command
Run timedatectl and read two lines: System clock synchronized and NTP service
NTP service: inactive means sync is switched off entirely - go to step 2
NTP service: active but synchronized: no means it is trying and failing - go to step 3
Run timedatectl timesync-status - a healthy client names a server and shows a packet count above zero
Also note your actual error size with date against your phone. Minutes of drift with sync failing is this page; an exact zone-offset jump is the dual-boot fault, not this one.
2
Switch Sync on - in Settings or by Command
GUI route: Settings, then Date & Time, turn on Automatic Date & Time
Terminal route: timedatectl set-ntp true
Wait a minute with the internet connected, then run timedatectl again
The synchronized line should flip to yes and the clock should correct itself
If someone (or a past experiment) turned this off, nothing else on this page is needed. You would be surprised how often this is the whole story.
3
Check and Restart the timesyncd Service
See the service state: systemctl status systemd-timesyncd - you want active (running)
If it is stopped or failed, restart it: sudo systemctl restart systemd-timesyncd
Give it a few seconds, then check timedatectl timesync-status for a named server and a rising packet count
If the service will not stay running, its recent log explains why: journalctl -u systemd-timesyncd -n 30
Do not reinstall anything yet - a service that runs but never synchronizes is pointing at the network, which is the next step.
4
Suspect the Network - NTP Uses UDP Port 123
Time sync does not travel like web traffic. It uses UDP port 123, and some networks quietly block or break it:
Office and campus networks sometimes force all machines to use an internal time server and block outside NTP
Some routers and ISP setups mishandle UDP, so the request leaves and no answer returns
The honest test is a different network: connect to a phone hotspot for two minutes and re-check timedatectl
If it synchronizes instantly on the hotspot, your Ubuntu is healthy and your main network is the fault - on managed networks, ask the admin for their internal NTP server instead of fighting the block
Blaming Ubuntu for a blocked port wastes exactly the time this guide is trying to save you.
5
Know What timesyncd Is - and When to Replace It
Be clear about the tool: systemd-timesyncd is a simple client, not a full NTP daemon. It does not serve time to other machines, and its correction style is basic - fine for desktops and laptops.
For a normal home machine, once sync works, leave it alone
For servers and always-on VMs, the heavier tool is chrony - install it with sudo apt install chrony and it replaces timesyncd as the sync engine
Chrony handles big jumps after sleep or snapshot restores more gracefully and reports its state with chronyc tracking
Do not run both at once - two sync engines stepping the same clock fight each other
Wrong tool for the job is a real cause of "sync never settles", especially on servers.
🕐 Honest limit: timesyncd corrects the clock in steps when the error is large. If you see the time jump once after fixing sync, that is the correction arriving - not a new fault. Watch the synchronized line, not the jump.
Watch the Complete Video Guide
Watch the video for the live timesyncd checks - service state, sync status, and the hotspot test that separates a PC fault from a network fault.
timedatectl says NTP service active but synchronized no. What does that mean?
The client is running and asking, but no time server has answered successfully yet - or at all. Restart systemd-timesyncd once, then test on a different network such as a phone hotspot. Syncing there proves the network was blocking UDP port 123.
My office network blocks outside NTP. Can I still sync?
Yes - point the machine at the organisation's internal time server instead, which is what the block is usually designed to enforce. Ask your network admin for its address. On your own home network, no such block should exist; if sync fails there too, check the router.
Should I replace timesyncd with chrony on my laptop?
Usually there is no need. Timesyncd is enough for a desktop or laptop that sleeps and wakes on normal networks. Chrony earns its place on servers, VMs, and machines that wake after long sleeps with big clock jumps. Running both together is the one thing to avoid.
This guide is based on the Technical Anshu Ubuntu time fix video - stuck on any step, ask in the video comments and you will get an answer.