Как найти ntp сервер в домене

I’m assuming that you’re looking for the server used by the W32Time service to perform time sync on domain-member computers.

In a stock Active Directory deployment the only computer configured with a time server explicitly will be computer holding the PDC Emulator FSMO role in the forest root domain. All domain controllers in the forest root domain synchronize time with the PDC Emulator FSMO role-holder. All PDC Emulator FSMO role-holders in child domains synchronize their time with domain controllers in their parent domain (including, potentially, the PDF Emulator FSMO role-holder in the forest root domain). All domain member computers synchronize time with domain controller computers in their respective domains.

To determine if a domain member is configured for domain time sync, examine the REG_SZ value at HKLMSystemCurrentControlSetServicesW32TimeParametersType. If it is set to “Nt5DS” then the computer is synchronizing time with the Active Directory time hierarchy. If it’s configured with the value “NTP” then the comptuer is synchronizing time with the NTP server specified in the NtpServer REG_SZ value in the same registry key.

The low-level details of the time synchronization protocol are available in this article: How Windows Time Service Works

Beware that not every domain controller (the KDC’s, as James directs you in finding via DNS in his post) may be running a time service. In a stock AD deployment every domain controller will be, but some deployments may use virtualized domain controllers that have the W32Time service disabled (to facilitate hypervisor-based time synchronization) and, as such, you would probably do well to implement functionality as described by the “How Windows Time Service Works” article if you’re developing a piece of software that needs to synchronize time in the same manner that a domain member computer would.

Обновлено 12.11.2019

настройка ntp сервера windows

Добрый день уважаемые читатели и гости блога pyatilistnik.org, как много люди говорят о времени, что оно быстро или медленно бежит, и все понимают, что оно бесценно и важно. Так и в инфраструктуре Active Directory, она является одним из важнейших факторов, правильного функционирования домена. В домене все друг другу доверяют, и один раз авторизовавшись и получив все тикеты от Kerberos, пользователь ходит куда угодно, ограничиваясь лишь своими доступными правами. Так вот если у вас не будет точного времени на ваших рабочих станциях к контроллеру домена, то можете считать, что у вас начинаются серьезные проблемы, о которых мы поговорим ниже и рассмотрим как их устранить с помощью настройки NTP сервера в Windows.

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

Среди компьютеров, участвующих в Active Directory работает следующая схема синхронизация времени.

  • Контроллер корневого домена в лесу AD, которому принадлежит FSMО-роль эмулятора PDC (назовем его корневым PDC), является источником времени для всех остальных контроллеров этого домена.
  • Контроллеры дочерних доменов синхронизируют время с вышестоящих по топологии AD контроллеров домена.
  • Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.

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

Синхронизация клиентов корневого PDC может осуществятся как с его внутренних часов, так и с внешнего источника. В первом случае сервер времени корневого PDC объявляет себя как «надежный» (reliable).

Далее я приведу оптимальную с моей точки зрения конфигурацию сервера времени корневого PDC, при которой сам корневой PDC периодически синхронизирует свое время от достоверного источника в интернете, а время обращающихся к нему клиентов синхронизирует со своими внутренними часами.

Для того, чтобы понять кто у вас в сети является NTP сервером из контроллеров домена, прочитайте вот эту статью, многие вопросы отпадут сами собой

Вводим netdom query fsmo. В моем примере, роль PDC и NTP сервера, принадлежит контроллеру dc7

ntp windows

Конфигурация NTP-сервера на корневом PDC

Конфигурирование сервера времени в Windows (NTP-сервера) может осуществляться как с помощью утилиты командной строки w32tm, так и через реестр. Где возможно, я приведу оба варианта. Но в начале посмотрите полностью ваши настройки на компьютере, делается это командой:

w32tm /query /configuration

EventLogFlags: 2 (Локально)
AnnounceFlags: 10 (Локально)
TimeJumpAuditOffset: 28800 (Локально)
MinPollInterval: 6 (Локально)
MaxPollInterval: 10 (Локально)
MaxNegPhaseCorrection: 172800 (Локально)
MaxPosPhaseCorrection: 172800 (Локально)
MaxAllowedPhaseOffset: 300 (Локально)

FrequencyCorrectRate: 4 (Локально)
PollAdjustFactor: 5 (Локально)
LargePhaseOffset: 50000000 (Локально)
SpikeWatchPeriod: 900 (Локально)
LocalClockDispersion: 10 (Локально)
HoldPeriod: 5 (Локально)
PhaseCorrectRate: 7 (Локально)
UpdateInterval: 100 (Локально)

[TimeProviders]

NtpClient (Локально)
DllName: C:Windowssystem32w32time.dll (Локально)
Enabled: 1 (Локально)
InputProvider: 1 (Локально)
CrossSiteSyncFlags: 2 (Локально)
AllowNonstandardModeCombinations: 1 (Локально)
ResolvePeerBackoffMinutes: 15 (Локально)
ResolvePeerBackoffMaxTimes: 7 (Локально)
CompatibilityFlags: 2147483648 (Локально)
EventLogFlags: 1 (Локально)
LargeSampleSkew: 3 (Локально)
SpecialPollInterval: 3600 (Локально)
Type: NT5DS (Локально)

NtpServer (Локально)
DllName: C:Windowssystem32w32time.dll (Локально)
Enabled: 1 (Локально)
InputProvider: 0 (Локально)
AllowNonstandardModeCombinations: 1 (Локально)

VMICTimeProvider (Локально)
DllName: C:WindowsSystem32vmictimeprovider.dll (Локально)
Enabled: 1 (Локально)
InputProvider: 1 (Локально)

вывод настроек сервера времени

Включение синхронизации внутренних часов с внешним источником

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters]
    "Type"="NTP"ntp сервер windows
  • w32tm /config /syncfromflags:manualntp клиент windows

Объявление NTP-сервера в качестве надежного

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig]
    "AnnounceFlags"=dword:0000000aОбъявление NTP-сервера в качестве надежного
  • w32tm /config /reliable:yes

Включение NTP-сервера

NTP-сервер по умолчанию включен на всех контроллерах домена, однако его можно включить и на рядовых серверах.

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer]
    "Enabled"=dword:00000001Включение NTP-сервера на клиенте

Задание списка внешних источников для синхронизации

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters]
    "NtpServer"="time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8"Задаем внешние NTP сервера
  • w32tm /config /manualpeerlist:"time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 ru.pool.ntp.org,0x8"

Флаг 0×8 на конце означает, что синхронизация должна происходить в режиме клиента NTP, через предложенные этим сервером интервалы времени. Для того, чтобы задать свой интервал синхронизации, необходимо использовать флаг 0×1.

Задание интервала синхронизации с внешним источником

Время в секундах между опросами источника синхронизации, по умолчанию 900с = 15мин. Работает только для источников, помеченных флагом 0×1.

  • [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient]
    "SpecialPollInterval"=dword:00000384

Установка минимальной положительной и отрицательной коррекции

Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig]
"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

Настройка NTP сервера и клиента групповой политикой

Раз уж у нас с вами домен Active Directory, то глупо не использовать групповые политики, для массовой настройки серверов и рабочих станций, я покажу как настроить ваш NTP сервер в windows и клиента. Открываем оснастку “Редактор групповых политик”. Перед тем как настроить наш NTP сервер в Windows, нам необходимо создать WMI фильтр, который будет применять политику, только к серверу мастера PDC.

Создаем новый WMI для контроллеров домена

Вводим имя запроса, пространство имен, будет иметь значение “rootCIMv2” и запрос “Select * from Win32_ComputerSystem where DomainRole = 5”. Сохраняем его.

Параметры WMI фильтра

Затем вы создаете политику на контейнере Domain Controllers.

Политика для настройки NTP сервера в Windows

В самом низу политики применяете ваш созданный WMI фильтр.

Применение WMI к политике

Переходим в ветку: Конфигурация компьютера > Политики > Административные шаблоны > Система > Служба времени Windows > Поставщики времени.

Настроить NTP-клиент Windows

Тут открываем политику “Настроить NTP-клиент Windows”. Задаем параметры

  • 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. Двойка означает, если этот параметр равен 2 (Все), можно использовать любого участника синхронизации. Это значение игнорируется, если не задано значение NT5DS. Значение по умолчанию: 2 (десятичное) (0x02 (шестнадцатеричное))
  • ResolvePeerBackoffMinutes: 15. Это значение, выраженное в минутах, определяет интервал ожидания службы W32time перед попыткой разрешения DNS-имени в случае неудачи. Значение по умолчанию: 15 минут
  • Resolve Peer BAckoffMaxTimes: 7. Это значение определяет число попыток разрешения DNS-имени, предпринимаемых службой W32time перед перезапуском процесса обнаружения. При каждом неудачном разрешении DNS-имени интервал ожидания перед следующей попыткой удваивается. Значение по умолчанию: семь попыток.
  • SpecilalPoolInterval: 3600. Это значение параметра NTP-клиента, выраженное в секундах, определяет частоту опроса настроенного вручную источника времени, который использует особый интервал опроса. Если для параметра NTPServer установлен флаг SpecialInterval, клиент использует значение, заданное как SpecialPollInterval, вместо значений MinPollInterval и MaxPollInterval, чтобы определить частоту опроса источника времени. Значение по умолчанию: 3600 секунд (1 час).
  • EventLogFlags: 0

Задаем внешние NTP сервера в политке

Делаем отдельную групповую политику для клиентских рабочих машин, вот с такими параметрами.

  • NtpServer: Адрес вашего контроллера домена с ролью PDC.
  • Type: NT5DS
  • CrossSiteSyncFlags: 2
  • ResolvePeerBackoffMinutes: 15
  • Resolve Peer BAckoffMaxTimes: 7
  • SpecilalPoolInterval: 3600
  • EventLogFlags: 0

Политика для клиента

Далее идем на клиента и обновляем групповые политики gpupdate /force и вводим команду w32tm /query /status

Проверка NTP на клиенте

Особенности виртуализированных контроллеров домена

Контроллеры домена, работающие в виртуализированной среде, требуют к себе особенного отношения.

  • Средства синхронизации времени виртуальной машины и хостовой ОС должны быть выключены. Во всех адекватных системах виртуализации (Microsoft, vmWare и т. д.) присутствуют компоненты интеграции гостевой ОС с хостовой, которые значительно повышают производительность и управляемость гостевой системой. Среди этих компонентов всегда есть средство синхронизации времени гостевой ОС с хостовой, которое очень полезно для рядовых машин, но противопоказано для контроллеров домена. Потому как в этом случае весьма вероятен цикл, при котором контроллер домена и хостовая ОС будут синхронизировать друг друга. Последствия печальны.
  • Для корневого PDC синхронизация с внешним источником должна быть настроена всегда. В виртуальной среде часы не настолько точны как в физической, потому как виртуальная машина работает с виртуальным процессором и прерываниями, для которых характерно как замедление, так и ускорение относительно «обычной» частоты. Если не настроить синхронизацию виртуализированного корневого PDC с внешним источником, время на всех компьютерах предприятия может убегать/отставать на пару часов в сутки. Не трудно представить неприятности, которые может принести такое поведение.

If you want to know how to properly configure your Active Directory environment, including Domain Controllers and domain computers, to have a reliable time service working correctly and synchronizing with an external time server, this post shows how to do that in a very easy way.

Why?

Active Directory can’t work correctly if the clock is not synchronized around domain controllers and member machines.

Some of the services that rely on the correct time configuration is Kerberos, which by default, computers that are more than 5 minutes out of sync will not authenticate to domain. Another example is replication, Active Directory uses time stamps to resolve replication conflicts, etc.

How Does it Work?

  1. In Active Directory, we use the Windows Time service for clock synchronization: W32Time;

  2. All member machines synchronizes with any domain controller;

  3. In a domain, all domain controllers synchronize from the PDC Emulator of that domain;

  4. The PDC Emulator of a domain should synchronize with any domain controller of the parent domain: using NTP;

  5. The PDC Emulator of the root domain in a forest should synchronize with an external time server, which could be a router, another standalone server, an internet time server, etc.

You can have a better idea about this flow in the following picture:

time-configuration-AD

time-configuration-AD

Said that, let’s set up the time service.

Configuration

From your PDC, open the prompt as administrator and type:

w32tm /config /manualpeerlist:yourNTPserver,0x8 /syncfromflags:manual /reliable:yes /update

w32tm /resync /rediscover

net stop w32time && net start w32time

Where “yourNTPserver” should be the address of the external NTP source you want set up, it could be a pool in the Internet or your internal NTP server.

Note the “,0x8” is part of the command and it will set the PDC to force sending client requests to the specified NTP server, and not other different type of requests like symmetric, which could cause PDC to do not receive correct NTP answers.

Also, should you wish to add more than one NTP server in the command above you should put them within quotes and separated by a space, like that:

w32tm /config /manualpeerlist:"yourNTPserver1,0x8 yourNTPserver2,0x8" /syncfromflags:manual /reliable:yes /update

Confirm if your server is properly configured:

w32tm /query /status

The output from command above should show the peers you configured, if not something is wrong, double check firewall and other settings, more troubleshooting details below.

Once the PDC was correctly configured, force all other DCs to rediscover the new time server by configuring it to Domain Hierarchy with the commands below:

w32tm /config /syncfromflags:DOMHIER /update
w32tm /resync /nowait
net stop w32time && net start w32time

Check settings after a minute, it should show your PDC/Time Server:

w32tm /query /status

Once the commands above were executed in all DCs, check the NTP settings for them with the command below:

w32tm /monitor

The correct and expected output should be the PDC/NTP with Stratum = 3 and all other DCs with Stratum = 4

Firewall

Set your internal firewall and your perimeter firewall to allow outgoing and incoming NTP traffic from/to your server on 123 UDP port.

Virtual Server?

Don’t forget, if your PDC is a virtual machine hosted on a Hyper-V server, you have to disable the time synchronization in your VM settings. To do that follow the instruction below:

1 – Open Hyper-V Manager.

2 – Select the Virtual Guest DC

3 – Click Settings.

4 – Click Integration services.

5 – Clear the Time Synchronization option.

6 – Exit Hyper-V Manager.

7 – Restart the server.

Screwed up configuration, what now?

Don’t worry, you can restore time service to its default value:

net stop w32time
w32tm /unregister
w32tm /register

Errors?

If you are facing Event ID errors 47, or if your configuration has the source configuration set as “Local CMOS Clock“, try:

1 – Do the above procedures again and be sure to set “,0x8” immediate after the NTP address without any spaces.

2 – Make sure you can reach your external NTP server through port UDP 123.

3 – Restart your server and try again.

4 – Make sure you don’t have any other NTP setting being applied on your domain through GPO.

5 – Make sure your current time is not as far as 1000 seconds from the real time.

6 – Make sure your server is set at the right zone time.

7 – You can also check for time advertisement on the PDC by running this command w32tm.exe /resync /rediscover /no_wait, then check for Event ID 139

8 – You can check the registry entries if the domain controller is using NTP (should be on PDC) or NT5DS (on non-PDC):Find the value of Type under:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters

References:

https://blogs.technet.microsoft.com/nepapfe/2013/03/01/its-simple-time-configuration-in-active-directory/

https://kb.meinbergglobal.com/kb/time_sync/timekeeping_on_windows/configuring_w32time_as_ntp_client

For any doubts or suggestions, please leave a comment below.

To keep all PCs
synchronized, updating the internet time will help you pull it off. And to do
that, you need to find the NTP (Network Time Protocol) server first.

Windows’ Command Prompt will get you there. And
if you don’t know where to begin, don’t worry.

In this post,
you’ll learn what you need on how to find the NTP server for the domain.

Register and Start

If you haven’t
registered Windows Time Service yet, the commands below will show you how to do
it. You also need to start the service before you can sync your computer time
with your NTP server.

First up is to
launch the Command Prompt. Choose Run as administrator.

Then enter the
following command to register your system: w32tm
/register

Once you hit
enter, you will find out if the registration was a success.

Now, start things
up by issuing this command: sc start
w32time

W32tm /query

Now that the
Windows Time Service is registered and running, you can get information from
it. You can do this by typing the following: w32tm /query and match it with the following parameters.

/status

This will show
you the status of Windows Time Service.

/status
/verbose

This will set the
verbose mode to show you more information.

/source

This will show
you the time source.

/configuration

This will show
you the run-time’s configuration and settings.

/peers

This will show a
list of people using your system.

W32tm
/resync

You can also use
the Command Prompt to resynchronize
the clock the soonest time possible.

Here’s a
discussion on each parameter of this command:

/computer:<name
of computer to be resynchronized>

This lets you
specify a computer that will be resynchronized. If you leave this blank, the
subject will be the local computer.

/nowait

This lets you
eliminate the wait time for the resynchronization. It means that you will not
have to wait for the process to be completed before the results are returned.

/soft

This lets you
resync the clock using the existing errors. Of course, this wouldn’t do you any
good. But you can refer to the information it provides for compatibility.

W32tm
/config

Use this command
to configure your system.

Let’s look at its
components:

/manualpeerlist:

This lets you set
a list of peers. It’s a list of IP addresses.

You can leave it
blank and by default, it will be set to <peers>.

/update

This allows you
to notify the service that there are new changes that need to take effect.

/localclockdispersion:<in
seconds>

This configures
the Internal clock’s accuracy.

/reliable:<YES
or NO>

This allows you
to specify whether the system is a reliable source for time.

/largephaseoffset:<in
milliseconds>

This lets you set
the time difference involving your local and network time.

W32tm
/dumpreg

To get
information about a registry key, you can also go to the Command Prompt. There, enter the following, along with w32tm /dumpreg

/subkey:<key>

This shows you
the values that are associated with the sub-key of the default key.

/computer:<name
of the computer>

This shows you
the queries registry settings for a specified computer.

W32tm
/debug

The Command Prompt is also where you can
access your computer’s private log. Here’s a short discussion of the parameters
in this category.

/enable
or /disable

This lets you enable or disable the private log. Because you want to access this log,
enabling is the way to go.

/file:<name
of your file>

This lets you
specify the name of your file. In the example below, let’s say the name of our
file is “xxx”.

/size:<size
of your file>

This lets you
specify the size of your file. What you should enter here is the maximum number
of bytes.in the example, the size of our file is 100 bytes.

/entries:<number
of entries>

This allows you
to list down the value for your entries. The valid numbers for this field are
in between 0 to 300. In the example, the value is 10.

Сохранить все ПК
синхронизация, обновление времени в Интернете поможет вам справиться с этим. И делать
что вам нужно сначала найти NTP (сетевой протокол времени).

Командная строка Windows доставит вас туда. А также
если вы не знаете, с чего начать, не волнуйтесь.

В этом посте
вы узнаете, что вам нужно, как найти NTP-сервер для домена.

Зарегистрируйтесь и начните

Если вы не
зарегистрированный Windows Time Service пока что, приведенные ниже команды покажут вам, как это сделать
Это. Вам также нужно запустить службу, прежде чем вы сможете синхронизировать время вашего компьютера
с вашим NTP-сервером.

Сначала нужно
Запустите командную строку. Выберите «Запуск от имени администратора».

Затем введите
Следующая команда для регистрации вашей системы: w32tm
/регистр

Как только вы нажмете
введите, вы узнаете, если регистрация прошла успешно.

Теперь начнем
с помощью этой команды: sc start
w32time

W32tm / запрос

Теперь, когда
Служба времени Windows зарегистрирована и работает, вы можете получить информацию от
Это. Вы можете сделать это, набрав следующее: w32tm / query и сопоставив его со следующими параметрами.

/положение дел

Это покажет
у вас статус службы времени Windows.

/положение дел
/подробный

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

/источник

Это покажет
Вы источник времени.

/ конфигурации

Это покажет
вы конфигурация и настройки во время выполнения.

/ сверстники

Это покажет
список людей, использующих вашу систему.

w32tm
/ ресинхронизации

Вы также можете использовать
Командная строка для повторной синхронизации
часы как можно скорее.

Вот
обсуждение каждого параметра этой команды:

/ Компьютер:

Это позволяет вам
укажите компьютер, который будет синхронизирован. Если вы оставите это поле пустым,
темой будет локальный компьютер.

/Нет, подождите

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

/мягкий

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

w32tm
/ конфигурации

Используйте эту команду
настроить вашу систему.

Давайте посмотрим на его
компоненты:

/ Manualpeerlist:

Это позволяет вам установить
список пэров. Это список IP-адресов.

Вы можете оставить это
пусто и по умолчанию будет установлено значение ,

/Обновить

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

/ Localclockdispersion:

Это настраивает
Точность внутренних часов.

/ Надежность:

Это позволяет вам
указать, является ли система надежным источником времени.

/ Largephaseoffset:

Это позволяет вам установить
разница во времени с вашим местным и сетевым временем.

w32tm
/ dumpreg

Получить
Информацию о ключе реестра вы также можете перейти в командную строку. Там введите следующее вместе с w32tm / dumpreg

/ Подраздел:

Это показывает вам
значения, связанные с вложенным ключом ключа по умолчанию.

/ Компьютер:

Это показывает вам
параметры реестра запросов для указанного компьютера.

w32tm
/ отладки

Командная строка также там, где вы можете
получить доступ к личному журналу вашего компьютера. Вот краткое обсуждение параметров
в этой категории.

/включить
или / отключить

Это позволяет вам включить или отключить личный журнал. Потому что вы хотите получить доступ к этому журналу,
Разрешение — это путь.

/файл:

Это позволяет вам
укажите название вашего файла. В приведенном ниже примере, скажем, название нашего
файл «ххх».

/размер:

Это позволяет вам
укажите размер вашего файла. То, что вы должны ввести здесь, это максимальное количество
oftes.в примере, размер нашего файла составляет 100 байт.

/ записи:

Это позволяет вам
перечислить значение для ваших записей. Допустимые числа для этого поля:
от 0 до 300. В данном примере значение равно 10.

Добавить комментарий