Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация

Данная статья применима к:

  • ОС ОН Орёл 2.12
  • ОС СН Смоленск 1.6
  • ОС СН Ленинград 8.1


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

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

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


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

Основные понятия

Системные часы оперируют тремя основными типами времени, связанными друг с другом через параметры временной зоны и настроек аппаратных часов:

ТипПояснениеПример

Universal time, UTC

UTC — это всемирное координированное время, стандарт времени, принятый на Земле.
От UTC отсчитываются часовые пояса. UTC заменил устаревшее время по Гринвичу (GMT).
UTC расшифровывается как Coordinated Universal Time (по-английски) или Temps universel coordonné (по-французски).
Так как не зависит от местоположения компьютера, используется в качестве системного времени:
времени в ядре ОС, для отметок времени для записи журналов, и для синхронизации времени службами времени.

Universal time: Ср 2019-02-20 07:51:49 UTC

Local time

Локальное время, местное время. Получается из всемирного координированного времени добавлением временного смещения временной зоны.
Для Москвы смещение составляет +3 часа (Time zone: Europe/Moscow (MSK, +0300).
Используется в основном для взаимодействия с пользователями системы.

Local time: Ср 2019-02-20 10:51:49 MSK

RTC time

Аппаратное время.
Время, установленное в аппаратных часах компьютера (Real Time Clock, RTC, также CMOS или BIOS time).
Используется для первоначальной установки времени при загрузке ОС.
Аппаратные часы могут быть настроены как на всемирное координированное, так и на местное время.
При установке системного времени (UTC) на основании показаний аппаратных часов (UTC или местное) операционная система принимает решение о том, какое именно время
(UTC или местное) показывают аппаратные часы, на основании собственных настроек (см. man systemdatectl).

Рекомендуется использовать RTC в режиме

RTC time: Ср 2019-02-20 07:51:49

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

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

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


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

Command

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:

Command
sudo apt purge ntp

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

Command
sudo systemctl stop ntp
sudo systemctl disable ntp
sudo systemctl mask ntp


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

Command
sudo systemctl start systemd-timesyncd

Состояние службы можно проверить командой:

Command
sudo systemctl status systemd-timesyncd

Или командой:

Command

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 с одновременной их синхронизацией с системным временем выполняется командой:

Command
sudo timedatectl  set-local-rtc 0

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