- Настройка синхронизации времени в домене
- Немного теории
- Как проверить, работает ли синхронизация времени в домене?
- Команда w32tm /monitor
- Команда w32tm /query /Source или w32tm /query /peers
- Команда w32tm /query /Configuration /verbose
- Команда w32tm /query /status /verbose
- Команда w32tm /stripchart /computer:» » /samples:3 /dataonly
- Как исправить настройки синхронизации времени
- Настройка синхронизации времени на компьютерах и контроллерах домена (кроме КД с ролью PDC)
- Настройка синхронизации времени на контроллере домена с ролью PDC
- Перерегистрация службы времени на контроллере домена с ролью PDC
- Настройка синхронизации времени на контроллере домена с ролью PDC
- Настройка сервера времени на домен контроллере
Настройка синхронизации времени в домене
Как настроить синхронизацию времени во всём домене сразу? И так, чтобы работало дальше само? А когда контроллер домена с ролью PDC изменится, что делать? А если уже синхронизация времени в домене настроена, но работает плохо, как починить?
Обо всём этом читайте в этой статье.
Немного теории
Синхронизация времени в домене может (теоретически) работать сама, безо всяких настроек. Выглядит это обычно так:
- Компьютеры домена и серверы синхронизируют свое время с контроллерами домена (с ближайшими к ним).
- Контроллеры домена синхронизируют свое время с контроллером домена, которому назначена FSMO роль PDC (в терминах windows 2000 — «первичный контроллер домена»).
- Контроллер домена (КД) с ролью PDC синхронизирует время с внешним источником.
А дальше — начинаются ньюансы:
- Если контроллер домена виртуальный, в настройках виртуальной машины должна быть выключена синхронизация времени [с хостом]. Иначе (если, к примеру, хост с виртуальными машинами — в домене): виртуальный контроллер домена будет (автоматически) синхронизировать время с хостом, а хост — с ближайшим контроллером домена, т.е. со своей виртуалкой.
- Если синхронизация времени уже настроена (вручную или через групповые политики) то задаваемые Вами новые настройки могуть не примениться (несмотря на сообщение successful во всех командах) и тогда потребуется полный сброс настроек синхронизации времени на проблемных компьютерах или контроллерах домена.
Как проверить, работает ли синхронизация времени в домене?
До того, как что-либо «ломать» (и в процессе настройки, чтобы проверять эффективность вносимых изменений) необходимо производить диагностику текущего состояния, а также анализировать текущую конфигурацию службы времени. Этому призваны помочь несколько команд, указанных ниже.
Команда
w32tm /monitor
- Может быть выполнена на любом компьютере (или контроллере) домена.
- Показывает список всех контроллеров домена (с которыми может выполняться синхронизация времени).
- Для каждого контроллера домена в поле «NTP:» отображает разницу во времени с PDC контроллером домена (который является источником для синхронизации времени во всём домене).
- Для каждого контроллера домена в поле «RefID:» отображается информация об источнике синхронизации времени для этого контроллера домена. Для всех контроллеров домена (кроме КД с ролью PDC) это должен быть либо другой контроллер домена, либо КД с ролью PDC.
Команда
w32tm /query /Source
или
w32tm /query /peers
- Может быть выполнена на любом компьютере или контроллере домена.
- Показывает источник для синхронизации времени (с каким компьютером синхронизируется время того компьютера, на котором запущена эта команда). Для любых компьютеров/серверов это должен быть один из контроллеров домена, для любого контроллера домена (кроме PDC) это должен быть другой КД (обычно — с ролью PDC), для КД с ролью PDC это должен быть внешний источник синхронизации времени (интернет).
Если в результатах выполнения команды отобразилось сообщение «VM IC Time Synchronization Provider» — значит, эта виртуальная машина синхронизируется с хостом виртуализации. Если эта виртуальная машина — один из контроллеров домена, такую настройку следует изменить!
Команда
w32tm /query /Configuration /verbose
- Может быть выполнена на любом компьютере или контроллере домена.
- Выводит все настройки службы времени windows для текущего компьютера.
- Убедитесь, что в результатах выполнения команды на всех компьютерах и контроллерах домена (кроме PDC) в разделе [TimeProviders] поле Type имеет значение NT5DS. Если это не так, настройки синхронизации на таких компьютерах надо исправлять (как — см. далее).
- Если у Вас Windows 2003, то Вы не можете выполнить эту команду. Вместо этого Вы можете посмотреть параметры конфигурации службы времени в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters, в частности параметр 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. Для этого наберите команду:
Всё должно заработать!
P.S.: Обратите внимание, что применение параметров команды w32tm требует времени. Поэтому после каждого обновления конфигурации рекомендуем делать паузу в 1-5 минут, а потом уже проверять, обновилась ли конфигурация службы времени, и как всё работает.
Источники информации для данной статьи:
Статья опубликована: 20.08.2017, обновлена 31.01.2020
Настройка сервера времени на домен контроллере
Задача: разобрать действия по организации сервиса времени для всей локальной сети дабы рабочие станции, сервера получали точное время и оно везде было одинаковым . Сервис времени организовывается на домен контроллере под управлением операционной системы Windows Server 2012 R2, также действия ниже аналогичны и для Server 2008 R2
Схема: интернет — Mikrotik — DC — Workstations
Открываю на srv-dc консоль командной строки с правами администратора:
Win + X — Command Prompt (Admin)
Определяю какой домен контроллер (Windows Server 2012 R2 Std) имеет роль PDC если домен контроллеров несколько в домене:
C:\Windows\system32>netdom query fsmo
- Schema master srv-dc.polygon.local
- Domain naming master srv-dc.polygon.local
- PDC srv-dc.polygon.local
- RID pool manager srv-dc.polygon.local
- Infrastructure master srv-dc.polygon.local
The command completed successfully.
Как видно из вывода, это контроллер домена srv-dc.polygon.local, подключаюсь теперь к нему по RDP или VNC соединению для выполнения следующих команд:
C:\Windows\system32>net stop w32time
Настраиваем внешний источник времени:
C:\Windows\system32>w32tm /config /syncfromflags:manual /manualpeerlist:»0.pool.ntp.org»
Cделать ваш контроллер домена PDC доступным для клиентов:
C:\Windows\system32>w32tm /config /reliable:yes
Запускаю службу времени:
C:\Windows\system32>net start w32time
Также можно изменения вносить и через реестр в ключе: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
Чтобы после принудительно запросить получение точного времени проделываем:
C:\Windows\system32>W32tm /config /reliable:yes
The command completed successfully.
C:\Windows\system32>W32tm /config /update
The command completed successfully.
C:\Windows\system32>W32tm /resync
Sending resync command to local computer
The command completed successfully.
Вот и все, служба времени Windows начинает синхронизацию времени с внешним источником, посмотреть этот процесс можно так:
C:\Windows\system32>w32tm /query /configuration
После нужно добавить параметр в DHCP оснастку, что сервер времени это наш домен контроллер:
Win + X — Control Panel — Administrative Tools — запускаю оснастку DHCP: DHCP → srv-dc.polygon.local → IPv4 → Scope [10.10.10.0] local → и через правый клик мышью по Scope Options вызываю меню Configure Options… где добавляю опцию для всего домена: 042 NTP Servers
Теперь доменные Windows станции будут знать, что сервер времени это домен контроллер, а для моих Ubuntu системы после установке sudo apt-get install ntp -y в файле /etc/ntp.conf нужно будет в параметре server указать IP адрес этого домен контроллера и перезапустить службу времени sudo service ntp restart.
Если же у Вас DHCP сервис развернут не на Windows, то донести до всех где брать точное время можно через групповые политики GPO. Создаем GPO_NTP и предопределяем, что ориентирована она будет на текущий домен и все рабочие станции посредством WMI-фильтра.
Открываю оснастку на srv-dc управления групповыми политиками домена:
Win + X — Control Panel — Administrative Tools — Group Policy Management, открываю на редактирование: Group Policy Management → Forest: polygon.local → Domains → polygon.local → и через правый клик мышью по WMI Filters вызываю меню New…
- Name: W7
- Decription: Windows 7 x86/x64
- Queries: → Add
- Namespace: root\CIMv2
- Query: Select
* from WIN32_OperatingSystem where ((Version > «6») and
(ProductType = 1))
и
нажимаю OK, OK, Save
После перехожу к редактированию групповой политики для рабочих станции домена , через правый клик мышью по GPO_NTP вызываю меню Edit.
Computer Configuration → Policies → Administrative Tools → System → Windows Time Service → Time Providers → Configure Windows NTP Client, включаю ее Enabled и определяю настройки:
NtpServer: srv-dc.polygon.local,0x9
все остальное оставляю по умолчанию.
После нажимаю Apply & OK.
И не забываем к политике добавить WMI фильтр. В конечном итоге политика должна выглядеть так:
После когда политика применится к системам согласно WMI-фильтру можно будет проверить куда смотрит рабочая станции если ей нужно точное время:
C:\Users\alektest>w32tm /query /status
Индикатор помех: 0(предупреждений нет)
Страта: 4 (вторичная ссылка — синхронизирована с помощью (S)NTP)
Точность: -6 (15.625ms за такт времени)
Задержка корня: 0.0876923s
Дисперсия корня: 7.8503892s
Идентификатор опорного времени: 0x0A0A0A02 (IP-адрес источника: 10.10.10.2)
Время последней успешной синхронизации: 30.04.2017 16:46:38
Интервал опроса: 10 (1024s)
C:\Users\alektest>w32tm /monitor
srv-dc.polygon.local *** PDC ***[10.10.10.2:123]:
ICMP: 0ms задержка
NTP: +0.0000000s смещение относительно srv-dc.polygon.local
RefID: ground.corbina.net [85.21.78.91]
На замету: Если же в локальной сети появятся рабочие станции под управлением Windows 8 и выше, то нужно будет модифицировать WMI фильтр.
Но как известно, в случае чего с домен контроллером его роли можно забирать, так может произойти в случае различных проблем. Вот забрали роль PDC и время поехало во всем домене, чтобы этого не произошло нужно создать групповую политику ориентированную только на домен контроллер с ролью PDC: GPO_PDC и WMI фильтр с именем PDC следующего содержания:
Select * from Win32_ComputerSystem where DomainRole = 5
Computer Configuration → Policies → Administrative Tools → System → Windows Time Service → Time Providers → Configure Windows NTP Client, включаю ее Enabled и определяю настройки:
NtpServer: 0.pool.ntp.org,0x9
все
остальное оставляю по умолчанию.
После нажимаю Apply & OK.
и Computer Configuration → Policies → Administrative Tools → System → Windows Time Service → Time Providers -> Enable Windows NTP Client включить Enable.
Также параметр Type вместо NT5DS можно использовать и NTP
И не забываем к политике добавить WMI фильтр ← PDC. Теперь не важно кто является домен контроллером, точное время на нем будет.
А раз так, что рабочие станции не обязательно привязывать/создавать к политике назначения точного времени, ведь по умолчанию рабочие станции домена, итак, забирают точное время с контроллера домена по умолчанию.
- Настраиваю GPO и привязываю ее через WMI фильтр к серверу у которого есть роль PDC
- В оснастке DHCP указываю параметр кто в домене является сервером у которого клиентским рабочим станциям запрашивать точное время.
- Если DHCP не на базе Windows, то можно настроить GPO и сделать нацеливание на определенную ось.
На заметку: Если домен контроллер развернут на виртуальной системе, то следует проверить, что время берется не с гипервизора, а через настройку этой заметки.
На заметку: если роль PDC б ыла переназначена на другой сервер, то я советую перезагрузить домен контроллер и все остальные также.
На этом у меня все. Задача выполнена и задокументирована, с уважением автор блога Олло Александр aka ekzorchik.