Содержание

Перейти к концу метаданных
Переход к началу метаданных

В стандартные дистрибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6 включены две службы точного времени:

  • Серверная служба NTP (представлена пакетами ntp и ntpdate). Может обеспечивать работу ОС в режиме как сервера точного, так и клиента.

  • Клиентская служба timedatectl / systemd-timesyncd.servic. Не представлена отдельными пакетами, встроена непосредственно в ОС.
    Предназначена для использования только на клиентских ОС, и не может работать сервером точного времени.
    Поддерживает только упрощенный протокол передачи времени, однако считается более современным вариантом для типичных клиентских применений.


Службы ntp и timesyncd несовместимы между собой и их одновременная работа невозможна.

Служба времени NTP

Эта служба устанавливается и запускается автоматически при установке ОС, и, в общем случае, для использования в качестве клиентской службы, дополнительных настроек не требует.

Служба ntp не будет запускаться автоматически при перезагрузке компьютера, если она не сможет найти ни одного сервера времени из перечисленных в конфигурации.


Для управления службой в состав дистрибутивов включен графический инструмент fly-admin-ntp, который можно установить из графического менеджера пакетов, или из командной строки:

apt install fly-admin-ntp

После установки графического инструмента он будет доступен в меню

Пуск -> Панель управления -> Сеть -> Синхронизация времени (NTP).

Описанные далее действия по настройке можно выполнять с помощью графического инструмента,
или непосредственно редактировать файл настроек  /etc/ntp.conf.

Свой сервер времени

По умолчанию служба ntpd настроена как клиентская.
Все подключения к ней запрещены в файле конфигурации:

# ограничения для IPv4
restrict -4 default kod notrap nomodify nopeer noquery limited

# ограничения для IPv6

restrict -6 default kod notrap nomodify nopeer noquery limited

По умолчанию заданы следующие параметры ограничений:

  • kod              — узлам, которые слишком часто отправляют запросы сначала отправить предупреждение (поцелуй смерти, kiss of death), затем отключить от сервера
  • notrap       — не принимать управляющие команды
  • nomodify — не принимать команды, которые могут вносить изменения состояния
  • nopeer      — не синхронизироваться с хостом
  • noquery    — не принимать запросы
  • limited       — ограничение одновременного приема запросов

Соответственно, для разрешения работы сервера можно добавить более слабые ограничения. Например, для сети 192.168.0.0 

# не запрещаем принимать запросы от сети 192.168.0.0, но не разрешаем управление из этой сети
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

# разрешаем управление с локального компьютера
restrict 127.0.0.1
restrict ::1

Так как сервер времени сам выступает клиентом для получения своего точного времени, настройка источников синхронизации для сервера делается так же, как и для клиента.

Передача параметров NTP через DNS

Параметры для доступа к NTP могут автоматически передаваться клиентам через DNS-сервер.
Подробности см. в DNS-сервер BIND9

Изменение настроек клиентов

Изменение настроек может понадобиться в следующих ситуациях:

  • оптимизация и локализация сетевого трафика
  • работа в изолированной сети
  • работа со специальными серверами времени

По умолчанию, служба настроена на работу с открытым пулом специальных серверов времени,
выбирая при запуске каждый раз новый оптимальный набор серверов со всего мира:

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

При желании ограничить набор серверов российскими серверами можно использовать следующие настройки:

server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org

При необходимости работать в изолированной сети, или при желании ограничить свой внешний трафик, можно использовать свои локальные серверы времени:

server <IP_адрес_сервера_1>
server <IP_адрес_сервера_2>

Особенности работы

Некоторые особенности синхронизации времени описаны в статье про виртуализацию

Служба TIMESYNCD

Служба timesyncd предлагается в качестве современной "легковесной" замены ntp.
Она более проста, интегрирована в ОС, но несколько ограничена в возможностях.
Служба не может выполнять функции сервера, и список серверов времени, с которыми будет выполняться синхронизация, жестко задан в исходном коде службы.

Служба timesyncd устанавливается автоматически при установке ОС , автоматически запускается при каждой перезагрузке ОС, однако немедленно завершает свою работу с сообщением об ошибке, обнаружив, что на компьютере присутствует служба ntp.
Для использования timesyncd в первую очередь необходимо полностью удалить службу ntp:

sudo apt purge ntp
Или, как вариант (чтобы сохранить настройки ntp), остановить, полностью отключить и полностью запретить службу ntp:
sudo systemctl stop ntp
sudo systemctl disable ntp
sudo systemctl mask ntp

После чего запустить службу timesyncd:

sudo systemctl start systemd-timesyncd
Состояние службы можно проверить командой:
sudo systemctl status systemd-timesyncd
Или командой:


sudo timedatectl status
Примерный вывод команды:

      Local time: Ср 2018-12-26 11:08:12 MSK
  Universal time: Ср 2018-12-26 08:08:12 UTC
        RTC time: Ср 2018-12-26 08:08:12
       Time zone: Europe/Moscow (MSK, +0300)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

Настройка аппаратных ( RTC)часов

При использовании службы timesyncd рекомендуется настраивать аппаратные часы компьютера так, чтобы они показывали не локальное, а всемирное координированное время (UTC).
Если этого не сделать, возможны проблемы с коррекцией времени и сменой сезонного локального времени.
Если RTС настроены на локальное время, команда timedatectl status будет выдавать соответствующее предупреждение.
Переключение аппаратных часов на время UTC с одновременной их синхронизацией с системным временем выполняется командой:

sudo timedatectl  set-local-rtc 0
Для переключения с синхронизацией системного времени по показаниям часов RTC можно использовать опцию  --adjust-system-clock.





  • Нет меток