Часы на клиентском компьютере и сервере не согласованы
Топология синхронизации времени среди участников Active Directory
Среди компьютеров, участвующих в Active Directory работает следующая схема синхронизация времени.
- Контроллер корневого домена в лесу AD, которому принадлежит FSMО-роль эмулятора PDC (назовем его корневым PDC), является источником времени для всех остальных контроллеров этого домена.
- Контроллеры дочерних доменов синхронизируют время с вышестоящих по топологии AD контроллеров домена.
- Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.
Корневой PDC может синхронизировать свое время как со внешним источником, так и с самим собой, последнее задано конфигурацией по умолчанию и является абсурдом, о чем периодически намекают ошибки в системном журнале.
Синхронизация клиентов корневого PDC может осуществятся как с его внутренних часов, так и с внешнего источника. В первом случае сервер времени корневого PDC объявляет себя как «надежный» (reliable).
Далее я приведу оптимальную с моей точки зрения конфигурацию сервера времени корневого PDC, при которой сам корневой PDC периодически синхронизирует свое время от достоверного источника в интернете, а время обращающихся к нему клиентов синхронизирует со своими внутренними часами.
Конфигурация NTP-сервера на корневом PDC
Конфигурирование сервера времени (NTP-сервера) может осуществляться как с помощью утилиты командной строки w32tm, так и через реестр. Где возможно, я приведу оба варианта.
Включение синхронизации внутренних часов с внешним источником
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"Type"="NTP" - w32tm /config /syncfromflags:manual
Объявление NTP-сервера в качестве надежного
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
"AnnounceFlags"=dword:0000000a - w32tm /config /reliable:yes
Включение NTP-сервера
NTP-сервер по умолчанию включен на всех контроллерах домена, однако его можно включить и на рядовых серверах.
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer]
"Enabled"=dword:00000001
Задание списка внешних источников для синхронизации
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"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"
Флаг 0x8 на конце означает, что синхронизация должна происходить в режиме клиента NTP, через предложенные этим сервером интервалы времени. Для того, чтобы задать свой интервал синхронизации, необходимо использовать флаг 0x1. Все остальные флаги описаны в библиотеке TechNet.
Задание интервала синхронизации с внешним источником
Время в секундах между опросами источника синхронизации, по умолчанию 900с = 15мин. Работает только для источников, помеченных флагом 0x1.
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
"SpecialPollInterval"=dword:00000384
Установка минимальной положительной и отрицательной коррекции
Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
"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
Особенности виртуализированных контроллеров домена
Контроллеры домена, работающие в виртуализированной среде, требуют к себе особенного отношения.
Источники вдохновения
43 комментария
Все понимаете верно, пока часы на клиентах сильно отличаются от общедоменного времени, они не смогут по керберосу аутентифицироваться на других ресурсах домена. Но при изменении времени на корневом контроллере, клиенты с ним в заданный промежуток времени синхронизируются, и все опять пойдет как надо.
Также можно синхронизировать принудительно командой
w32tm /resync /rediscover
Действительно, в WS2003 этих ключей нет.
Быть может, не настроен источник для обновления (сервер интернета, топология AD).
Спасибо за статью.
to oriang: была похожая ошибка был виноват Файервол.
Спасибо за толковую статью.
Спасибо за помощь, очень толково описано
Бесполезная, Win2003 не работает
Argon, спасибо за статью, как раз то что нужно.
Настраиваю синхронизацию в своей сети, PDC находится на виртуальной машине и вот задумался, а что будет если после выключения и через некоторое время включения PDC будет отсутствовать интернет? Сервер не сможет синхронизировать время да еще и распространит неверные данные на остальных членов домена. Может правильным было настроить сервер времени на хостовой машине и всех синхронизировать уже с ней(кстати у меня она не в домене)? Или может подскажете другое решение. И еще вопрос, как распространить настройки синхронизации времени на машины домена?
Еще пару вопросов. Машины в домене по-умолчанию синхронизируют время с ближайшим по топологии DC или это настраивается списком внешних источников для синхронизации? Как работает список внешних источников для синхронизации: синхронизация происходит спервым по списку, если не доступен то со следуюцим и т.д.; со всеми сразу; случайно с одним из списка?
Может правильным было настроить сервер времени на хостовой машине и всех синхронизировать уже с ней(кстати у меня она не в домене)?
Годный вариант, но синхронизировать с ней только PDC, ни к чему корячить топологию синхронизации в AD. Это можно обозвать как назначение внутренней машины в качестве внутреннего источника времени. Сомнения по поводу убегания времени на виртуальной машине в случае отсутствия доступа к инету оправданы.
И еще вопрос, как распространить настройки синхронизации времени на машины домена?
Ничего не надо настраивать, все само будет, в пределах леса AD. Если хочешь корячить топологию, то unmanaged групповыми политиками (напрямую в реестр).
Машины в домене по-умолчанию синхронизируют время с ближайшим по топологии DC или это настраивается списком внешних источников для синхронизации?
Как работает список внешних источников для синхронизации: синхронизация происходит спервым по списку, если не доступен то со следуюцим и т.д.; со всеми сразу; случайно с одним из списка?
Большое спасибо за развернутый ответ
А с какими серверами проводить синхронизацию, если Россия не переводит часы весной и осенью. А при синхронизации чарез интернет часы меняются на зимнее/летнее
Добрый день! Руководитель дал задание- для коректной работы некоторой программы синхронизировать определенные ПК (находящиеся в одном домене) с сервером точного времени (находящемся в другом домене) по SNTP. Имеетя в виду настроить каждый из ПК локально, не меняя политик домена. Возможно ли это??
w32tm.exe /config /manualpeerlist:"pool.ntp.org,0x8"
/syncfromflags:manual /update
Либо аналогичными параметрами в реестре.
Ребята я с ума схожу от настройки времени. Просто объясните в 2-ух словах, как на сервере 2003 (он же контроллер домена) настроить синхронизацию времени с внешним источником, какими командами пользоваться для проверки, и как машины из домена заставить синхронизовать время с контроллером, третий день бъюсь и ни чего понять не могу.
Машины, входящие в домен как-то дополнительно настраивать не нужно, они сами синзронизируются с контроллеров.
P. S. Подписки на комментарии в данном блоге очень не хватает ;) .
Stanky, спасибо за комменты!
А происходит это просто — контроллер отвечает ошибкой Clock Skew, но кроме самой ошибки в ответе содержится текущее время контроллера домена, благодаря чему компьютер подводит свои часы и не испытывает ни малейших проблем.
Монитором трафика пока не смотрел, но полагаю, что подводит время клиент все-таки по NTP, так как Kerberos ни разу не предназначен для синхронизации времени.
Кто бы спорил ;) Важность правильно выставленного часового пояса в том, чтобы у клиента после синхронизации отображалось его действительное локальное время, а не время в чужой временной зоне.
В качестве подтверждения своих слов: отмотайте время, например, на пять лет назад, перезагрузите компьютер и посмотрите на результат…
Теперь вы знаете почему погибшая батарейка на материнской плате не вызывает проблем с входом в систему ;) .
А еще есть Failback to NTLM ;)
P. S. Подписки на комментарии в данном блоге очень не хватает ;) .
Монитором трафика пока не смотрел, но полагаю, что подводит время клиент все-таки по NTP
Действительно, про NTP, в этом случае, я как-то не подумал. Я копнул дальше и глубже и обнаружил, что подвод системных часов выполняется именно за счёт него.
так как Kerberos ни разу не предназначен для синхронизации времени
Компьютерные сети тоже ни разу не были предназначены для телефонии и что сейчас происходит ;) ?
В общем, как я и говорил, при первой попытке аутентификации, контроллер вернёт ошибку со своим текущим временем и, видимо, LSAS (или кто там ещё) на столько умный, что вычисляет разницу между текущим системным временем и временем на контроллере домена и все дальнейшие операции со штампами времени происходят с учётом этого смещения!
Я долго и безуспешно пытался найти хоть какое-то подтверждение своим словам в официальных источниках и наконец удача мне улыбнулась:
Без правильного часового пояса Kerberos-у труба, особенно в свете недавних изменений часовых поясов в России.
Тем самым вводя в заблуждение, что для его работы они жизненно необходимы ;) .
Лично мне, RSS неудобен более, чем полностью :( .
Stanky, я провел эксперименты и твои выводы подтверждаются. Я успешно получил билеты на актуальное время, хотя время на компьютере было отмотано на пару месяцев назад. Разве что не смог влезть в аутентификатор KRB_TGT_REQ, так как он зашифрован. А расшифровывать я не умею ;(
А вообще, ты серьезно мне шаблон разорвал. Надо поговорить об этом факте с коллегами, среди которых есть даже MCM по Directory.
К сожалению, я тоже не умею :( .
Картинка не отображается ;) .
Я уже задавался целью научиться расшифровывать билеты. На практике от Wireshark пока удалось добиться только того, что он расшифровывает билеты в тех дампах, которые дает скачать в качестве образцов. На реальных дампах нифига не получатся, что только не пробовал. Разве что не собирал идентичную описанной WireShark-ом инфраструктуру на WS2003 без сервиспаков чтобы попробовать экспортировать оттуда keytab-ы.
На картинке хотел показать, как получил билеты на актуальное время, хотя время на компьютере было отмотано на пару месяцев назад. Картинки не загружаются: либо обновление не блог кривое пришло, либо что-то не то с хостингом стало.
Преамбула: Время сервера и клиента не совпадали, в DHCP в области был прописан адрес как положено. но разрыв по времени был. Исправил в политеке безопасности домена несовпадение с 5 мин до 0, при этом добиться к домену стало невозможно ни под каким именем, в том числе на контролер домена под администратором. В защищенном режиме пробовал восстановить копию реестра, дает ошибку. Что подскажете?доступ к консоли самого контроллера домена есть?
для чего и где восстанавливали реестр?
"несовпадение 0" - означает точное время - без не совпадений?
Правила , FAQ и решенные темы раздела Windows Server 2003
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
1. клиент dhcp от Microsoft не понимает параметра Time Server, соответственно не может его получить и синхронизироваться2. верни на место временную рассинхронизацию (5 мин), в крайнем случае поставь 1 мин. это политика аутерефикации Kerberos - при нуле нужна полная синхронизация.
3. можно попробовать синхронизтроваться вручную - net time ? смотри
доступ к консоли самого контроллера домена есть?
-В том и проблемы, что даже нет возможности залогиниться на сервере домена. Ни под кем.
2. верни на место временную рассинхронизацию (5 мин), в крайнем случае поставь 1 мин. это политика аутерефикации Kerberos - при нуле нужна полная синхронизация.
-Еслибы было так просто вернуть, и вопроса не возникло бы.
Извените, в диалапе.
Да, и вопрос, может и не понадобится (спр. реестра дома. где может прописываться эта установка? (Хорошо, впереди выходные. Или наоборот. )
в SafeMode пробовал сервер перегружать и логиться из него? Пробовал, но в SafeMode нет возможности открыть политику безопасности домена. Мнеб до нее достучаться. Как?1. странно что на консоли не получается регистрироваться.. время-то тут не должно отличаться от времени сервера..
2. тк время рассогласования меняется в политике безопасности, значит там и хранится это значение. Политики ббезопасности хранятся в файлике \\server\SYSVOL\my.domain\policies\
<> - это номер именно для ОГП Default Domain Policy)
поищите через поиск (например задав MaxClockSkew вкачестве слова в файле) - там есть inf файлик в разделе настроек для компьютеров - там и настраивается параметр времени.
можно попробовать его изменить (+ номер Version в файле gpt.ini, а то возможно AD не решит что есть изменения произошли и новые изменения не подгрузит).
ИМХО должно помочь, если вы ничего более не меняли, тк меня по прежнему смужает п.1
3. перед изменениями в политиках безопасности резервную копию Состояния Системы конечно же не делали? Вроде как тормоза придумали трусы?
Многие пользователи Вин 10 не придают особого значения точности часов на экране своего ПК. Но некоторым людям правильное время на компьютере жизненно необходимо для корректной работы специализированного софта. К такому относятся бухгалтерские, геймерские, трейдерские, букмекерские, блогерские и прочие программы. Рассмотрим, как правильно провести синхронизацию времени на ПК с Windows 10 по своему месту нахождения или расположению нужного сервера.
Как синхронизировать время на компьютере с интернетом Windows 10
Все версии ОС на ПК или телефоне имеют установленную функцию автоматической синхронизации локального времени на устройстве. Для этого производится отправка запроса на сервер для уточнения правильного времени и настройки внутренних часов на компьютере после получения ответа.
Для того чтобы описанный механизм синхронизации осуществлялся, используется сетевой протокол NTP, который так и называется: «Протокол сетевого времени» («Network Time Protocol»). Главная задача этого протокола – не только получить информацию о точном времени, но и учесть промежуток между запросом и ответом в случае задержки. Потому, даже при низкой скорости или нестабильности интернет-соединения, настройка локальных часов будет проводиться с точностью до 10 миллисекунд.
Сегодня существует множество подобных NTP-серверов, по которым устройство бесплатно синхронизирует локальные часы. Что касается Windows 10, то в настройках уже указан нужный сервер для настройки. Но, по некоторым причинам, автоматическая синхронизация может нарушиться. Тогда ее можно провести вручную, для этого в «десятке» предусмотрено несколько способов, каждый из которых будет описан по отдельности.
Параметры
Этот способ имеется только в Вин 10, в предыдущих сериях ОС он не использовался. Нужно сделать следующие действия:
- Нажать на кнопку «Пуск» и в выпавшем окне – на значок шестеренки («Параметры»).
- Откроется окно, в котором нужно найти иконку «Время и язык» и нажать на нее.
- После перехода вкладка будет разделена на две части. В левой найти и открыть раздел «Дата и время». В правой поставить галочку в пункте: «Установить время автоматически» на включенный режим, если она не активна.
- Если синхронизация не произошла, в том же разделе найти пункт: «Формат даты, времени и региона» или в более старой версии «Дополнительные параметры даты и времени, региональные параметры», после чего открыть его.
- Откроется панель, в которой нажать на раздел «Дата и время».
- В новом окне нажать на вкладку «Время по интернету», затем – на кнопку «Изменить параметры».
- Теперь нужно поставить галочку в разделе: «Синхронизировать с сервером времени в интернете». Ниже появится выпадающее окошко, в котором можно выбрать NTP-сервер или прописать свой, если предложенные ОС не подходят.
Также во вкладке «Дополнительные часы», можно добавлять еще пункты, если требуется возможность видеть время по другим поясам.
Панель управления
Метод схож с предыдущим, только отличается способ открытия окна «Дата и время», где настраивается автоматическая синхронизация часов. Делается это так:
- В поиске (лупа возле кнопки «Пуск») написать «Панель управления», открыть ее после выдачи результата.
- Выбрать раздел: «Часы, язык и регион», затем нажать «Дата и время».
- После его открытия сделать те же действия, что описаны в предыдущем заголовке, с места о вкладке «Время по интернету».
Командная строка
CMD, как правило, используют программисты, так как она позволяет быстро выполнять множество сложных действий на ПК. Для обычных же пользователей Командная строка – не очень удобный инструмент, так как все директивы нужно вводить вручную, да еще знать их значение и правильно прописывать, без ошибок. Но если имеется желание установить синхронизацию часов через CMD, то делается это следующим образом:
- ПКМ нажать по кнопке «Пуск».
- В появившемся окне выбрать раздел: «Командная строка (Администратор)».
- Когда CMD загрузится, прописать команду «w32tm /resync» (пробел обязательно должен быть), и нажать кнопку «Ввод».
- Затем появится информация, что был отправлен запрос, а затем – что синхронизация прошла успешно.
Если произошел сбой (0x80070426), можно попробовать следующие команды:
PowerShell
Это более продвинутый аналог CMD, который обладает чуть большими возможностями. Соответственно, им также чаще пользуются программисты. Для запуска нужно:
- Нажать ПКМ по кнопке «Пуск» и выбрать: «Windows PowerShell (Администратор)».
- Дождавшись, когда приложение загрузится, и появится строка для ввода, прописать в ней: «Get-Service W32Time | Select-Object» и нажать «Enter».
- В появившемся ответе отыскать раздел «Status», если там будет написано «Running», то прописать команду для синхронизации: «w32tm /config /reliable:yes» и нажать «Enter».
- Если в статусе будет указано «Stopped», нужно прописать команду запуска службы: «Start-Service W32Time». После чего снова ввести команду для синхронизации.
Службы
Если указанные выше способы не сработали, тогда стоит провести настройку в разделе «Служба времени Windows». Для этого выполняются следующие действия:
- Открыть системное окно нажатием клавиш «Win + R» и прописать команду «services.msc», после чего нажать на кнопку «Ок».
- Появившаяся вкладка «Службы» будет разделена на две части. В правой отыскать «Служба времени Windows» и открыть двойным щелчком.
- Теперь нужно найти пункт «Тип запуска» и указать «Вручную».
- Если в разделе «Состояние» написано: «Остановлена», то нужно нажать кнопки «Запустить» и «Ок».
- В том случае, когда служба и так включена в ручном режиме, нужно сначала ее остановить, а потом запустить заново (перезапустить).
После этого синхронизация произойдет самостоятельно. Виндовс сам будет проводить настройку часов в определенное время. Но, при необходимости, всегда можно будет осуществить синхронизацию любым из выше перечисленных способов.
Что делать, если синхронизация часов не работает
Если после всех описанных способов при попытке настройки локального времени происходит ошибка, то можно сделать еще несколько действий:
Если вы столкнулись с ситуацией, когда время на клиентах и контроллерах домена различается, возможно, в вашем домене есть проблемы с синхронизацией времени и эта статья будет вам полезна.
Настройка синхронизации времени в домене с помощью групповых политик состоит из двух шагов:
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 укажите следующие параметры:
Примените созданный ранее фильтр PDC Emulator к данной политике.
Осталось обновить политики на контроллере PDC:
gpupdate /force
Вручную запустите синхронизацию времени:
w32tm /resync
Проверьте текущие настройки NTP:
w32tm /query /status
net stop w32time
w32tm.exe /unregister
w32tm.exe /register
net start w32time
Настройка синхронизации времени на клиентах домена
В среде Active Directory по умолчанию клиенты домена синхронизируют свое время с контролерами домена (опция Nt5DS – синхронизировать время согласно иерархии домена). Как правило, эта схема работает и не требует перенастройки. Однако при наличии проблем с синхронизацией времени на клиентах домена, можно попробовать принудительно назначить сервер времени для клиентов с помощью GPO.
Для этого создайте новую GPO и назначьте ее на контейнеры (OU) с компьютерами. В редакторе GPO перейдите в раздел Computer Configuration -> Administrative Templates -> System -> Windows Time Service -> Time Providers и включите политику Configure Windows NTP Client.
Обновите настройки групповых политик на клиентах и проверьте, что клиенты успешно синхронизировали свое время с PDC.
Читайте также: