Я пытаюсь синхронизировать время на моем Intel NUC, который работает под управлением Ubuntu 16.04.3 LTS, с NTP-сервером, который работает на ПК с Windows.
Я уже проверил, что NTP-сервер работает правильно.
Мне кажется, что служба не читает из файла конфигурации /etc/systemd/timesyncd. conf
Вывод timedatectl status
Local time: Wed 2019-01-16 21:32:01 CET
Universal time: Wed 2019-01-16 20:32:01 UTC
RTC time: Wed 2019-01-16 20:32:01
Time zone: Europe/Vienna (CET, +0100)
Network time on: yes
NTP synchronized: no
RTC in local TZ: no
Вывод systemctl status systemd-timesyncd
сразу после systemctl restart systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor pr
Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Active: active (running) since Wed 2019-01-16 21:36:08 CET; 11s ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 2316 (systemd-timesyn)
Status: "Idle."
CGroup: /system.slice/systemd-timesyncd.service
└─2316 /lib/systemd/systemd-timesyncd
Jan 16 21:36:08 coretv systemd[1]: Starting Network Time Synchronization...
Jan 16 21:36:08 coretv systemd[1]: Started Network Time Synchronization.
Мой конфигурационный файл в /etc/systemd/timesyncd.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.
[Time]
NTP=192.168.20.1
#FallbackNTP=ntp.ubuntu.com
Если он что-то меняет, все команды выполняются от имени root через ssh-соединение.
Есть ли что-то, что я упускаю?
У меня больше нет времени возиться с этой проблемой. Я буду использовать обходной путь со своей стороны, чтобы не полагаться на системное время.
Ответы все еще ценятся, поскольку исправление этого было бы гораздо более чистым решением.
Я понимаю, что это старая тема, но недавно у меня была точно такая же проблема, и я хочу поделиться своим решением, чтобы другие могли не тратить часы, пытаясь понять это.
Проблема для меня оказалась в параметре RootDistanceMaxSec в файле timesyncd.conf. По умолчанию 5 секунд; однако при просмотре пакетов NTP в Wireshark значение корневой дисперсии составило около 10 секунд. Я считаю, что systemd-timesyncd игнорировал все пакеты NTP, потому что значение корневой дисперсии было выше максимального.
Чтобы решить эту проблему, я изменил timesyncd.conf, раскомментировав строку, начинающуюся с RootDistanceMaxSec, и обновил значение до числа, которое на несколько секунд превышало значение корневой дисперсии, которое я видел в пакетах NTP. Затем я перезапустил свою систему, и все заработало отлично.
Надеюсь, это поможет кому-нибудь сэкономить несколько часов.