Страница 1 из 1

Настройка сервера времени в домене Active Directory.

Добавлено: 04 дек 2008 12:54, Чт
UncleFather

Задача:

Имеется домен Active Directory на базе нескольких серверов MS Windows Server.
Необходимо настроить синхронизацию времени всех членов домена по следующей схеме:

  • Первичный контроллер домена является сервером времени. Он синхронизируется с одним из общедоступных серверов времени (например, 0.ru.pool.ntp.org или ntp0.ntp-servers.net и далее - 1.ru.pool.ntp.org, ntp1.ntp-servers.net);

  • Вторичные контроллеры домена являются серверами времени. Они синхронизируются с первичным контроллером домена;

  • Прочие ПК и серверы не являются серверами времени. Синхронизируются с контроллерами домена.


Решение:

На контроллерах домена, которые будут серверами времени выполняем следующие шаги:

  1. От имени Администратора регистрируем службу времени:

    Код: Выделить всё

    w32tm /register
  2. На первичном контроллере домена прописываем поставщиков времени:
    через реестр:

    Код: Выделить всё

    reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v NtpServer /t REG_SZ /d "0.ru.pool.ntp.org,0x1,ntp0.ntp-servers.net,0x1" /f

    или из командной строки с правами Администратора (служба w32tm должна быть запущена):

    Код: Выделить всё

    w32tm /config /manualpeerlist:"0.ru.pool.ntp.org,0x1,ntp0.ntp-servers.net,0x1"

    и тип синхронизации - с внешним сервером NTP:
    через реестр:

    Код: Выделить всё

    reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v Type /t REG_SZ /d "NTP" /f

    или из командной строки с правами Администратора (служба w32tm должна быть запущена):

    Код: Выделить всё

    w32tm /config /syncfromflags:manual
  3. На вторичных контроллерах домена прописываем тип синхронизации, согласно доменной иерархии:
    через реестр:

    Код: Выделить всё

    reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters /v Type /t REG_SZ /d "NT5DS" /f

    или из командной строки с правами Администратора (служба w32tm должна быть запущена):

    Код: Выделить всё

    w32tm /config /syncfromflags:DOMHIER
  4. На всех контроллерах домена прописываем интервал синхронизации, ну, например, 30 минут через реестр:

    Код: Выделить всё

    reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 1800 /f

    Из командной строки настройка недоступна.

    Объявляем их в качестве надежных поставщиков времени:
    через реестр:

    Код: Выделить всё

    reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config /v AnnounceFlags /t REG_DWORD /d 10 /f

    или из командной строки с правами Администратора (служба w32tm должна быть запущена):

    Код: Выделить всё

    w32tm /config /reliable:yes

    Запускаем службу времени:

    Код: Выделить всё

    net start w32time

    Применяем выполненные изменения:

    Код: Выделить всё

    w32tm /config /update

    И принудительно синхронизируем серверы времени с источниками:

    Код: Выделить всё

    w32tm /resync /rediscover

Командный файл выглядит так:

для первичного контроллера домена

Код: Выделить всё

@Echo Off
w32tm /register
net start w32time
w32tm /config /manualpeerlist:"0.ru.pool.ntp.org,0x1,ntp0.ntp-servers.net,0x1"
w32tm /config /syncfromflags:manual
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 1800 /f
w32tm /config /reliable:yes
w32tm /config /update
net stop w32time
net start w32time
w32tm /resync /rediscover
для вторичного контроллера домена

Код: Выделить всё

@Echo Off
w32tm /register
net start w32time
w32tm /config /syncfromflags:DOMHIER
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v SpecialPollInterval /t REG_DWORD /d 1800 /f
w32tm /config /reliable:yes
w32tm /config /update
net stop w32time
net start w32time
w32tm /resync /rediscover

Архив с командными файлами можно скачать здесь:

W32Settings.rar
(1.81 КБ) 0 скачиваний

Настраиваем DHCP для клиентов:

В настройках DHCP сервера (или в настройках для каждой зоны) прописываем в опцию 042 «NTP Servers» (для оборудования Apple, нужно прописать ITP сервер 004 «Time Servers») адреса контроллеров домена с настроенными серверами NTP:

01.png

Настраиваем групповые политики для ПК домена:

Если все компьютеры являются членами домена, то как альтернативу настройкам через DHCP, можно использовать настройку через групповые политики.

Для этого открываем Объект политики -> «Конфигурация компьютера» -> «Конфигурация Windows» -> «Административные шаблоны» -> «Система» -> «Служба времени Windows» -> «Поставщик времени». Здесь включаем параметр «Включить NTP-клиент Windows» и настраиваем параметр -> «Настроить NTP-клиент Windows»:

  • NtpServer - PDC.mydomai.com,0x9,BDC.mydomai.com,0x9 (указываем настроенные NTP серверы своего домена);

  • Type - NT5DS (то есть синхронизируемся в соответствии с доменной иерархией);

  • SpecialPollInterval - 1800 (частота синхронизации времени)

