Проверка работы синхронизации времени#
Вопрос синхронизации времени требует отдельного рассмотрения, так как для работы протокола проверки подлинности Kerberos необходимо, чтобы время на клиенте и на сервере расходилось не более, чем на 5 минут.
По умолчанию в Astra Linux синхронизация времени отключена, но виртуальные машины VirtualBox берут время из хостовой операционной системы во время загрузки после полного выключения, поэтому отсутствие синхронизации времени можно заметить только при работе с горячими снимками, которые были сделаны во время работы операционной системы.
При установке ПКД (как клиентской, так и серверной части) в системе появляется служба chrony
, содержание конфигурационного файла которой автоматически редактируется через механизм групповых политик в соответствии с текущими настройками домена «Роли и службы сайта Служба синхронизации времени». Пользовательские компьютеры синхронизируют время с контроллером, а контроллер берет его у публичных серверов.
Синхронизация даты и времени 1:

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

Текущие настройки службы синхронизации времени на хосте можно посмотреть в файле 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