Why Is the Time Not Syncing?

I want the time to sync, but it's not. I tried running the following commands, but it's still not syncing.

# timedatectl set-ntp off
# timedatectl set-ntp on
# timedatectl status
                      Local time: Fri 2021-08-06 20:01:43 EDT
                  Universal time: Sat 2021-08-07 00:01:43 UTC
                        RTC time: Fri 2021-08-06 20:01:43
                       Time zone: America/New_York (EDT, -0400)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Edit: More info

systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2021-08-07 15:26:10 EDT; 58min ago
     Docs: man:systemd-timesyncd.service(8)
  Process: 9351 ExecStart=/lib/systemd/systemd-timesyncd (code=exited, status=238/STATE_DIRECTORY)
 Main PID: 9351 (code=exited, status=238/STATE_DIRECTORY)


# journalctl -u systemd-timesyncd
1]: systemd-timesyncd.service: Service has no hold-off time, scheduling restart.
1]: systemd-timesyncd.service: Scheduled restart job, restart counter is at 5.
1]: Stopped Network Time Synchronization.
1]: systemd-timesyncd.service: Start request repeated too quickly.
1]: systemd-timesyncd.service: Failed with result 'exit-code'.
1]: Failed to start Network Time Synchronization.

Running Ubuntu 18.04. Internet works and can browse the internet.

5

3 Answers

Apparently there was a directory permissions bug and it affects multiple distros. The solution is simple.

$ sudo chmod 0700 /var/lib/private
$ sudo systemctl restart systemd-timesyncd
$ sudo timedatectl status

Also, this may or may not be needed:

$ sudo rm -r /var/lib/private/systemd

Source:

  1. Check you ntp configuration in /etc/ntp.conf

$ cat /etc/ntp.conf

...
pool 0.ubuntu.pool.ntp.org iburst 
pool 1.ubuntu.pool.ntp.org iburst 
pool 2.ubuntu.pool.ntp.org iburst 
pool 3.ubuntu.pool.ntp.org iburst 

edit the file if necessary (nano /etc/ntp.conf)

  1. Run the following command to restart the service

sudo service ntp restart

  1. Lastly, if you have an UFW firewall enabled on your system you will need to open the NTP UDP port 123 for incoming connections:

$ sudo ufw allow from any to any port 123 proto udp

3

Check logs: journalctl -u systemd-timesyncd

My problem was about root distance parameter (I have bad Windows Server sync server). Increase RootDistanceMaxSec from default value 5 to 15 fixed my problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Marcus Vance

Marcus Vance

Cybersecurity & Digital Privacy Researcher

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.

Share this article
Twitter Facebook Pinterest