02.png

Устаревшие рекомендации

Настраиваем сервера времени, с которых будем брать текущее время:

Код: Выделить всё

net time /SETSNTP:time.windows.com,ntp.psn.ru,time.nist.gov

Создаем батник со следующим содержанием:

Код: Выделить всё

@ECHO OFF
w32tm /config /syncfromflags:manual /manualpeerlist:time.windows.com
w32tm /config /update
REM w32tm /config /syncfromflags:manual /manualpeerlist:ntp.psn.ru
REM w32tm /config /update
EXIT

Добавляем новое назначенное задание, где в качестве выполняемого файла указываем этот батник, расписание ставим - ежедневно, а время - до начала рабочего дня, чтобы при загрузке компы подхватывали с сервера правильное время.


Если мы планируем использовать внутренние часы, встроенные в микросхему CMOS:

Чтобы служба времени на компьютере, являющемся хозяином операций PDC, не использовала внешний источник времени, необходимо изменить параметр реестра AnnounceFlags. Хозяином PDC называется сервер, исполняющий роль эмулятора PDC корневого домена леса. Данное изменение конфигурации предписывает хозяину PDC сообщать о себе как о надежном источнике времени и использовать часы, встроенные в микросхему CMOS

Либо качаем и выполняем патч, либо вручную делаем:

  1. В реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags меняем значение параметра "AnnounceFlags" на "A" (без кавычек, заглавная, латиницей (в английской раскладке клавиатуры).

  2. Перезапускаем службу времени.

    Код: Выделить всё

    net stop w32time && net start w32time

Примечание: Служба времени хозяина PDC не должна быть настроена на синхронизацию с самим хозяином PDC. Дополнительные сведения о том, почему основной контроллер домена не следует настраивать на синхронизацию с самим собой, см. документе (RFC 1305). Если основной контроллер домена настроен на синхронизацию с самим собой, в журнал системы записываются указанные ниже события:

Тип события: Сведения
Источник события: W32Time
Категория события: отсутствует
Код события: 38
Компьютер: имякомпьютера
Описание: NTP-клиент поставщика времени не может достичь или получает неправильные данные о времени с адреса IP-адрес
сервера_NTP. Для получения дополнительных сведений посетите веб-узел центра справки и поддержки по адресу http://support.microsoft.com.

Тип события: Предупреждение
Источник события: W32Time
Категория события: отсутствует
Код события: 47
Компьютер: имякомпьютера
Описание: NTP-клиент поставщика времени: правильный ответ от узла IP-адрес
NTP-сервера не был получен после 8 попыток обращения. Этот узел не будет использоваться в качестве источника времени, а NTP-клиент попытается найти новый узел с этим доменным именем. Для получения дополнительных сведений посетите веб-узел центра справки и поддержки по адресу http://support.microsoft.com.

Тип события: ошибка
Источник события: W32Time
Категория события: отсутствует
Код события: 29
Компьютер: имя_компьютера
Описание: NTP-клиент поставщика времени настроен на получение времени из одного или нескольких источников, однако ни один из этих источников не доступен. Попытки подключения к источнику не будут выполняться в течение 15 мин. NTP-клиент не имеет источника правильного времени. Для получения дополнительных сведений посетите веб-узел центра справки и поддержки по адресу http://support.microsoft.com.

Если служба времени хозяина PDC не использует внешний источник времени, то в журнале событий приложений будет регистрироваться следующее событие.
Тип события: ошибка
Источник события: W32Time
Категория события: —
Код события: 12
Описание NTP-клиент поставщика времени: этот компьютер использует доменную структуру для определения своего источника времени, но для этого домена в корне леса находится PDC-эмулятор, поэтому нет компьютера, расположенного выше в доменной иерархии, который можно использовать как источник времени. Рекомендуется настроить надежную службу времени в корневом домене либо вручную настроить PDC для синхронизации с внешним источником времени. В противном случае этот компьютер будет выступать в роли основного источника времени в иерархии домена. Если внешний источник времени не настроен или не должен использоваться для этого компьютера, можно отключить NTP-клиент.

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


Если мы планируем для службы времени Windows использовать внешний источник, то либо качаем и выполняем патч, либо вручную делаем:

  1. Меняем тип сервера на NTP. В реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type меняем значение параметра "Type" на "NTP" (английская раскладка клавиатуры), верхний регистр (заглавные буквы)).

  2. Присваиваем параметру "AnnounceFlags" значение "5". В реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags находим параметр AnnounceFlags и устанавливаем ему значение 5 (без кавычек).


    Примечания:

    • Если полномочный сервер времени, на котором флаг AnnounceFlag равен 0x5, не синхронизируется с вышестоящим сервером, клиентский сервер может неправильно синхронизироваться с ним при возобновлении синхронизации между полномочным сервером времени и вышестоящим сервером. Соответственно, при наличии проблем с сетевым подключением или иных потенциальных причин сбоя синхронизации полномочного сервера с вышестоящим для флага AnnounceFlag следует задать значение 0xA, а не 0x5.

    • Если полномочный сервер времени, на котором флаг AnnounceFlag равен 0x5, синхронизируется с вышестоящим сервером по интервалу SpecialPollInterval, клиентский сервер может неправильно синхронизироваться с ним после перезагрузки полномочного сервера времени. Соответственно, если для полномочного сервера времени настроена синхронизация с вышестоящим NTP-сервером по фиксированному интервалу SpecialPollInterval, для флага AnnounceFlag следует задать значение 0xA, а не 0x5.

  3. Включаем сервер NTP. В реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer меняем значение параметра "Enabled" на "1" (без кавычек).

  4. Указываем источники времени. В реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters меняем значение параметра "NtpServer" на список узлов, предоставляющих данные о текущем времени (то есть список внешних серверов NTP). Для разделения имен узлов в списке используются пробелы. Все имена DNS в данном списке должны быть уникальными. В конце каждого имени DNS необходимо добавлять символы ",0x1" (без кавычек). Если данные символы не были добавлены, то изменения, вносимые на следующем шаге, не вступят в силу.

  5. Задаем интервал опроса. В реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval устанавливаем значение параметра "SpecialPollInterval" числом, означающим интервал времени (в секундах) между двумя опросами. Рекомендуется установить его равным 900. В этом случае опрос будет выполняться каждые 15 минут.

  6. Задаем параметры, определяющие максимальную величину коррекции времени.

    • В реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection устанавливаем значение параметра "MaxPosPhaseCorrection" в секундах.

    • В реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection устанавливаем значение параметра "MaxNegPhaseCorrection" в секундах.

    Примечание: Оба последних параметра, определяющих максимальную величину коррекции времени могут принимать любое значение в разумных пределах (например, 1 час (3600) или 30 минут (1800)). Данные значения выбираются исходя из величины интервала опроса, состояния сети и типа внешнего источника времени.

  7. Перезапускаем службу времени:

    Код: Выделить всё

    net stop w32time && net start w32time

