Сбивается время на виртуальном контроллере домена. Отключить синхронизацию времени с хост-машиной
Примеры применения
08.12.2014Для синхронизации времени устройства NetPing используют протокол NTP. При помощи этого протокола все устройства в сети корректируют своё время по указанному серверу. Устройства NetPing, подключенные к Internet, могут использовать публичный NTP сервер, как рекомендовано в статье . Если доступа к сети Internet нет, то можно настроить локальный NTP сервер. Таким сервером может являться любой компьютер с ОС Windows с настроенной службой W32Time («Служба времени Windows »). Данная служба не имеет графического интерфейса и настраивается либо через командную строку либо путём правки ключей реестра.
Инструкция по настройке сервера NTP на ОС Windows 7/8/2008/2012
Рассмотрим настройку службы времени через редактирование реестра. Настройка происходит одинаково для версий Windows 7/8, Windows Server 2008, Windows Server 2012.
Для данной настройки необходимо обладать правами администратора ОС Windows
Открываем редактор реестра либо через диалоговое окно «Выполнить », вызванное комбинацией клавиш «Win » + «R », либо через форму поиска, где набираем «regedit ».
В открывшемся редакторе в левом древовидном меню открываем «ветвь» «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer », где ищем ключ с названием «Enable ». Нажимаем правой кнопкой мыши и выбираем «Изменить». Меняем значение ключа с 0 на 1 .
Изменив данный параметр, мы указали, что данный компьютер выступает в роли сервера NTP. Компьютер одновременно остаётся клиентом и может синхронизировать своё время по другим серверам в Internet или локальной сети. Если вы хотите, чтобы в качестве источника данных выступали внутренние аппаратные часы, то измените значение параметра ключа AnnounceFlags на 5 в ветке « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config ».
Для вступления изменений в силу нам необходимо перезапустить службу. Доступ к службам осуществляется через «Панель управления » из меню «Пуск » -> «Панель управления » -> «Администрирование » -> «Службы ». Также она находится в форме поиска при вводе «services.msc ». В появившемся списке служб находим интересующую нас «Служба времени Windows » и через меню, вызванное правой кнопкой мыши, выбираем пункт «Перезапустить ».
Операционные системы семейства Windows содержат службу времени W32Time . Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (NTP - Network Time Protocol).
По умолчанию служба времени в Windows сконфигурирована следующим образом:
При установке операционной системы Windows запускает клиента NTP, который синхронизируется с внешним источником времени;
При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность;
При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор;
PDC-эмулятор, расположенный в корневом домене леса, является основным сервером времени для всей организации. При этом сам он также синхронизируется с внешним источником времени.
Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии и надежным источником времени можно назначить любой компьютер.
В качестве примера приведем настройку NTP-сервера в Windows Server 2008 R2, по аналогии можно настроить NTP сервер и в Windows 7.
Запуск NTP сервера
Служба времени в Windows Server не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Рассмотрим второй способ:
Необходимо запустить сервер NTP. Открываем ветку реестра:
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer .
Для включения сервера NTP параметру Enabled надо установить значение 1. Затем перезапускаем службу времени командой net stop w32time && net start w32time.
После перезапуска службы NTP, сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды w32tm /query /configuration . Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled:1 , то все в порядке, сервер времени работает.
Для того, чтобы NTP-сервер мог обслуживать клиентов, в брандмауэре необходимо открыть UDP порт 123 для входящего и исходящего трафика.
Основные настройки NTP сервера
Открываем ветку реестра:
HKLM\System\CurrentControlSet\services\W32Time\Parameters .
NoSync - NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются системные часы, встроенные в микросхему CMOS самого сервера (в свою очередь эти часы могут синхронизироваться от источника NMEA по RS-232 например);
NTP — NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer ;
NT5DS - NTP-сервер производит синхронизацию согласно доменной иерархии;
AllSync - NTP-сервер использует для синхронизации все доступные источники.
Значение по умолчанию для компьютера, входящего в домен - NT5DS, для отдельно стоящего компьютера - NTP.
В параметре NtpServer указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0×1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. В конце каждого имени можно добавлять флаг (напр. ,0×1) который определяет режим для синхронизации с сервером времени.
Допускаются следующие значения режима:
0×1 - SpecialInterval , использование временного интервала опроса;
0×2 – режим UseAsFallbackOnly;
0×4 – SymmetricActive, симметричный активный режим;
0×8 – Client, отправка запроса в клиентском режиме.
Еще один важный параметр AnnounceFlags находится в разделе реестра:
HKLM\System\CurrentControlSet\services\W32Time\Config .
Он отвечает за то, как о себе заявляет NTP-сервер. Чтобы заявить рядовой сервер (не домен-контроллер) как надежный источник времени, нужен флаг 5 .
Если настраиваемый сервер в свою очередь является клиентом NTP (получает время от GPS-приемника по NTP, например), можно настроить интервал между обновлениями. Этот параметр может быть актуальным и для клиентских РС. За время обновления отвечает ключ SpecialPollInterval, находящийся в ветке реестра:
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient .
Он задается в секундах и по умолчанию его значение равно 604800, что составляет 1 неделю. Это очень много, поэтому стоит уменьшить значение SpecialPollInterval до разумного значения - 1 часа (3600).
После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой w32tm /config /update.
И еще несколько команд для настройки, мониторинга и диагностики службы времени:
w32tm /monitor – при помощи этой опции можно узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах. Например: w32tm /monitor /computers:time.nist.gov
w32tm /resync – при помощи этой команды можно заставить компьютер синхронизироваться с используемым им сервером времени.
w32tm /stripchart – показывает разницу во времени между текущим и удаленным компьютером. Команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly произведет 5 сравнений с указанным источником и выдаст результат в текстовом виде.
w32tm /config – это основная команда, используемая для настройки службы NTP. С ее помощью можно задать список используемых серверов времени, тип синхронизации и многое другое. Например, переопределить значения по умолчанию и настроить синхронизацию времени с внешним источником, можно командой w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query - показывает текущие настройки службы. Например команда w32tm /query /source покажет текущий источник времени, а w32tm /query /configuration выведет все параметры службы.
net stop w32time - останавливает службу времени, если запущена.
w32tm /unregister - удаляет службу времени с компьютера.
w32tm /register – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.
net start w32time - запускает службу.
Особенности, замеченные в Windows 7 - служба времени не запускается автоматически при старте Windows. Исправлено в SP1 для Windows 7.
Управление временем - один из ключевых аспектов системного администрирования. Как правило, все клиентские серверы и рабочие станции синхронизируют время с доменом Active Directory, однако откуда берется точное время в AD? Это зависит от разных факторов. В стандартной конфигурации время синхронизируется с серверами Microsoft, а виртуальные машины обычно получают данные от хост-сервера.
Лучше всего задать единый источник данных о точном времени для всех компьютеров в корпоративной сети - сервер (или несколько серверов), с которым будут синхронизироваться все системы. Это может быть ресурс или пул ресурсов в Интернете, либо локальный сервер. Так или иначе, с источником точного времени стоит определиться заранее.
За синхронизацию компьютеров и серверов Windows отвечает сетвой протокол Network Time Protocol (NTP ). NTP использует для своей работы протокол UDP порт по умолчанию 123. Что бы в дальнейшем можно было настроить работу этого сетевого протокола, необходимо проверить, не блокирует ли этот порт фаерволл.
Способы указания NTP Сервера.
1)
Команда w32tm
позволяет задать список пиров, предоставляющих информацию о точном времени для домена. Чтобы получить дополнительные сведения о команде w32tm, введите в командной строке указанную команду w32tm /?
Первым, что необходимо сделать, это выяснить в каком состоянии находятся контролеры домена в домене. Для этого запускаем в командной строке команду (если у вас права доменного администратора, то можете запустить командную строку на своей рабочей станции)
w32tm /monitor
- команда позволяет посмотреть с каким сервером (серверами)/сервисом происходит синхронизация и какая разница во времени с эталонным севером.
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
- этой командой мы указываем с каким сервисом/сервером будет происходить синхронизация (в данном примере с time.windows.com).
Эта команда выполняется на контроллере домена однократно и записывает указанные адреса в реестр (по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\Parametrs
в параметре NTPServer
должно быть прописано time.windows.com). Можно указать сразу несколько серверов, разделенных пробелами.
2) Еще один способ указать контролеру домена сервер с кем он будет синхронизироваться по времени, это локальные или групповые политики. Запускаем реестр- Нажмите кнопку Пуск, выберите команду Выполнить, введите в командную строку gpedit.msc и нажмите кнопку ОК . Заходим «Конфигурация компьютера- Политики- Административные шаблоны- Система- Служба времени Windows- Поставщики времени» и настраиваем политику. В данном примере в значении NTPServer прописываем time.windows.com , в значении Тип указываем NTP . Тип- указывает узлы одноранговой сети, принимающие синхронизацию следующих типов:
NoSync
- Служба времени не синхронизируется с другими источниками.
NTP-
Служба времени выполняет синхронизацию с серверами, указанными в записи реестра NtpServer.
NT5DS-
Служба времени выполняет синхронизацию на основе иерархии домена.
AllSync-
Служба времени использует все доступные механизмы синхронизации.
Значение CrossSiteSyncFlags выбираем 2.
CrossSiteSyncFlags. Определяет возможность выбора службой партнеров по синхронизации за пределами домена компьютера.
Нет 0
PdcOnly 1
Все 2
В значении ResolvePeerBackoffMinutes прописываем 15
ResolvePeerBackoffMinutes- указывает первоначальный интервал ожидания (в минутах) перед тем, как начать поиск узла одноранговой сети для синхронизации. Если службе времени Windows не удается успешно синхронизироваться с источником времени, будут выполняться повторные попытки с использованием указанных значений параметров ResolvePeerBackoffMinutes и ResolvePeerBackoffMaxTimes.
В значении ResolvePeerBackoffMaxTimes прописываем 7
ResolvePeerBackoffMaxTimes- указывает максимальное число раз удвоения интервала ожидания в случае, если повторяющиеся попытки поиска узла одноранговой сети для синхронизации не дали результата. Нулевое значение предполагает, что интервал ожидания всегда равен первоначальному, указанному в параметре ResolvePeerBackoffMinutes.
В значении SpecialPollInterval прописываем 3600
SpecialPollInterval- указывает интервал специального опроса (в секундах) для узлов одноранговой сети, настроенных вручную. Если специальный опрос включен, то служба времени Windows будет использовать его интервал вместо динамического значения, определяемого с помощью алгоритмов синхронизации, встроенных в службу времени Windows.
Если вы создали политику, то ее нужно применить на все контролеры домены.
Настройка NTP сервера в Windows
Начиная с Windows 2000 все операционные системы Windows включают в себя службу времени W32Time . Эта служба предназначена для синхронизации времени в пределах организации. W32Time отвечает за работу как клиентской, так и серверной части службы времени, причем один и тот же компьютер может быть одновременно и клиентом и сервером NTP (Network Time Protocol).
По умолчанию служба времени в Windows сконфигурирована следующим образом:
При установке операционной системы Windows запускает клиента NTP и синхронизируется с внешним источником времени;
При добавлении компьютера в домен тип синхронизации меняется. Все клиентские компьютеры и рядовые сервера в домене используют для синхронизации времени контроллер домена, проверяющий их подлинность;
При повышении рядового сервера до контроллера домена на нем запускается NTP-сервер, который в качестве источника времени использует контроллер с ролью PDC-эмулятор;
PDC-эмулятор, расположенный в корневом домене леса, является основным сервером времени для всей организации. При этом сам он также синхронизируется с внешним источником времени.
Такая схема работает в большинстве случаев и не требует вмешательства. Однако структура сервиса времени в Windows может и не следовать доменной иерархии, и надежным источником времени можно назначить любой компьютер. В качестве примера я опишу настройку NTP-сервера в Windows Server 2008 R2, хотя со времен Windows 2000 процедура не особо изменилась.
Запуск NTP сервера
Сразу отмечу, что служба времени в Windows Server (начиная с 2000 и заканчивая 2012) не имеет графического интерфейса и настраивается либо из командной строки, либо путем прямой правки системного реестра. Лично мне ближе второй способ, поэтому идем в реестр.
Итак, первым делом нам надо запустить сервер NTP. Открываем ветку реестра
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.
Здесь для включения сервера NTP параметру Enabled
надо установить значение 1
.
Затем перезапускаем службу времени командой net stop w32time && net start w32time
После перезапуска службы NTP сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды w32tm /query /configuration. Эта команда выводит полный список параметров службы. Если раздел NtpServer содержит строку Enabled:1 , то все в порядке, сервер времени работает.
Для того, чтобы NTP-сервер мог обслуживать клиентов, не забудьте на файерволле открыть UDP порт 123 для входящего и исходящего траффика.
Основные настройки NTP сервера
NTP сервер включили, теперь надо его настроить. Открываем ветку реестра HKLM\System\CurrentControlSet\services\W32Time\Parameters. Здесь в первую очередь нас интересует параметр Type , который задает тип синхронизации. Он может принимать следующие значения:
NoSync —
NTP-сервер не синхронизируется с каким либо внешним источником времени. Используются часы, встроенные в микросхему CMOS самого сервера;
NTP —
NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра NtpServer;
NT5DS —
NTP-сервер производит синхронизацию согласно доменной иерархии;
AllSync —
NTP-сервер использует для синхронизации все доступные источники.
Значение по умолчанию для компьютера, входящего в домен — NT5DS , для отдельно стоящего компьютера — NTP.
И параметр NtpServer , в котором указываются NTP-сервера, с которыми будет синхронизировать время данный сервер. По умолчанию в этом параметре прописан NTP-сервер Microsoft (time.windows.com, 0x1), при необходимости можно добавить еще несколько NTP-серверов, введя их DNS имена или IP адреса через пробел. Список доступных серверов времени можно посмотреть например .
В конце каждого имени можно добавлять флаг (напр. ,0x1 ) который определяет режим для синхронизации с сервером времени. Допускаются следующие значения:
0x1
– SpecialInterval, использование специального интервала опроса;
0x2
– режим UseAsFallbackOnly;
0x4
– SymmetricActive, симметричный активный режим;
0x8
– Client, отправка запроса в клиентском режиме.
При использовании флага SpecialInterval, необходимо установленное значение интервала в ключе SpecialPollInterval . При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией. Подробнее о режимах синхронизации можно посмотреть , либо не морочиться и просто ставить везде ,0x1 (как советует Microsoft).
Еще один важный параметр AnnounceFlags находится в разделе реестра HKLM\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.
Ну и настроим интервал между обновлениями. За него отвечает уже упоминавшийся выше ключ SpecialPollInterval, находящийся в ветке реестра HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient. Он задается в секундах и по умолчанию его значение равно 604800, что составляет 1 неделю. Это очень много, поэтому стоит уменьшить значение SpecialPollInterval до разумного значения, скажем до 1 часа (3600).
После настройки необходимо обновить конфигурацию сервиса. Сделать это можно командой w32tm /config /update. И еще несколько команд для настройки, мониторинга и диагностики службы времени:
w32tm /monitor
– при помощи этой опции можно узнать, насколько системное время данного компьютера отличается от времени на контроллере домена или других компьютерах. Например: w32tm /monitor /computers:time.nist.gov
w32tm /resync
– при помощи этой команды можно заставить компьютер синхронизироваться с используемым им сервером времени.
w32tm /stripchart
– показывает разницу во времени между текущим и удаленным компьютером, причем может выводить результат в графическом виде. Например, команда w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly
произведет 5 сравнений с указанным источником и выведет результат в текстовом виде.
w32tm /config
– это основная команда, используемая для конфигурирования службы NTP. С ее помощью можно задать список используемых серверов времени, тип синхронизации и многое другое. Например, переопределить значения по умолчанию и настроить синхронизацию времени с внешним источником, можно командой w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query
— показывает текущие настройки службы. Например команда w32tm /query /source
покажет текущий источник времени, а w32tm /query /configuration
выведет все параметры службы.
Ну и на крайний случай 🙁
w32tm /unregister
— удаляет службу времени с компьютера.
w32tm /register
– регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.