Основные понятия
При работе счасеми используются следующие понятия, связанными друг с другом через параметры временной зоны и настроек аппаратных часов:
Тип | Пояснение | Пример |
---|---|---|
Universal time, UTC | UTC — это всемирное координированное время, стандарт времени, принятый на Земле. | Universal time: Ср 2019-02-20 07:51:49 UTC |
Time Zone | Временная зона. Определяет временное смещение и параметры сезонного (зимнего/летнего) времени. | Time zone: Europe/Moscow (MSK, +0300) |
Local time | Локальное время, местное время. Получается из всемирного координированного времени добавлением временного смещения, определённого во временной зоне. Для Москвы смещение составляет +3 часа (Time zone: Europe/Moscow (MSK, +0300)). Используется в основном для взаимодействия с пользователями системы. | Local time: Ср 2019-02-20 10:51:49 MSK |
RTC time | Аппаратное время. Аппаратные часы рекомендуется всегда использовать RTC в режиме. Если на компьютере установлены несколько операционных систем, то во всех этих операционных системах должны быть выставлены одинаковые параметры системного времени. | RTC time: Ср 2019-02-20 07:51:49 |
Служба времени NTP
Эта служба устанавливается и запускается автоматически при установке ОС, и, в общем случае, для использования в качестве клиентской службы, дополнительных настроек не требует.
Для управления службой в состав дистрибутивов включен графический инструмент 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 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst
При желании ограничить набор серверов российскими серверами можно использовать следующие настройки:
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
При необходимости работать в изолированной сети, или при желании ограничить свой внешний трафик, можно использовать свои локальные серверы времени:
server <IP_адрес_сервера_2>
Особенности работы
Некоторые особенности синхронизации времени описаны в статье про виртуализацию
Служба TIMESYNCD
Служба timesyncd предлагается в качестве современной "легковесной" замены ntp.
Она более проста, интегрирована в ОС, но несколько ограничена в возможностях.
Служба не может выполнять функции сервера, и список серверов времени, с которыми будет выполняться синхронизация, жестко задан в исходном коде службы.
Служба timesyncd устанавливается автоматически при установке ОС , автоматически запускается при каждой перезагрузке ОС, однако немедленно завершает свою работу с сообщением об ошибке, обнаружив, что на компьютере присутствует служба ntp.
Для использования timesyncd в первую очередь необходимо полностью удалить службу ntp:
sudo systemctl disable ntp
sudo systemctl mask ntp
После чего запустить службу timesyncd:
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) часов
При использовании любой службы времени рекомендуется настраивать аппаратные часы компьютера так, чтобы они показывали не локальное, а всемирное координированное время (UTC).
Если этого не сделать, возможны проблемы с коррекцией времени и сменой сезонного локального времени.
Если RTС настроены на локальное время, команда timedatectl status будет выдавать соответствующее предупреждение.
Переключение аппаратных часов на время UTC с одновременной их синхронизацией с системным временем выполняется командой:
Настройка RTC в Windows
Если на компьютере установлены несколько операционных систем, то во всех этих операционных системах должны быть выставлены одинаковые параметры системного времени.
Для ОС семейства Windows использовать параметр реестра: