4h4-auto.ru

4х4 Авто
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как синхронизировать сервер времени на контроллере домена

Как синхронизировать сервер времени на контроллере домена

В этой статье я расскажу о:

    синхронизации времени среди участников Active Directory
  • оптимальной с моей точки зрения конфигурации сервера времени корневого PDC
  • полезных командах для настройки и диагностики синхронизации времени , которые нужно учитывать для виртуализированных контроллеров домена

Топология синхронизации времени среди участников Active Directory

Среди компьютеров, участвующих в Active Directory работает следующая схема синхронизация времени.

  • Контроллер корневого домена в лесу AD, которому принадлежит роль PDC (назовем его корневым PDC), является источником времени для всех остальных контроллеров этого домена.
  • Контроллеры дочерних доменов синхронизируют время с вышестоящих по топологии AD контроллеров домена.
  • Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.

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

Синхронизация клиентов корневого PDC может осуществятся как с его внутренних часов, так и с внешнего источника. В первом случае сервер времени корневого PDC объявляет себя как «надежный» (reliable).

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

Конфигурация NTP-сервера на корневом PDC

Конфигурирование сервера времени (NTP-сервера) может осуществляться как с помощью утилиты командной строки w32tm, так и через реестр. Где возможно, я приведу оба варианта.

Включение синхронизации внутренних часов с внешним источником

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters]
    «Type»=»NTP»
  • w32tm /config /syncfromflags:manual

Подробности — в библиотеке TechNet.

Объявление NTP-сервера в качестве надежного

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig]
    «AnnounceFlags»=dword:0000000a
  • w32tm /config /reliable:yes

Подробности — в библиотеке TechNet.

Включение NTP-сервера

NTP-сервер по умолчанию включен на всех контроллерах домена, однако его можно включить и на рядовых серверах.

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer]
    «Enabled»=dword:00000001

Задание списка внешних источников для синхронизации

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters]
    «NtpServer»=»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8»
  • w32tm /config /manualpeerlist:»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8″

Флаг 0×8 на конце означает, что синхронизация должна происходить в режиме клиента NTP, через предложенные этим сервером интервалы времени. Для того, чтобы задать свой интервал синхронизации, необходимо использовать флаг 0×1. Все остальные флаги описаны в библиотеке TechNet.

Задание интервала синхронизации с внешним источником

Время в секундах между опросами источника синхронизации, по умолчанию 900с = 15мин. Работает только для источников, помеченных флагом 0×1.

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient]
    «SpecialPollInterval»=dword:00000384

Установка минимальной положительной и отрицательной коррекции

Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.

Читайте так же:
Регулировка переменного напряжения 12 вольт

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig]
«MaxPosPhaseCorrection»=dword:FFFFFFFF
«MaxNegPhaseCorrection»=dword:FFFFFFFF

Все необходимое одной строкой

w32tm.exe /config /manualpeerlist:»time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 pool.ntp.org,0x8″ /syncfromflags:manual /reliable:yes /update

Полезные команды

  • Применение внесенных в конфигурацию службы времени изменений
    w32tm /config /update
  • Принудительная синхронизация от источника
    w32tm /resync /rediscover
  • Отображение состояния синхронизации контроллеров домена в домене
    w32tm /monitor
  • Отображение текущих источников синхронизации и их статуса
    w32tm /query /peers

Особенности виртуализированных контроллеров домена

Контроллеры домена, работающие в виртуализированной среде, требуют к себе особенного отношения.

Сбивается время на виртуальном контроллере домена

Простое решение проблемы ухода времени на контроллере домена, установленного на виртуальную машину Hyper-V под управлением Windows Server 2008/2012.

Во время работы контроллера домена под управлением Windows Server 2008 R2/2012, установленного на виртуальную машину Hyper-V, было замечен постоянный уход времени – за месяц время могло уйти чуть ли не на полчаса. Нужно ли говорить, насколько важно точное время на контроллере домена, ведь по нему синхронизируется весь парк компьютеров домена.

1. Отключить синхронизацию времени с хост-машиной

Для начала нужно отключить синхронизацию времени гостевой машины по времени хост-машины, иначе мы получаем казус. Если хост-машина является членом домена, хост синхронизируется по контроллеру на гостевой машине, а гостевая машина синхронизируется по хосту – получаем замкнутый цикл, который скорее всего и приводит к постоянному смещению времени внутри себя. Смещение получается буквально на какие-то доли секунды, но постепенно складываясь за каждый цикл синхронизации набегает весьма ощутимый сдвиг часов.

В параметрах виртуальной машины Настройка → Службы интеграции → Синхронизации времени – снять птичку

2. Настроить синхронизацию по NTP-серверу

Инструментарий

Для настройки воспользуемся утилитой командой строки w32tm. Основные параметры утилиты, которые применяются для настройки и управления временем:

w32tm /query позволяет опросить текущие настройки клиента и сервера NTP w32tm /config используется для настройки службы времени w32tm /resync используется для инициализации синхронизации времени w32tm /dumpreg используется для отображения текущих параметров реестра связанных с службой времени w32tm /debug используется для включения журнала отладки службы времени

Настройка

Выполняется настройка синхронизации времени на контроллере домена под управлением Windows Server 2008 R2 с ролью FSMO «Эмулятор PDC»:

w32tm /query /configuration смотрим текущие параметры службы времени w32tm /config /syncfromflags:manual выбираем источник (заданный нами список) для синхронизации времени w32tm /config /manualpeerlist:»server1.ntp.org server2.ntp.org» устанавливаем заданный вручную список узлов для синхронизации. Узлы представляют собой DNS-имена или IP-адреса, разделённые пробелами. При указании нескольких узлов, все значения узлов заключаются в кавычки. Можно, конечно ограничится и одним привычным time.windows.com w32tm /config /reliable:yes задаем параметр, что данная машина является надёжным источником времени и может обслуживать клиентов w32tm /config /update информируем службу времени, что были внесены изменения (можно перезапустить службу) w32tm /query /configuration проверяем внесенные изменения в параметры службы w32tm /resync выполняем синхронизацию (можно поиграться, менять время и проверять, будет ли выполнена синхронизация)

Читайте так же:
Где регулировка фар авео

Для большей надежности можно еще и перезапустить Службу времени командами net stop w32time и net start w32time .

Для удобства, перечисленные команды хорошо собрать в один cmd-файлик и решать вопрос в один клик:

О времени в Active Directory Domain Services на VMware vSphere

Ранее, в статье Ошибки проектирования Active Directory, был поднят вопрос о времени. Точное время — гарантия успеха и корректной работы Active Directory Domain Services, но как обеспечить точность времени в среде VMware vSphere? Сегодня об этом практическом вопросе мы и поговорим.

Точный хронометраж — обязательное условие для проектирования служб Active Directory. Время участвует в множестве процессов, которые протекают в ИТ инфраструктуре. Если рассматривать пример служб каталогов, на точном времени завязаны процессы аутентификации и арбитраж репликации. Другим примером может послужить работа SIEM систем. Время для них не менее критично, так как их задача сводится к корреляции событий с различных источников данных. В случае рассинхронизации, контроли информационной безопасности просто не будут работать корректно.

Хронометраж в среде VMware vSphere

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

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

В режиме отсчета времени, происходит следующее: после старта системы аппаратное устройство начинает производить хронометраж. При необходимости производится считывание показаний этого счетчика. Системы на базе Windows используют периодический таймер CMOS для доставки прерываний или тиков.

Помимо подсчета времени, операционные системы также должны отслеживать абсолютное время. Когда система запускается, она считывает начальное время CMOS с точностью до секунды и запрашивает по сети данные с NTP сервера для получения более точных результатов. Затем используется один из методов, описанных выше, для измерения хода времени с этого момента.

Кроме того, чтобы исправить возможную рассинхронизацию времени и другие ошибки в измерениях, операционная система включает в себя демон, который периодически запускается для сверки часов с NTP серверами. Например, в системах семейства Windows, этот демон называется w32tm.

Среда VMware vSphere предоставляет виртуальным машинами все те же два способа хронометража плюс один дополнительный — VMware Tools. VMware Tools, или средства интеграции, служат для задач корректной работы виртуальной машины. Интересующая нас опция —включение периодической синхронизации времени. После ее активации будет выполняться сверка часов виртуальной машины и гипервизора каждую минуту.

Читайте так же:
Отключить автономные файлы в центре синхронизации

Опция Synchronize guest time with host

Опция Synchronize guest time with host

При отставании часов в гостевой ОС, средства интеграции переместят часы в будущее, чтобы часы гостевой ОС и гипервизора совпадали. В обратном случае, когда часы гостевой ОС спешат по сравнению к часам гипервизора, будет начат процесс постепенного замедления времени до полной синхронизации. Синхронизация времени по умолчанию отключена для всех виртуальных машин. Чтобы убедиться в этом, можно проверить пользовательский интерфейс.

Но есть нюанс, даже если синхронизация времени VMware Tools отключена, синхронизация времени выполняется во время запуска гостевой операционной системы и во время некоторых операций обслуживания виртуальной машины на платформе vSphere. К этому интересному нюансу, я обязательно вернуть чуть позже в практической части.

Закладываем правильный фундамент

Один из ключевых принципов проектирования Active Directory — предоставление надежного источника времени для контроллеров домена. Контроллер домена полагается на точное время для аутентификации Kerberos и процесса репликации. Для Kerberos не требуется высокая точность (в дефолте, максимальное время отклонения составляет 5 минут), а вот использование времени в качестве механизма арбитража для репликации уже требует. Время между контроллерами домена должно быть как можно меньше. Так же, необходимо учитывать особенности платформы VMware vSphere, так как настроить время только в рамках контролеров домена будет недостаточно.

Чтобы заложить правильный фундамент, нужно выполнить 3 шага:

  1. Конфигурирвоание времени на хостах ESXi;
  2. Модификация параметров виртуальной машины с контроллером домена;
  3. Настройка служб точного времени Windows на самом контроллере домена.

Первый шаг – настроить все хосты ESXi на синхронизацию с надёжным источником точного времени. В качестве NTP сервера может быть источник времени Stratum 1 (GPS или аппаратные часы) или источник времени Stratum 2 или Stratum 3 (например, pool.ntp.org). Для Украины, в частности для Киева, рекомендую использовать сервера точного времени time.in.ua:

  • ntp.time.in.ua — основной сервер точного времени (stratum 1);
  • ntptime.in.ua — резервный сервер точного времени (stratum 1);
  • ntptime.in.ua — резервный сервер точного времени (stratum 2).

Важно использовать несколько источников одного уровня.

Active Directory в среде виртуализации VMware vSphere

Active Directory в среде виртуализации VMware vSphere

Второй шаг – необходимо добиться условия, при котором время контроллером домена синхронизируется только на моменте старта.

Как уже писалось ранее, есть нюанс в работе VMware Tools. Даже если синхронизация времени отключена, существуют частные случаи, когда это происходит. Например, когда виртуальная машина восстанавливается со снепшота, гибернации или выполняет миграция чрез vMotion.

Для рядовых серверов домена, такое поведение не является критичным ввиду того, что контроллер домена выступает для них источником точного времени. Причем время от него является приоритетнее, чем от ESXi гипервизора. С контроллером домена, держателем FSMO роли PDC эмулятора, оставить дефолтную конфигурацию будет не корректно. Он сам выступает источником точного времени и не должен зависеть от среды виртуализации. В конфигурацию виртуальной машины необходимо добавить следующие строки:

Читайте так же:
Система регулировки открытия клапанов
NameValue
tools.syncTime
time.synchronize.continue
time.synchronize.restore
time.synchronize.resume.disk
time.synchronize.shrink
time.synchronize.tools.startup
time.synchronize.tools.enable
time.synchronize.resume.host

Более подробную информацию можно найти в соответствующей KB

Третий шаг – это настройка службы времени Windows (w32tm). На контроллере домена выполняем 3 команды в cmd:

w32tm /config /syncfromflags:manual /manualpeerlist:ntp.time.in.ua (NTP сервера могут быть любыми)

w32tm /config /update

w32tm /resync

Выводы

Время – критический элемент инфраструктуры. На нем завязана работа множества систем, а не только инфраструктуры Active Directory. Но именно Active Directory Domain Services выполняют роль источника точного времени для всей Windows инфраструктуры, что означает необходимость в ее правильной конфигурации.

Контроллер домена на Ubuntu 18.04 – Синхронизация времени – NTP

Время – краеугольный камень всех “этих их интернетов”. Контроллер домена на Ubuntu 18.04 – не исключение. Если в вашей локальной сети, различие во времени между контроллером и устройствами, превышает 5 минут, у вас проблемы. AD использует время для разрешения конфликтов репликации. Какие-то рабочие станции не смогут авторизоваться в домене. Какие-то из устройств что были авторизованы в домене ранее, не смогут получить доступ к папкам внутри сети. Начнется хаос и беспорядки.

Немного теории

На сайте Samba как рекомендуемое лучшее решение указана следующая схема:

Primary Domein Cotroller получает время из интернета, остальные DC получают время от PDC, рабочие станции получают время от любого DC в сети. Тем не менее, существует проблема с вендами. Клиенты венды, получают время исключительно от PDC и если PDC оффлайн, они перестают обновлять своё время. В то же время DC перестает обновлять своё время до тех пор, пока не включится PDC. Актуальным решением проблемы на данный момент будет настройка как PDC так и DC на получение времени с одинаковых внешних серверов. А в случае падения PDC без возможности включить его в строй в кратчайшие сроки – перенос роли PDC на другой DC внутри сети. Ясное дело что для реализации данного сценария в сети уже должны функционировать как PDC так и резервный DC.

Входящие в домен клиенты windows, синхронизируют своё время по протоколу NT5DC с AD-DC. Протокол NT5DC использует цифровые подписи. В случае когда Samba сервер и сервер времени расположен на одной машине, весь этот функционал может предоставить Samba. Так же можно перенастроить все машины на использование обычного NTP, но делать это не рекомендуется.

Читайте так же:
Автоматическая регулировка кулера на mac

Контроллер домена на Ubuntu 18.04 – Синхронизация времени с помощью ntpd

Требования

Устанавливаем пакет

Проверяем права на сокет

Демон должен иметь права на чтение директории ntp_signd

Ищем директорию ntp_signd

Контроллер домена на Ubuntu 18.04 - Синхронизация времени - ntp_signd

Результат sudo find / -name ntp_signd

Смотрим права на директорию

Мы должны увидеть следующее:

Настраиваем права на директорию

Меняем группу владельца директории на ntp
Устанавливаем права на директорию 750

Несмотря на то, что скорее всего изначально права на эту директорию выставлены 750, не лишним будет показать команду с помощью которой это можно сделать:

Проверяем права на директорию

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

Права доступа: drwxr-x— , что означает 750
Владелец: root
Группа владельцев: ntp

Контроллер домена на Ubuntu 18.04 - Синхронизация времени - права на директорию ntp_signd

Права на директорию ntp_signd

Настраиваем файл ntpd.conf

Создаем файл ntpd.conf

И вносим в него стандартные настройки:

При настройке NTP сервера в виртуальной среде

Отключаем панику NTP

Вносим в конец файла /etc/ntp.conf запись tinker panic 0

Для чего нужна команда tinker panic 0

Если ваш ntp сервер настраивается на виртуальной машине, то у него нету физических часов измеряющих время. Работа виртуальной машины по той или иной причине в любой момент может быть приостановлена и возобновлена спустя много часов. В таком случае, в момент обновления времени из интернета, если локальное время и время из интернета сильно различаются, ntpd запаникует и самовыпилится.

Пункт 5.1.1.4 официальной документации

В идеале, эталонное время по всему миру – одинаковое. Будучи синхронизированным однажды, между локальным и эталонным временем не должно появиться неожиданных различий. В связи с этим, NTP не обладает какими-либо механизмами для разрешения возникающей проблемы.

Однако реакция ntpd будет зависеть от величины разницы между локальным и эталонным временем. При очень маленьком различии во времени, ntpd подкорректирует локальное время как и обычно. При маленьких и средних отклонениях, ntpd будет игнорировать эталонное время в течении небольшого промежутка. В последнем случае, локальные часы продолжат работать с тем временем, которое было на момент последней успешной синхронизации. Эталонное время, получаемое из вне, содержащее отклонение от локального – будет игнорироваться. При этом, постепенно, маленькие отклонения (намного меньше секунды), будут выравниваться, путем пошаговой подстройки локальных часов к эталонному времени. Средние же отклонения приведут к переустановке значения времени локальных часов на эталонное, без пошаговой подстройки. Огромные же отклонения будут проигнорированы и приведут к тому, что ntpd самовыпилится, будучи уверенным в том что в мире полном зла, творится что-то очень для него непонятное. Этот же алгоритм действий применяется при первом запуске ntpd после перезагрузки.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector