Настройка времени на серверах обычно вспоминается только тогда, когда мониторинг начинает ругаться. В debian сейчас часто по умолчанию работает
systemd-timesyncd. Обычно там уже прописаны стандартные NTP-серверы debian вроде:
0.debian.pool.ntp.org
или серверы времени от хостера, если система развернута из его шаблона.
В большинстве случаев все работает само, и трогать ничего не нужно. Но если синхронизация начинает мигать в мониторинге, приходится вспоминать, где это настраивается. Типичная ошибка в логах может выглядеть так:
systemd-timesyncd[308]: Timed out waiting for reply from 195.90.182.235:123 (0.debian.pool.ntp.org)
То есть timesyncd отправил запрос на NTP-сервер, но не дождался ответа. Первое, что можно попробовать - это заменить набор серверов времени. Основной конфиг находится здесь:
/etc/systemd/timesyncd.conf
Но лучше не править его напрямую, а сделать drop-in конфигурацию:
mkdir -p /etc/systemd/timesyncd.conf.d
nano /etc/systemd/timesyncd.conf.d/custom.conf
Добавляем свои NTP-серверы:
[Time]
NTP=0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org
FallbackNTP=ntp0.vniiftri.ru
После этого перечитываем конфигурацию и перезапускаем службу:
systemctl daemon-reload
systemctl restart systemd-timesyncd
Проверить общие настройки времени:
timedatectl
А конкретный статус синхронизации:
timedatectl timesync-status
В выводе будет видно, какой сервер сейчас используется, например:
Server: 51.250.35.68 (0.ru.pool.ntp.org)
Логи службы удобно смотреть так:
journalctl -u systemd-timesyncd
Если время вообще не синхронизируется с внешними серверами, не спешите часами копаться в конфиге. Очень часто NTP-трафик режется на стороне провайдера. Причина простая: UDP/123, как и DNS, может использоваться в DDoS amplification-атаках. Поэтому некоторые провайдеры блокируют внешний NTP и предлагают использовать свои внутренние серверы времени.
Так что если запросы наружу стабильно не проходят, иногда самый быстрый путь - сразу спросить у провайдера: какой NTP-сервер нужно использовать в вашей сети?
Есть и обходные варианты. Например, можно использовать htpdate, который получает время через HTTP:
apt install htpdate
Но это уже скорее запасной вариант, а не замена нормальной NTP-синхронизации.
#linux #timesyncd
🧑💻 NetworkAdmin