Содержание
- 1 Немного теории
- 2 Как проверить, работает ли синхронизация времени в домене?
- 3 Как исправить настройки синхронизации времени
- 4 Настройка политики синхронизации NTP на контролере домена PDC
- 5 Настройка синхронизации времени на клиентах домена
- 6 Поставшики времени
- 7 Настроить NTP клиент Windows (сервер времени)
- 8 Настроить NTP клиент Windows (все остальные)
Как настроить синхронизацию времени во всём домене сразу? И так, чтобы работало дальше само? А когда контроллер домена с ролью PDC изменится, что делать? А если уже синхронизация времени в домене настроена, но работает плохо, как починить?
Обо всём этом читайте в этой статье.
Немного теории
Синхронизация времени в домене может (теоретически) работать сама, безо всяких настроек. Выглядит это обычно так:
- Компьютеры домена и серверы синхронизируют свое время с контроллерами домена (с ближайшими к ним).
- Контроллеры домена синхронизируют свое время с контроллером домена, которому назначена FSMO роль PDC (в терминах windows 2000 – "первичный контроллер домена").
- Контроллер домена (КД) с ролью PDC синхронизирует время с внешним источником.
А дальше – начинаются ньюансы:
- Если контроллер домена виртуальный, в настройках виртуальной машины должна быть выключена синхронизация времени [с хостом]. Иначе (если, к примеру, хост с виртуальными машинами – в домене): виртуальный контроллер домена будет (автоматически) синхронизировать время с хостом, а хост – с ближайшим контроллером домена, т.е. со своей виртуалкой.
- Если синхронизация времени уже настроена (вручную или через групповые политики) то задаваемые Вами новые настройки могуть не примениться (несмотря на сообщение successful во всех командах) и тогда потребуется полный сброс настроек синхронизации времени на проблемных компьютерах или контроллерах домена.
Как проверить, работает ли синхронизация времени в домене?
До того, как что-либо "ломать" (и в процессе настройки, чтобы проверять эффективность вносимых изменений) необходимо производить диагностику текущего состояния, а также анализировать текущую конфигурацию службы времени. Этому призваны помочь несколько команд, указанных ниже.
Команда
w32tm /monitor
- Может быть выполнена на любом компьютере (или контроллере) домена.
- Показывает список всех контроллеров домена (с которыми может выполняться синхронизация времени).
- Для каждого контроллера домена в поле "NTP:" отображает разницу во времени с PDC контроллером домена (который является источником для синхронизации времени во всём домене).
- Для каждого контроллера домена в поле "RefID:" отображается информация об источнике синхронизации времени для этого контроллера домена. Для всех контроллеров домена (кроме КД с ролью PDC) это должен быть либо другой контроллер домена, либо КД с ролью PDC.
Команда
w32tm /query /Source
- Может быть выполнена на любом компьютере или контроллере домена.
- Показывает источник для синхронизации времени (с каким компьютером синхронизируется время того компьютера, на котором запущена эта команда). Для любых компьютеров/серверов это должен быть один из контроллеров домена, для любого контроллера домена (кроме PDC) это должен быть другой КД (обычно – с ролью PDC), для КД с ролью PDC это должен быть внешний источник синхронизации времени (интернет).
Если в результатах выполнения команды отобразилось сообщение "VM IC Time Synchronization Provider" – значит, эта виртуальная машина синхронизируется с хостом виртуализации. Если эта виртуальная машина – один из контроллеров домена, такую настройку следует изменить!
Команда
w32tm /query /Configuration /verbose
- Может быть выполнена на любом компьютере или контроллере домена.
- Выводит все настройки службы времени windows для текущего компьютера.
- Убедитесь, что в результатах выполнения команды на всех компьютерах и контроллерах домена (кроме PDC) в разделе [TimeProviders] поле Type имеет значение NT5DS. Если это не так, настройки синхронизации на таких компьютерах надо исправлять (как – см. далее).
- Если у Вас Windows 2003, то Вы не можете выполнить эту команду. Вместо этого Вы можете посмотреть параметры конфигурации службы времени в реестре: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters, в частности параметр Type.
Команда
w32tm /query /status /verbose
- Может быть выполнена на любом компьютере или контроллере домена.
- Отображет состояние синхронизации (в т.ч. источник синхронизации, время и статус последней синхронизации) для компьютера, на котором выполняется. Опция "/verbose" дает более подробную информацию.
Команда
w32tm /stripchart /computer:" " /samples:3 /dataonly
Сравнивает время (и отображает разницу во времени) на текущем компьютере с компьютером, указанном в аргументе /computer. Компьютер-источник для сравнения времени может быть как в интернете, так и в локальном домене. Примеры команды:
w32tm /stripchart /computer:"ntp.org" /samples:3 /dataonly
или
w32tm /stripchart /computer:"dc1.domain.local" /samples:3 /dataonly
Как исправить настройки синхронизации времени
Настройка синхронизации времени на компьютерах и контроллерах домена
(кроме КД с ролью PDC)
- Найдите все групповые политики, изменяющие настройки синхронизации времени, и отключите такие политики. Через групповые политики служба времени настраивается здесь: gpedit.msc => "Computer Configuration" => "Administrative Templates" => "System" => "Windows Time Service" => "Time Providers". Проверьте, что политики синхронизации времени не применяются, для этого можно выполнить команду:
gpresult /R - Проверьте, что на всех виртуальных машинах – контроллерах домена отключена синхронизация времени с хостами виртуализации. Для этого (в Hyper-V) можно зайти в свойства виртуальной машины, раздел средств интеграции и отключить синхронизацию времени. После чего конфигурацию службы времени (на виртуальном контроллере домена) нужно обновить.
- Обновите конфигурацию на всех проблемных компьютерах / контроллерах домена (кроме КД с ролью PDC):
w32tm /config /syncfromflags:DOMHIER /update - Выполните принудительную синхронизацию времени, дав команду заново найти источники синхронизации времени:
w32tm /resync /rediscover - Если вышеуказанные действия не помогают, перезагрузите службу времени (на проблемных компьютерах)
net stop w32time
net start w32time
и заново выполните пункты 3 и 4. - Если вышеуказанные действия не помогли решить проблему с синхронизацией времени, необходима перерегистрация службы времени на проблемных компьютерах (и повторная настройка параметров).
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
Настройка синхронизации времени на контроллере домена с ролью PDC
Настройки времени на КД с ролью PDC принципиально отличаются от настроек на всех остальных компьютерах в домене (включая остальные контроллеры домена). PDC является источником времени во всём домене, именно его время будет использовано (прямо или косвенно – через другие контроллеры домена) всеми остальными компьютерами.
- Если контроллер домена с ролью PDC – виртуальная машина, убедитесь, в настройках этой виртуальной машины отключена синхронизациия времени с хостом, на котором она находится!
- Убедитесь, что групповые политики синхронизации времени во всем домене (если они у Вас есть) не применяются к КД с ролью PDC! У этого компьютера источник времени – в интернете, и тип синхронизации времени (в отличие от всего остального домена) не NT5DS, а NTP!
- Если есть сомнения в том, что синхронизация времени на КД с ролью PDC выполняется правильно, проще всего выполнить перерегистрацию и повторную настройку службы времени.
Перерегистрация службы времени на контроллере домена с ролью PDC
Для отмены регистрации и повторной регистрации службы времени выполните следующие команды:
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
Настройка синхронизации времени на контроллере домена с ролью PDC
Наш КД с ролью PDC необходимо настроить на синхронизацию с внешним источником (в интернете). Для этой цели не подходит тип синхронизации NT5DS и синхронизации в соответствии с иерархией домена (DOMHIER). Поэтому на нашем КД с ролью PDC мы используем тип синхронизации NTP и синхронизация будет настроена вручную (MANUAL). Источники синхронизации (peers) указываются в кавычках, а если таких источников несколько, то они перечисляются через запятую. Кроме того, мы даем указание считать данный источник синхронизации (КД с ролью PDC) надежным источником времени (reliable):
w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org" /reliable:yes /update
Теперь можно ускорить применение параметров и синхронизацию времени, перезагрузив службу времени и форсировав синхронизацию:
net stop w32time
net start w32time
w32tm /resync /force или w32tm /resync /rediscover
После выполнения этих команд (сделав паузу в несколько минут на применение параметров и выполнение синхронизации) сравните время на контроллере домена с временем в интернете:
w32tm /stripchart /computer:"0.ru.pool.ntp.org" /samples:3 /dataonly
Не забудьте проверить, что на всех контроллерах домена время синхронизировалось с PDC. Для этого наберите команду:
Служба времени Windows, несмотря на кажущуюся простоту, является одной из основ, необходимых для нормального функционирования домена Active Directory. В правильно настроенной среде AD служба времени работает следующим образом: компьютеры пользователей получают точное время от ближайшего контроллера домена, на котором они зарегистрировались. Все контроллеры домена в свою очередь получают точное время от DC с FSMO ролью «Эмулятор PDC», а контролер PDC синхронизирует свое время с неким внешним источником времени. В качестве внешнего источника времени может выступать один или несколько NTP серверов, например time.windows.com или NTP сервер вашего Интернет-провайдера. Также нужно отметить, что по умолчанию клиенты в домене синхронизируют время с помощью службы времени Windows (Windows Time), а не с помощью протокола NTP.
Если вы столкнулись с ситуацией, когда время на клиентах и контроллерах домена различается, возможно, в вашем домене есть проблемы с синхронизацией времени и эта статья будет вам полезна.
В первую очередь выберите подходящий NTP сервер, который вы могли бы использовать. Список общедоступных NTP серверов доступен на сайте http://ntp.org . В нашем примере мы будем использовать NTP сервера из пула ru.pool.ntp.org:
Настройка синхронизации времени в домене с помощью групповых политик состоит из двух шагов:
1) Создание GPO для контроллера домена с ролью PDC
2) Создание GPO для клиентов (опционально)
Настройка политики синхронизации NTP на контролере домена PDC
Этот шаг предполагает настройку контроллера домена с ролью эмулятора PDC на синхронизацию времени с внешним NTP сервером. Т.к. теоретически роль эмулятора PDC может перемещаться между контроллерами домена, нам нужно сделать политику, которая применялась бы только к текущему владельцу роли PDC. Для этого в консоли управления Group Policy Management Console (GPMC.msc), создадим новый WMI фильтр групповых политик. Для этого в разделе WMI Filters создадим фильтр и именем PDC Emulator и WMI запросом: Select * from Win32_ComputerSystem where DomainRole = 5
Затем создайте новую GPO и назначьте ее на контейнер Domain Controllers.
Перейдите в режим редактирования политики и разверните следующий раздел политик: Computer Configuration->Administrative Templates->System->Windows Time Service->Time Providers
Нас интересуют три политики:
- Configure Windows NTP Client: Enabled (настройки политики описаны ниже)
- Enable Windows NTP Client: Enabled
- Enable Windows NTP Server: Enabled
В настройках политики Configure Windows NTP Client укажите следующие параметры:
- NtpServer: 0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1 3.ru.pool.ntp.org,0x1
- Type: NTP
- CrossSiteSyncFlags: 2
- ResolvePeerBackoffMinutes: 15
- Resolve Peer BAckoffMaxTimes: 7
- SpecilalPoolInterval: 3600
- EventLogFlags: 0
Примените созданный ранее фильтр PDC Emulator к данной политике.
Осталось обновить политики на контроллере PDC:
gpupdate /force
Вручную запустите синхронизацию времени:
w32tm /resync
Проверьте текущие настройки NTP:
w32tm /query /status
Настройка синхронизации времени на клиентах домена
В среде Active Directory по умолчанию клиенты домена синхронизируют свое время с контролерами домена (опция Nt5DS – синхронизировать время согласно иерархии домена). Как правило, эта схема работает и не требует перенастройки. Однако при наличии проблем с синхронизацией времени на клиентах домена, можно попробовать принудительно назначить сервер времени для клиентов с помощью GPO.
Для этого создайте новую GPO и назначьте ее на контейнеры (OU) с компьютерами. В редакторе GPO перейдите в раздел Computer Configuration -> Administrative Templates -> System -> Windows Time Service -> Time Providers и включите политику Configure Windows NTP Client.
В качестве сервера NTP укажите имя или ip адрес PDC, например msk-dc1.winitpro.ru,0x9, а в качестве типа синхронизации — NT5DS
Обновите настройки групповых политик на клиентах и проверьте, что клиенты успешно синхронизировали свое время с PDC.
Очень удобно, когда все сервера и рабочие станции в AD имеют одинаковое время. Это избавляет от кучи проблем в структуре Active Directory.
Требования для статьи:
Будем считать, что у нас есть отдельные груповые политики для контроллера домена (или другого сервера, который будет выполнять эту роль) и для все остальных серверов и рабочих станций.
Синхронизацию сервера времени настраиваем с внешним сервером. Поэтому для сервера, который является центральным сервером времени, нужно открыть вовне порт 123, а так же для все остальных серверов и ПК должен быть открыт порт 123 во внутренней сети (NTP работает по этому порту).
Для того, чтобы это сделать открываем групповые политики
Поставшики времени
И переходим Конфигурация компьютера->Административные шаблоны->Система->Службы времени Windows->Поставшики времени
Теперь нам нужно настроить 3 параметра.
Включить NTP клиент Windows — включено (для всех политик).
Включить NTP сервер Windows — включено (только в политике для локального сервера времени).
Настроить NTP клиент Windows (сервер времени)
Настроить NTP клиент Windows (все остальные)
Настроить NTP клиент Windows — Включаем и настраиваем параметры:
NtpServer: для локального сервера времени — time.windows.com,0x9 для всех остальных — имя сервера времени в нашей сети.
Type: для локального сервера времени — NTP для всех остальных — NT5DS.
Теперь дожидаемся применения политики, или применяем ее принудительно, командой: