Кой NTP сървър да използвам? Или е по-добре да има няколко? Всичко, от което се нуждаете, на един ред.

Лесно решение на проблема с грижите времеНа домейн контролеринсталиран на виртуаленкола Hyper-Vуправлявани от Windows сървър 2008/2012.

По време на работа домейн контролеруправлявани от Windows сървър 2008 R2/2012, инсталиран на виртуална машина Hyper-V, беше забелязано постоянно времето минава– за месец времето можеше да мине с почти половин час. Трябва ли да казвам колко е важно? точно времена домейн контролера, защото на него синхронизираницелият парк компютри в домейна.

1. Деактивирайте синхронизирането на времето с хост машината

Първо трябва да деактивирате времева синхронизациямашина за гости едновременно с машината хост, в противен случай ще изпаднем в проблеми. Ако хост машината е член на домейн, хостът се синхронизира с контролера на гост машината и машина за гостисинхронизиран от хоста - получаваме затворен цикъл, който най-вероятно води до постоянно изместване на времето вътре в себе си. Промяната се получава буквално за няколко части от секундата, но постепенно добавяйки през всеки цикъл на синхронизация, се натрупва много забележимо изместване на часовника.

В параметри виртуална машинаНастройки → Услуги за интеграция → Синхронизация на времето – премахнете отметката

2. Настройте синхронизиране чрез NTP сървър

Инструменти

За конфигуриране ще използваме помощната програма за командния ред w32tm. Основните параметри на помощната програма, които се използват за конфигуриране и управление на времето: w32tm /query ви позволява да правите заявки текущи настройки NTP клиент и сървър w32tm /config се използва за конфигуриране на услугата за време w32tm /resync се използва за инициализиране на синхронизацията на времето w32tm /dumpreg се използва за показване на текущите настройки на регистъра, свързани с услугата за време w32tm /debug се използва за активиране на отстраняване на грешки в услугата за време дневник

Настройки

Настройвате синхронизация на времето на домейн контролер под Windows контролСървър 2008 R2 с ролята на FSMO„PDC емулатор“: w32tm /query /configuration погледнете текущите параметри на услугата за време w32tm /config /syncfromflags:manual изберете източника (списъка, който посочихме) за синхронизация на времето w32tm /config /manualpeerlist:"server1.ntp.org server2.ntp.org" настройваме ръчно зададен списък от възли за синхронизация. Хостовете са DNS имена или IP адреси, разделени с интервали. Когато посочвате множество възли, всички стойности на възли са оградени в кавички. Можете, разбира се, да се ограничите до един познат time.windows.com w32tm /config /reliable:yes ние задаваме параметъра, че тази машина е надежден източник на време и може да обслужва клиенти w32tm /config /update ние информираме услугата за време че са направени промени (можете да рестартирате услугата) w32tm /query /configuration check направени променив параметрите на услугата w32tm /resync ние извършваме синхронизация (можете да си поиграете, да промените часа и да проверите дали ще се извърши синхронизация)

За по-голяма надеждност можете също така да рестартирате Time Service, като използвате командите net stop w32time и net start w32time.

За удобство е добре да съберете изброените команди в един cmd файл и да решите проблема с едно кликване:

W32tm /config /syncfromflags:manual w32tm /config /manualpeerlist:time.windows.com w32tm /config /reliable:yes w32tm /config /update w32tm /query /configuration pause w32tm /resync

Примери за приложение

08.12.2014

Устройствата NetPing използват NTP протокола за синхронизиране на времето. Използвайки този протокол, всички устройства в мрежата настройват времето си според към посочения сървър. NetPing устройствата, свързани към интернет, могат да използват публичен NTP сървър, както се препоръчва в статия. Ако има достъп до Интернет мрежине, тогава можете да конфигурирате локален NTP сървър. Такъв сървър може да бъде всеки компютър с операционна система Windows с конфигурирана услуга W32 ВремеУслуга за време на Windows »). Тази услуганяма GUIи се конфигурира или чрез командния ред, или чрез редактиране на ключове в системния регистър.

Инструкции за настройка на NTP сървър на Windows 7/8/2008/2012

Нека да разгледаме настройката на услуга за време чрез редактиране на регистъра. Настройката е същата за Windows версии 7/8, Windows Server 2008, Windows Server 2012.

За тази настройка трябва да имате администраторски права на Windows OS.

Отворете редактора на системния регистър или през диалоговия прозорец „ Изпълни", причинено от клавишната комбинация " Печеля» + « Р", или чрез формата за търсене, където пишем " regedit».


В редактора, който се отваря, в лявото дървовидно меню отворете „клона“ „ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer", където търсим ключа с името " Активирайте" Кликнете Кликнете с десния бутонмишката и изберете „Редактиране“. Променете стойността на ключа от 0 На 1 .


Чрез промяна този параметър, посочихме, че този компютър действа като NTP сървър. Компютърът едновременно остава клиент и може да синхронизира времето си с други сървъри в Интернет или локална мрежа. Ако искате вътрешният хардуерен часовник да действа като източник на данни, променете стойността на ключовия параметърAnnounceFlagsНа 5 в темата " HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config».


За да влязат в сила промените, трябва да рестартираме услугата. Достъпът до услугите се осъществява чрез " Контролен панел» от менюто « Започнете» -> « Контролен панел» -> « Администрация» -> « Услуги" Намира се и във формата за търсене, когато въведете „ услуги.msc" В списъка с услуги, който се появява, намираме тази, която ни интересува „ Услуга за време на Windows" и през менюто, извикано с десния бутон на мишката, изберете елемента " Рестартирам».

В тази статия ще разгледаме как да конфигурирате NTP в Windows Server 2012. Тази статия не обхваща подробна настройкавремева синхронизация в домейн среда и настройка на един домейн контролер с ролята на PDC емулатор, който е единственият сървър в средата, който се синхронизира с външен източниквреме.

Настройката е много проста. Всичко, което трябва да направите, е да изпълните следните команди в PowerShell:

w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time

Ако контролерът е виртуализиран с помощта на Hyper-V, трябва да запомните да деактивирате синхронизирането на времето с помощта на Hyper-V. Отворете настройките на виртуалната машина -> Управление -> Услуги за интеграция и премахнете отметката от квадратчето Синхронизация на времето.

Това е всичко!Искате ли да знаете повече? Нещо не работи? Тогава нека го разгледаме по-подробно...

W32tm е основната команда, която използваме. Има и опции, които използват "нето време", но всъщност няма нужда да използвате тази конструкция. Някои статии също споменават директно редактиранерегистър, но Microsoft съветва да не правите това в никакъв случай, но само ако няма абсолютно никаква друга алтернатива. Но ако наистина искате да редактирате системния регистър, клонът, от който се нуждаете, е тук: HKLM\System\CurrentControlSet\Services\W32Time.

Кой NTP сървър да използвам? Или е по-добре да има няколко?

pool.ntp.org е кръгова система от произволни NTP сървъри. За крайни потребителитози адрес е повече от достатъчен. Въпреки това, ако е необходимо, можете ръчно да посочите няколко сървъра:

w32tm /config /manualpeerlist:"ntp1.sp.se ntp2.sp.se" /syncfromflags:MANUAL

Просто добавете сървърите, от които се нуждаете, с интервал между тях.

Не забравяйте за защитната стена

Ако имате защитна стена между хоста и интернет, тя може да бъде конфигурирана да блокира udp/123, където работи NTP протоколът. Ето как изглежда на моя Cisco ASA FW:

Затова създадох отделно правило, което позволява този трафик.

Подробна информация и регистриране

Тази команда показва полезна информацияотносно настройката на синхронизацията, списъка със сървъри и времето на последната синхронизация.

Обикновено, когато сървърът не може да получи време от NTP сървър, следната информация се записва в регистрационния файл:

Име на регистрационния файл: система
ИД на събитие: 47
Ниво: Предупреждение
Описание: Доставчик на време NtpClient: Не е получен валиден отговор от ръчно конфигуриран peer pool.ntp.org след 8 опита за свързване с него. Този партньор ще бъде отхвърлен като източник на време и NtpClient ще се опита да открие нов партньор с това DNS име. The грешка беше: Партньорът е недостъпен.

Когато всичко е наред, съобщението изглежда така:

Име на регистрационния файл: система
Източник: Microsoft-Windows-Time-Service
ИД на събитие: 35
Ниво: Информация
Описание: Услугата за време сега синхронизира системното време с източника на време pool.ntp.org (ntp.m|0×0|0.0.0.0:123->85.10.240.253:123).

Все още ли изпитвате проблеми? Можете лесно да включите изход за отстраняване на грешки в лог файл, който в моя случай е ограничен до 10 мегабайта и включва всички записи за отстраняване на грешки.

w32tm /debug /enable /file:C:\Temp\w32tmdebug.log /size:10485760 /entries:0-300

След като отстраняването на грешки приключи, изключете го:

В случай на проблеми в дневника ще видите голям бройинформация. За мен, когато всичко работи, следният запис сигнализира това:

- Достъпност: peer pool.ntp.org (ntp.m|0×0|0.0.0.0:123->129.70.132.35:123) е достъпен.
- Информация за регистриране: NtpClient в момента получава валидни данни за времето от pool.ntp.org (ntp.m|0×0|0.0.0.0:123->129.70.132.35:123).

И когато защитната ми стена блокира пакетите, получих следните съобщения.

- Грешка при регистриране: NtpClient е конфигуриран да получава време от един или повече източници на време, но нито един от източниците не е достъпен в момента и няма да бъде направен опит за връзка с източник в продължение на 1 минута. NTPCLIENT НЯМА ИЗТОЧНИК НА ТОЧНО ВРЕМЕ.

Принудителна синхронизация

Ако трябва да принудите клиента да се синхронизира, изпълнете командата:

w32tm/повторно синхронизиране
Изпращане на команда за повторно синхронизиране към локален компютър
Командата завърши успешно.

Ако сте получили следната грешка, това означава, че компютърът не може да достигне NTP сървъра.

Компютърът не се синхронизира отново, защото нямаше налични данни за времето.

Започни отначало

Ако сте напълно объркани в конфигурациите, натъпкани сте твърде много и вече не разбирате какво се случва, започнете отначало. Тези команди ще се нулират напълно NTP настройкикъм състояние по подразбиране:

Stop-Service w32time
w32tm/отмяна на регистрацията
w32tm/регистрация

Задаването на часа в сървърните операционни системи на Windows, използващи NTP протокола, е критично за много услуги. Без правилно конфигурирано време или по-скоро, ако часовниците на сървъра и работните станции не съвпадат, много протоколи не могат да работят правилно Активна директорияи услуги за синхронизация. Настройването и поддържането на часовник с помощта на NTP е проста задача, но понякога идва с някои усложнения, които ще се опитаме да разгледаме в тази статия.

Например, ще използваме не най-новата система - Windows Server 2012. Тя е най-често срещаната и в същото време за много други системи, включително Windows Server 2008, Windows Server 2016, се прилагат подобни команди и правила. Трябва да се отбележи, че описанието се отнася до настройка на среда с един главен PDC контролер. | Повече ▼ сложни опциине се разглеждат.

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

За да поставите NTP услугата в състояние „по подразбиране“, трябва да изпълните следните команди:

Стоп- Услуга w32time w32tm / дерегистрация w32tm / регистрация

Stop-Service w32time w32tm /отмяна на регистрация w32tm /регистрация

IN в такъв случайспират услугата, дерегистрират услугата и я регистрират отново в системата. Трябва да изпълнявате тези команди само когато е абсолютно необходимо. По правило няма нужда от тях - NTP се конфигурира, ако се вземат предвид други системни обстоятелства.

Нормални NTP инсталационни команди

За да конфигурирате мрежовия протокол за време Windows контролерСървър, първо трябва да деактивирате синхронизирането чрез Hyper-V, ако контролерът е виртуализиран чрез тази технология. За да направите това, отидете в настройките и махнете отметката от елемента Синхронизация на времето в секцията Управление -> Услуги за интеграция

За тези, които не използват Hyper-V, предишната стъпка може да бъде пропусната.

w32tm /config /manualpeerlist:"0.de.pool.ntp.org 1.de.pool.ntp.org" /syncfromflags:MANUAL

UDP протокол за NTP и блокиране на защитната стена

Протоколът за време използва UDP порт номер 123 за своята комуникация в стандартната си конфигурация. Трябва да се уверите, че защитната стена не блокира този порт. Ако възникне блокиране, в ntp регистрационните файлове ще има много информация, че връзката е невъзможна:

Име на регистрационния файл: система
Източник: Microsoft-Windows-Time-Service
ИД на събитие: 47
Ниво: Предупреждение
Описание: Доставчик на време NtpClient: Не е получен валиден отговор от ръчно конфигуриран peer pool.ntp.org след 8 опита за свързване с него. Този партньор ще бъде отхвърлен като източник на време и NtpClient ще се опита да открие нов партньор с това DNS име. Грешкатабеше: Партньорът е недостижим.

За да се уверите, че това е проблемът, можете да разрешите извеждането на допълнителна информация за отстраняване на грешки. Ние конфигурираме регистрационните файлове на Windows Server, така че всички необходимата информация, но те не са нараснали повече от 20 мегабайта:

w32tm /debug /disable

Ключалка ntpЗащитната стена улавя следната фраза при отстраняване на грешки:

— Грешка при регистриране: NtpClient е конфигуриран да получава време от един или повече източници на време, но нито един от източниците в момента не е достъпен и няма да бъде направен опит за връзка с източник в продължение на 1 минута. NTPCLIENT НЯМА ИЗТОЧНИК НА ТОЧНО ВРЕМЕ.

В този случай (да, като цяло, веднага за целите на проверката), трябва да проверите правилото в защитната стена

И ако е необходимо, променете правилото или го добавете.

Проверка дали ntp работи правилно

За да проверите дали всичко работи правилно, можете да стартирате синхронизирането ръчно:

w32tm/повторно синхронизиране

Ако всичко е минало добре, ще получите следното съобщение:

Изпращане на команда за повторно синхронизиране към локален компютър
Командата завърши успешно.

Ако има проблеми, изпратете съобщение:

Компютърът не се синхронизира отново, защото нямаше налични данни за времето.

Във втория случай първо трябва да проверите всичко: защитната стена, коректността на посочените сървъри (дали сте направили грешка в името). Ако не друго, вече сме предоставили информация за нулиране на настройките.


операционна система Семейство Windowsсъдържа услугата за време W32Time. Тази услуга е предназначена за синхронизиране на времето в организацията. W32Time отговаря за работата както на клиентската, така и на сървърната част на услугата за време и един и същ компютър може да бъде едновременно клиент и NTP (Network Time Protocol) сървър.

По подразбиране услугата за време на Windows е конфигурирана, както следва:

При инсталиране на операционна зала Windows системистартира NTP клиент, който се синхронизира с външен източник на време;

Когато добавите компютър към домейн, типът на синхронизация се променя. Всички клиентски компютри и членски сървъри в домейна използват домейн контролер за синхронизиране на времето, което проверява тяхната автентичност;

Когато членски сървър е повишен в домейн контролер, на него се стартира NTP сървър, който използва контролер с ролята на PDC емулатор като източник на време;

PDC емулатор, разположен в основен домейнгори, е основният сървър за време за цялата организация. В същото време самият той също е синхронизиран с външен източник на време.

Тази схема работи в повечето случаи и не изисква намеса. Въпреки това, структурата на услугата за време в Windows може да не следва йерархията на домейна и всеки компютър може да бъде определен като надежден източник на време.

Като пример, нека да разгледаме настройката на NTP сървър в Windows Server 2008 R2; по аналогия можете да настроите NTP сървър в Windows 7.

Стартиране на NTP сървъра

Времевата услуга на Windows Server няма GUIи може да се конфигурира от двете командна линия, или чрез директно редактиране на системния регистър. Нека разгледаме втория метод:

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 – Клиент, изпращащ заявка в клиентски режим.

Друг важен параметър 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/монитор/компютри: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.