Проверка работы синхронизации времени

Проверка работы синхронизации времени#

Вопрос синхронизации времени требует отдельного рассмотрения, так как для работы протокола проверки подлинности Kerberos необходимо, чтобы время на клиенте и на сервере расходилось не более, чем на 5 минут.

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

При установке ПКД (как клиентской, так и серверной части) в системе появляется служба chrony, содержание конфигурационного файла которой автоматически редактируется через механизм групповых политик в соответствии с текущими настройками домена «Роли и службы сайта Служба синхронизации времени». Пользовательские компьютеры синхронизируют время с контроллером, а контроллер берет его у публичных серверов.

Синхронизация даты и времени 1:

../../../_images/package_7.png

Синхронизация даты и времени 2:

../../../_images/package_8.png

Текущие настройки службы синхронизации времени на хосте можно посмотреть в файле chrony.conf:

cat /etc/chrony/chrony.conf

Принудительно обновить содержание конфигурационного файла через механизм групповых политик можно перезапуском службы aldpro-salt-minion.service:

systemctl restart aldpro-salt-minion.service

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

systectl restart chrony

Текущее состояние синхронизации можно узнать в приложении Дата и Время или командой timedatectl:

timedatectl

Для взаимодействия со службой chronyd во время ее работы предназначен интерфейс командной строки chronyc. Чтобы увидеть, с какими серверами служба устанавливает соединение, можно отправить через него команду sources. Символом звездочки отмечен сервер, время которого установлено в системе:

### chronyc sources -v
...
^* dc-1.ald.company.local    2      6       377 51 +4571ns[ -48us] +/- 19ms
...

В настройках chrony, которые использует ПКД, указан параметр makestep, поэтому при выполнении синхронизации компьютер сразу устанавливает требуемое значение.

Если будет отсутствовать параметр makestep, то служба будет медленно «подтягивать» время к требуемом значению (по несколько секунд в минуту), и будет казаться, что синхронизация времени не работает. Форсировать переход к целевому значению в этом случае вы можете вызовом команды makestep через chornyc:

chronyc makestep

В настройках chrony, которые использует ПКД, указан параметр rtcsync, поэтому клиенты сверяют часы каждые 11 минут. Параметр rtcsync так же необходим для того, чтобы служба chrony при синхронизации времени сбрасывала флаг STA_UNSYNC, иначе в приложении Дата и время будет оставаться предупреждение об отсутствии синхронизации.

Если требуется проверить работу NTP-сервера, можно воспользоваться командой ntpdate с ключом q (query only, отправить только запрос без изменения времени). Полезными являются также ключи v и d, включающие подробный вывод (verbose) и отладку (debugging) соответственно.

ntpdate -qvd dc-1.ald.company.local

После синхронизации времени указанная выше команда timedatectl может показать расхождение между системным временем ALSE (Universal time) и значением времени в BIOS (RTC time, real time clock), так как запись в BIOS происходит только при выключении компьютера. Записать текущее время системы в BIOS можно утилитой hwclock с параметром systohc:

hwclock --systohc

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

admin@dc-1:~$ kinit
Password for admin@ALD.COMPANY.LOCAL: *********

Информацию о выданных билетах можно увидеть командой klist:

admin@dc-1:~$ klist Ticket cache:
KEYRING:persistent:1194600000:krb_ccache_Y1bhW3f Default principal: admin@ALD.COMPANY.LOCAL valid starting Expires Service principal 16.10.2022 14:40:20 17.10.2022 14:40:18 krbtgt/ALD.COMPANY.LOCAL@ALD.COMPANY.LOCAL