Синхронизация времени

Настройка полномочного сервера времени в операционной системе Windows Server

В состав Windows входит служба времени W32Time, необходимая для работы протокола проверки подлинности Kerberos. Служба времени предназначена для синхронизации времени в рамках организации на компьютерах под управлением Microsoft Windows 2000 или более поздних версий Windows. 


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

  • Все клиентские компьютеры используют в качестве источника времени контроллер домена, проверяющий их подлинность.
  • То же самое происходит на рядовых серверах.
  • Все контроллеры домена используют в качестве источника времени хозяина операций основного контроллера домена (PDC).
  • При выборе источника времени хозяева операций основного контроллера домена следуют иерархии доменов.

В данной иерархии хозяин операций PDC, расположенный в корневом домене леса, становится основным сервером времени для всей организации. Корпорация Майкрософт рекомендует, чтобы основной сервер времени получал значения времени от внутреннего источника. Если основной сервер времени получает эти данные от источника времени в Интернете, проверка подлинности не выполняется. Кроме того, корпорация Майкрософт рекомендует уменьшить значения параметров, определяющих максимальную величину коррекции времени для серверов и рядовых компьютеров. Это позволит более точно устанавливать время на компьютерах в домене и повысит уровень их безопасности.

 

Настройка службы времени Windows для использования системных часов

 

Помощь в решении проблемы

Чтобы устранить проблему в автоматическом режиме, нажмите кнопку Устранить проблему или щелкните одноименную ссылку. Нажмите в диалоговом окне Загрузка файла кнопку Выполнить и следуйте инструкциям мастера устранения проблем.

Устранить проблему Microsoft Fix it 50394

Примечания

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

 

Самостоятельное решение проблемы

Важно! В данный раздел, метод или задачу включены действия по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому такие действия необходимо выполнять очень внимательно. Для дополнительной защиты следует создать резервную копию реестра перед его изменением. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:

322756  Создание резервной копии и восстановление реестра Windows

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

  1. Выберите в меню Пуск пункт Выполнить, введите команду regedit и нажмите кнопку ОК.
  2. Найдите и выделите следующий раздел реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
  3. На правой панели щелкните правой кнопкой мыши параметр AnnounceFlags и выберите командуИзменить.
  4. В появившемся окне Изменение параметра DWORD в поле Значение введите символ A и нажмите кнопку ОК.
  5. Закройте редактор реестра.
  6. Перезапустите службу времени. Для этого введите в командной строке следующую команду и нажмите клавишу ВВОД:
    net stop w32time && net start w32time

Примечание. Служба времени хозяина PDC не должна быть настроена на синхронизацию с самим хозяином PDC. Дополнительные сведения о том, почему основной контроллер домена не следует настраивать на синхронизацию с самим собой, см. на следующем веб-узле в документе RFC (Request For Comment) 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 для использования внешнего источника показаний времени

 

Помощь в решении проблемы

Чтобы устранить проблему в автоматическом режиме, нажмите кнопку Устранить проблему или щелкните одноименную ссылку. В диалоговом окне Загрузка файла нажмите кнопку Выполнить и следуйте инструкциям мастера устранения проблем.
Устранить проблему Microsoft Fix it 50395

Примечания

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

Самостоятельное решение проблемы

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

  1. Измените тип сервера на NTP. Для этого выполните следующие действия.
    1. Выберите в меню Пуск пункт Выполнить, введите команду regedit и нажмите кнопку ОК.
    2. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
    3. На правой панели щелкните правой кнопкой мыши параметр Type и выберите командуИзменить.
    4. В появившемся окне Изменение строкового параметра в поле Значение введите NTP и нажмите кнопку ОК.
  2. Присвойте параметру
    AnnounceFlags
    значение 5. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
    2. На правой панели щелкните правой кнопкой мыши параметр AnnounceFlags и выберите команду Изменить.
    3. В появившемся окне Изменение параметра DWORD в поле Значение введите 5 и нажмите кнопку ОК.
  3. Включите сервер NTP. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
    2. На правой панели щелкните правой кнопкой мыши параметр Enabled и выберите командуИзменить.
    3. В появившемся окне Изменение параметра DWORD в поле Значение введите 1 и нажмите кнопку ОК.
  4. Укажите источники времени. Для этого выполните следующие действия.
    1. Найдите и выделите следующий подраздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
    2. На правой панели щелкните правой кнопкой мыши параметр NtpServer и выберите командуИзменить.
    3. В появившемся окне Изменение строкового параметра в поле Значение введите Peers и нажмите кнопку ОК.

      Примечание Peers представляет собой перечень узлов, предоставляющих данные о текущем времени. Для разделения имен узлов в списке используются пробелы. Все имена DNS в данном списке должны быть уникальными. В конце каждого имени DNS необходимо добавлять символы ,0x1. Если данные символы не были добавлены, то изменения, вносимые на шаге 5, не вступят в силу.
  5. Задайте интервал опроса. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
    2. На правой панели щелкните правой кнопкой мыши параметр SpecialPollInterval и выберите команду Изменить.
    3. В появившемся окне Изменение параметра DWORD в поле Значение введитеTimeInSeconds и нажмите кнопку ОК

      Примечание TimeInSeconds – это интервал времени (в секундах) между двумя опросами. Рекомендуется установить его равным 900. В этом случае опрос будет выполняться каждые 15 минут.
  6. Задайте параметры, определяющие максимальную величину коррекции времени. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
    2. На правой панели щелкните правой кнопкой мыши параметр MaxPosPhaseCorrection и выберите команду Изменить.
    3. В диалоговом окне Изменение параметра DWORD в разделе Система исчислениявыберите значение Десятичная.
    4. В появившемся окне Изменение параметра DWORD в поле Значение введитеTimeInSeconds и нажмите кнопку ОК

      Примечание. TimeInSeconds может иметь любое значение в разумных пределах (например, 1 час (3600) или 30 минут (1800)). Данное значение выбирается исходя из величины интервала опроса, состояния сети и типа внешнего источника времени.
    5. Найдите и выделите следующий раздел реестра:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection
    6. На правой панели щелкните правой кнопкой мыши параметр MaxNegPhaseCorrection и выберите команду Изменить.
    7. В диалоговом окне Изменение параметра DWORD в разделе Система исчислениявыберите значение Десятичная.
    8. В появившемся окне Изменение параметра DWORD в поле Значение введитеTimeInSeconds и нажмите кнопку ОК

      Примечание. TimeInSeconds может иметь любое значение в разумных пределах (например, 1 час (3600) или 30 минут (1800)). Данное значение выбирается исходя из величины интервала опроса, состояния сети и типа внешнего источника времени.
  7. Закройте редактор реестра.
  8. Перезапустите службу времени. Для этого введите в командной строке следующую команду и нажмите клавишу ВВОД:
    net stop w32time && net start w32time

Устранение неполадок

Для нормального функционирования службы времени Windows необходима работающая сетевая инфраструктура. В большинстве случаев ошибки в работе службы времени Windows вызваны следующими причинами.

  • При обмене данными по протоколу TCP/IP возникают сбои (например, из-за неработающего шлюза).
  • Неправильно работает служба разрешения имен.
  • При прохождении пакетов по сети возникают значительные задержки (особенно если для синхронизации используются медленные каналы глобальной сети).
  • Служба времени Windows пытается выполнить синхронизацию с источниками, сообщающими неточные данные.

Для устранения неполадок, вызванных сбоями в работе сети, корпорация Майкрософт рекомендует использовать средство Netdiag.exe, входящее в набор Windows Server 2003 Support Tools. За сведениями о параметрах командной строки, поддерживаемых приложением Netdiag.exe, обратитесь к справке по набору средств поддержки. Если решить проблему не удается, включите журнал отладки службы времени Windows. Поскольку журнал отладки может содержать большой объем служебной информации, при использовании журнала отладки рекомендуется обращаться в службу поддержки продуктов Майкрософт.

NTP поддерживает несколько разных типов пакетов. Обычно клиенты NTP и клиенты SNTP (Simple Network Time Protocol) направляют серверу NTP пакеты запросов в клиентском режиме. Сервер NTP отвечает пакетом в серверном режиме. Чтобы настроить службу W32time для отправки пакетов серверу NTP не в клиентском, а в симметричном активном режиме, введите в командной строке следующую команду:

w32tm /config /manualpeerlist:<server>,0x4 /syncfromflags:MANUAL

Примечание. Используйте флаг 0x8, чтобы служба W32time вместо пакетов в симметричном активном режиме всегда передавала обычные клиентские запросы. Сервер NTP отвечает на эти обычные клиентские запросы в обычном порядке.

 

Настройка надежного источника времени

Компьютер, выбранный в качестве надежного источника времени, является корнем службы времени Windows. Данный компьютер выступает в качестве основного сервера времени для домена и, как правило, получает информацию о текущем времени от внешнего сервера NTP или от системных часов. Чтобы оптимизировать процесс синхронизации времени в иерархии домена, можно настроить сервер службы времени в качестве надежного источника времени. Если контроллер домена является надежным источником времени, то при подключении данного контроллера домена к сети служба Net Logon отправляет оповещение, что данный компьютер является надежным источником времени. Когда остальные контроллеры домена будут искать источник времени для синхронизации, в первую очередь они будут обращаться к надежному источнику времени, если он доступен.

 

Синхронизация вручную

Синхронизация вручную позволяет указать один или несколько узлов, с которых компьютер будет получать информацию о времени. Если компьютер не является членом домена, то его необходимо вручную настроить на синхронизацию с выбранным источником времени. Компьютеры, входящие в домен, по умолчанию производят синхронизацию в соответствии с иерархией домена. Корень леса в домене и компьютеры, не входящие в домен, как правило, используют синхронизацию вручную. Если компьютер, являющийся основным сервером времени для данного домена, вручную настроен на выполнение синхронизации с внешним NTP-сервером, то домен получает надежную информацию о времени. Однако для повышения защищенности домена и получения более точных значений времени рекомендуется выполнять синхронизацию основного компьютера с системными часами. 

Если подобный источник времени отсутствует, служба W32time будет работать в режиме NTP. Для работы службы времени необходимо указать значения параметров реестра MaxPosPhaseCorrection и MaxNegPhaseCorrection. Рекомендуется использовать значения, не превышающие 15 минут. Конкретное значение зависит от источника времени, состояния сети и требований к безопасности. Это требование относится также к любому надежному источнику времени, являющемуся корневым источником времени в схеме синхронизации времени. Дополнительные сведения о параметрах MaxPosPhaseCorrection и MaxNegPhaseCorrection см. в разделе «Параметры реестра, используемые службой времени Windows» данной статьи.

Примечание. Если для источников времени, указанных вручную, не создан отдельный поставщик времени, то эти источники не будут проходить проверку подлинности, что делает их уязвимыми для атак. Кроме того, если компьютер осуществляет синхронизацию с источником времени, заданным вручную, а не с контроллером домена, выполняющим проверку подлинности данного компьютера, то может произойти рассинхронизация компьютера и контроллера домена, что вызовет сбои при выполнении действий, требующих проверки подлинности в сети (например, при доступе к общим файлам или при печати на сетевом принтере), а также при выполнении проверки подлинности Kerberos. Если синхронизацию с внешним источником времени осуществляет только корневой компьютер, то все компьютеры в домене будут синхронизированы друг с другом, что повышает их защищенность.

 

Все доступные способы синхронизации

Вариант «все доступные способы синхронизации» более всего подходит для пользователей, работающих в сети, поскольку он позволяет выполнять синхронизацию на основе иерархии домена, а также (в зависимости от конфигурации) допускает использование альтернативных источников времени, если синхронизация на основе иерархии домена становится недоступной. Если клиент не может синхронизировать время на основе иерархии домена, то в качестве источника времени автоматически будет использоваться источник, указанный в параметре NtpServer. Этот метод синхронизации представляет собой наилучший способ передачи клиентам информации о точном времени.

 

Параметры реестра, используемые службой времени Windows

Перечисленные ниже параметры реестра расположены в разделе

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\
 
Параметр MaxPosPhaseCorrection
Путь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Примечания. Этот параметр задает максимальную величину положительной коррекции времени, которую может выполнить служба времени. Если окажется, что величина изменения превышает допустимое значение, то изменение выполняться не будет, и будет зарегистрировано соответствующее событие. Если параметр равен 0xFFFFFFFF, то изменение времени будет выполняться всегда. По умолчанию для компьютеров-членов домена используется значение 0xFFFFFFFF. Для изолированных компьютеров и серверов по умолчанию используется значение 54000 (15 часов).
Параметр MaxNegPhaseCorrection
Путь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Примечания. Этот параметр задает максимальную величину отрицательной коррекции времени, которую может выполнить служба времени. Если окажется, что величина изменения превышает допустимое значение, то изменение выполняться не будет, и будет зарегистрировано соответствующее событие. Если параметр равен 0xFFFFFFFF, то изменение времени будет выполняться всегда. По умолчанию для компьютеров-членов домена используется значение 0xFFFFFFFF. Для изолированных компьютеров и серверов по умолчанию используется значение 54000 (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.
Параметр MaxAllowedPhaseOffset
Путь HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Примечание. Данный параметр определяет значение (в секундах), на которое служба W32Time может изменять показания часов компьютера с помощью частоты синхронизации. Если величина изменения превышает данное значение, служба W32Time изменяет показания часов компьютера напрямую. Для членов домена по умолчанию используется значение 300, а для автономных компьютеров и серверов – значение 1.