Дополнения:

  • Для того, чтобы сервер MS Winsows стал полноценным поставщиком (сервером) NTP, выполняем команду:

    Код: Выделить всё

    w32tm /register

    Чтобы убедиться, что сервер NTP включен, в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer[/b] смотри значение параметра "Enabled". Он должен быть равен"1" (без кавычек)

    Справку по команде w32tm смотрим так:

    Код: Выделить всё

    w32tm /?

    Настраиваем w32tm так:

    Код: Выделить всё

    w32tm /config
  • Параметры реестра, используемые службой времени Windows Server и Windows Workstation:

    • MaxPosPhaseCorrection - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] - Этот параметр задает максимальную величину положительной коррекции времени, которую может выполнить служба времени. Если окажется, что величина коррекции превышает допустимое значение, то будет зарегистрировано соответствующее событие. Значение 0xFFFFFFFF указывает на то, что коррекция времени будет выполняться всегда. По умолчанию для компьютеров-членов домена используется значение 0xFFFFFFFF, а для автономных компьютеров и серверов – значение 54 000 (15 часов).

    • MaxNegPhaseCorrection - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] - Этот параметр задает максимальную величину отрицательной коррекции времени, которую может выполнить служба времени. Если окажется, что величина коррекции превышает допустимое значение, то будет зарегистрировано соответствующее событие. Значение -1 означает, что коррекция времени будет выполняться всегда. По умолчанию для компьютеров-членов домена используется значение 0xFFFFFFFF, а для автономных компьютеров и серверов – значение 54 000 (15 часов).

    • MaxPollInterval - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config] - Данный параметр задает наибольший допустимый интервал (в секундах) между опросами. Обратите внимание, что система обязана отправлять запрос по истечении интервала опроса, однако поставщик времени может проигнорировать данный запрос. Для членов домена по умолчанию используется значение 10, а для автономных компьютеров и серверов – значение 15.

    • SpecialPollInterval - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient] - Этот параметр определяет интервал опроса (в секундах) при задании узлов для синхронизации вручную. Если установлен флаг SpecialInterval 0x1, служба W32Time использует величину интервала опроса, указанную в параметре SpecialPollInterval, а не значение, определяемое операционной системой. Для членов домена по умолчанию используется значение 3 600, а для автономных компьютеров и серверов – значение 604 800.

    • Type - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters] - Этот параметр задает тип синхронизации:

      • NoSync — NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются системные часы, встроенные в микросхему CMOS самого сервера.

      • NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer.

      • NT5DS — NTP-сервер производит синхронизацию согласно доменной иерархии.

      • AllSync — NTP-сервер использует для синхронизации все доступные источники.

    • NtpServer - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters] - Задает список внешних источников (серверов времени), с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0×1). В конце каждого имени можно добавлять флаг (напр. ,0x1) который определяет режим для синхронизации с сервером времени. Допускаются следующие значения:

      • 0x1 – SpecialInterval, использование специального интервала опроса ;

      • 0x2 – режим UseAsFallbackOnly;

      • 0x4 – SymmetricActive, симметричный активный режим;

      • 0x8 – Client, отправка запроса в клиентском режиме.

      При использовании флага SpecialInterval, необходимо установленное значение интервала в ключе SpecialPollInterval. При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией. Подробнее о режимах синхронизации можно посмотреть здесь, либо просто ставить везде ,0x1 (как советует Microsoft).

    • AnnounceFlags - [HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\W32Time\Config] - отвечает за то, как о себе заявляет NTP-сервер и может принимать следующие значения:

      • 0x0 (Not a time server) — сервер не объявляет себя через NetLogon, как источник времени. Он может отвечать на NTP запросы, но соседи не смогут распознать его, как источник времени;

      • 0x1 (Always time server) — сервер будет всегда объявлять о себе вне зависимости от статуса;

      • 0x2 (Automatic time server) — сервер будет объявлять о себе только, если он получает надежное время от другого соседа (NTP или NT5DS);

      • 0x4 (Always reliable time server) — сервер будет всегда заявлять себя, как надежный источник времени;

      • 0x8 (Automatic reliable time server) — контроллер домена автоматически объявляется надежным если он PDC-эмулятор корневого домена леса. Этот флаг позволяет главному PDC леса заявить о себе как об авторизованном источнике времени для всего леса даже при отсутствии связи с вышестоящими NTP-серверами. Ни один другой контроллер или рядовой сервер (имеющие по умолчанию флаг 0x2) не может заявить о себе, как надежном источнике времени, если он не может найти источник времени для себя.

      Значение AnnounceFlags составляет сумму составляющих его флагов, например:

      10=2+8 — NTP-сервер заявляет о себе как о надежном источнике времени при условии, что сам получает время из надежного источника либо является PDC корневого домена. Флаг 10 задается по умолчанию как для членов домена, так и для отдельно стоящих серверов.

      5=1+4 — NTP-сервер всегда заявляет о себе как о надежном источнике времени. Например, чтобы заявить рядовой сервер (не домен-контроллер) как надежный источник времени, нужен флаг 5.

    Команды, используемые для настройки и мониторинга сервера времени.

    • Обновить конфигурацию сервиса:

      Код: Выделить всё

      w32tm /config /update
    • Узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах:

      Код: Выделить всё

      w32tm /monitor

      Например:

      Код: Выделить всё

      w32tm /monitor /computers:time.nist.gov
    • Принудительная синхронизация компьютера с используемым им сервером времени:

      Код: Выделить всё

      w32tm /resync

      или с ключом rediscover

      Код: Выделить всё

      w32tm /resync /rediscover
    • Показать разницу во времени между текущим и удаленным компьютером:

      Код: Выделить всё

      w32tm /stripchart

      Например:

      Код: Выделить всё

      w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly

      произведет 5 сравнений с указанным источником и выведет результат в текстовом виде.

    • Основная команда, используемая для конфигурирования службы NTP:

      Код: Выделить всё

      w32tm /config

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

      Код: Выделить всё

      w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
    • Показать текущие настройки службы:

      Код: Выделить всё

      w32tm /query

      Например:

      Код: Выделить всё

      w32tm /query /source

      покажет текущий источник времени

      Код: Выделить всё

      w32tm /query /configuration

      выведет все параметры службы.
      А так можно отобразить текущих источников синхронизации и их статуса:

      Код: Выделить всё

      w32tm /query /peers
    • Удаление службы времени с компьютера:

      Код: Выделить всё

      w32tm /unregister
    • Зарегистрировать службу времени на компьютере

      Код: Выделить всё

      w32tm /register

      При этом создается заново вся ветка параметров в реестре.

    • Запуск службы времени:

      Код: Выделить всё

      net start w32time
    • Остановка службы времени:

      Код: Выделить всё

      net stop w32time

    Инструменты и параметры службы времени Windows

    Как настроить полномочный сервер времени в операционной системе Windows Server.


Полезные ссылки по теме:
Настройка полномочного сервера времени в операционной системе Windows Server
Настройка службы времени Windows при больших смещениях времени
Настройка основного сервера времени в Windows XP