как узнать ntp сервер в локальной сети
Как найти сервер времени в домене?
В домене Windows PDC не обязательно является сервером времени домена. Как я могу определить авторитетный сервер времени?
Я предполагаю, что вы ищете сервер, используемый службой W32Time для синхронизации времени на компьютерах, входящих в домен.
В стандартном развертывании Active Directory единственным компьютером, явно настроенным с сервером времени, будет компьютер, выполняющий роль FSMO эмулятора PDC в корневом домене леса. Все контроллеры домена в корневом домене леса синхронизируют время с держателем роли PDM Emulator FSMO. Все обладатели ролей PDM Emulator FSMO в дочерних доменах синхронизируют свое время с контроллерами домена в своем родительском домене (включая, потенциально, держателя роли PDF Emulator FSMO в корневом домене леса). Все компьютеры-члены домена синхронизируют время с компьютерами контроллера домена в соответствующих доменах.
Чтобы определить, настроен ли член домена для синхронизации времени домена, проверьте значение REG_SZ в HKLM \ System \ CurrentControlSet \ Services \ W32Time \ Parameters \ Type. Если установлено значение «Nt5DS», то компьютер синхронизирует время с иерархией времени Active Directory. Если он настроен со значением «NTP», то компьютер синхронизирует время с NTP-сервером, указанным в значении REG_SZ NtpServer в том же разделе реестра.
Сведения о низкоуровневом протоколе синхронизации времени доступны в этой статье: Как работает служба времени Windows
Помните, что не каждый контроллер домена (KDC, как Джеймс указывает вам при поиске через DNS в своем посте) может использовать службу времени. В стандартном развертывании AD каждый контроллер домена будет, но в некоторых развертываниях могут использоваться виртуализированные контроллеры домена, у которых отключена служба W32Time (для облегчения синхронизации времени на основе гипервизора), и, как таковая, вы, вероятно, преуспели бы в реализации функциональности, как описано в статью «Как работает служба времени Windows», если вы разрабатываете программное обеспечение, которое должно синхронизировать время так же, как это делает компьютер, являющийся членом домена.
Как проверить текущую конфигурацию NTP системы?
Мне нужно проверить текущую конфигурацию NTP на некоторых системах Windows. В идеале я хотел бы сделать это через командную строку вместо навигации по экранам конфигурации.
(Я работаю над несколькими версиями ОС, а экраны конфигурации не всегда находятся в одном месте по всем версиям.)
Я надеюсь найти быструю, запоминающуюся команду, которую я могу просто пробить в консоли CMD, чтобы получить результат. Пакетный файл, который я могу носить с собой, также будет работать.
В частности, мне нужно следующее:
Какие команды необходимы для достижения этих результатов?
Ищем решение, совместимое с Windows XP, 7, Server 2003 и Server 2008.
6 ответов
В командной строке введите
w32tm /query /configuration предоставляет конфигурацию, которую вы настроили.
w32tm /query /status предоставляет информацию, такую как:
time /T выводит текущее системное время.
Примечание: w32tm /query был впервые предоставлен в версиях Windows Vista для Windows Vista и Windows Server 2008. См. Инструменты и настройки Windows Time
Это ответ на ваш последний вопрос:
Откройте командную строку и введите точно:
w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (сколько возвращается вы хотите)
Возвращает время и разницу времени сервера NTP. Если он возвращает время, ошибка: 0x80072746, то это не ваш NTP-сервер.
Ниже приведен пример команды:
На другой машине я получил:
На другой машине я получил страницу справки, также сказав:
Итак, в основном служба не запускалась. Следуя этих инструкций, я сделал:
следуя инструкциям из %20%D0%B7%D0%B4%D0%B5%D1%81%D1%8C%20,%20%D0%BD%D0%BE,%20%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE,%20%D1%8D%D1%82%D0%BE%20%D0%B1%D1%8B%D0%BB%D0%BE%20%D1%82%D0%B0%D0%BA%20%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE:%20
Наконец, вам может потребоваться сделать следующее, что не было необходимо для меня:
ПРИМЕЧАНИЕ: если w32tm /config /update w32tm /resync /rediscover завершится с ошибкой 1290 (запуск службы невозможен, поскольку одна или несколько служб в одном процессе имеют несовместимую службу SID), затем выполните шаги здесь :
Затем следуйте приведенным выше.
ПРИМЕЧАНИЕ 2: если служба NTP не запускается автоматически при перезагрузке, это может быть связано с ее настройками запуска, как описано здесь : в зависимости от ваших окон его можно настроить только тогда, когда он присоединяется к домену. Вы можете проверить:
Если он настроен для запуска при присоединении к домену и у вас нет домена, настроенного на вашем компьютере, он не запустит службу и не установит время. Вероятно, он не входит в домен, потому что вы этого не хотите. В любом случае просто измените, какой триггер запускает его. Например, чтобы начать, когда машина имеет сеть (и, следовательно, имеет доступ к серверу), выполните:
В командной строке вы можете получить такую информацию:
Кажется, этого должно быть достаточно, по крайней мере, чтобы идти в этом направлении, то есть, если бы я понял ваш вопрос. AFAIK, команда «reg» работает на всех этих разных платформах если у вас есть правильные сервисы.
Как найти сервер времени в домене?
В домене Windows PDC необязательно сервер времени домена. Как я могу определить авторитетный сервер времени?
4 ответа
Я предполагаю, что вы ищете сервер, используемый службой W32Time, для выполнения синхронизации времени на компьютерах с доменными именами.
В дистрибутиве Active Directory единственным компьютером, настроенным с временным сервером, явным образом будет компьютер, содержащий роль FSMO эмулятора PDC в корневом домене леса. Все контроллеры домена в корневом домене леса синхронизируют время с держателем роли FSMO эмулятора PDC. Все держатели роликов FSMO-эмулятора PDC в дочерних доменах синхронизируют свое время с контроллерами домена в своем родительском домене (в том числе потенциально обладателя роли FSMO для эмулятора PDF в корневом домене леса). Все компьютеры-члены домена синхронизируют время с компьютерами контроллера домена в своих соответствующих доменах.
Чтобы определить, настроен ли член домена для синхронизации времени домена, проверьте значение REG_SZ в HKLM \ System \ CurrentControlSet \ Services \ W32Time \ Parameters \ Type. Если установлено значение «Nt5DS», компьютер синхронизирует время с иерархией времени Active Directory. Если он настроен со значением «NTP», то comptuer синхронизирует время с сервером NTP, указанным в значении REG_SZ NtpServer в том же ключе реестра.
Информация о низкоуровневом протоколе синхронизации времени доступна в этой статье: Как работает служба времени Windows
Помните, что не каждый контроллер домена (KDC, так как Джеймс направляет вас на поиск через DNS в своем сообщении) может работать служба времени. В развертывании AD AD каждый контроллер домена будет, но некоторые развертывания могут использовать виртуализированные контроллеры домена, для которых отключена служба W32Time (для облегчения синхронизации по времени на основе гипервизора), и, как таковой, вам, вероятно, следовало бы реализовать функции, описанные в статья «Как работает служба времени Windows», если вы разрабатываете часть программного обеспечения, которая должна синхронизировать время таким же образом, что и компьютер члена домена.
Некоторые полезные команды
Повторная синхронизация (требуется права администратора):
Повторная синхронизация с конкретным компьютером (требуется права администратора):
Показывать сервер, который в настоящее время используется (требует прав администратора):
Двойная проверка, если он работает:
См. настройки:
Затем посмотрите на Type:
NoSync
Клиент не синхронизирует время.
NTP
Клиент синхронизирует время с внешним источником времени. Просмотрите значения в строке NtpServer на выходе, чтобы увидеть имя сервера или серверов, которые клиент использует для синхронизации времени.
NT5DS
Клиент настроен на использование иерархии домена для временной синхронизации.
AllSync
Клиент синхронизирует время с любым доступным источником времени, включая иерархию доменов и внешние источники времени.
Настройки реестра, найденные здесь:
Чтобы определить, кто в настоящее время держит роль эмулятора PDC в вашем домене, используйте:
Если вам нужно выполнить какое-либо регулярное или текущее обслуживание вашей настройки сервера времени, то что-то не так.
Настройка 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-сервер мог обслуживать клиентов, не забудьте на файерволле открыть 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 – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.
Windows cервер для синхронизации времени в локальной сети (NTP)
Возникла необходимость синхронизации времени на компьютерах в локальной сети на стандартном 123 UDP порту?
Или как я настраивал сервер NTP в локальной сети на Windows хосте.
Ситуация следующая: в одноранговой локальной сети есть одна Windows машина которая ходит в нтернет и синхронизирует время, например с time.nist.gov.
Рабочие станции этой сети не ходят в Интернет, или им запрещено синхронизироваться, или вы не хотите дополнительный трафик по UDP 123 порту наружу, или есть проблемы синхронизации времени с популярных интернет ntp cерверов. C помощью этой статьи вы настроите синхронизацию времени в среде Windows и настроите NTP сервер на обычной Windows машине.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Set\Services\W32Time\Config
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient\SpecialPollInterval
По умолчанию интервал между обновлениями времени в Windows – 1 неделя (604800 сек). При низкой точности системных часов компьютера это слишком большой интервал. При такой настройке за 1 неделю часы Вашего компьютера могут получить погрешность величиной порядка минуты или даже нескольких минут. Рекомендую уменьшить интервал обновления до нескольких часов. Это изменение не увеличит ни трафика, ни нагрузки на NTP-сервер, при этом позволит поддерживать более высокую точность хода часов Вашего компьютера.
При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка.
После внесения необходимых настроек в можно перечитать конфигурацию сохраненную в реестре коммандой приведенной ниже, или перезагрузить компьютер.
w32tm /config /update
И при необходимости выполнить немедленную синхронизацию
w32tm /resync
На этом настройка сервера закончена.
На клиентских компьютерах следуем в «Панель управления», выбираем «дата и время» и в закладке «Время интернета» меняем строку сервер на IP (или имя) вашего локального сервера.
Вот и все.
Можно раскидать батник на рабочие станции :
w32tm /config /manualpeerlist:IP_адрес_сервера,0x1 /syncfromflags:MANUAL
net stop w32time
net start w32time
w32tm /resync
И запускаем его на клиентских машинах с правами Администратора.
Для WINDOWS 2000
Остановит сервер времени Windows Time Service:
net stop w32time
Затем можно проверить время источника, для чего следует ввести:
чтобы установить время от источника времени однократно (по умолчанию W32tm обновляет время периодически). Система выдает страницу запутанной информации; в случае успешного выполнения команды в одной из строк появится Recv`ed from server 48 Bytes. Далее необходимо набрать:
net start w32time
чтобы снова запустить службу времени.
После первоначальной синхронизации с сервером времени компьютер снова сверяет с ним свое время через 45 мин. Если выясняется, что разница между показаниями часов сервера времени и системных часов компьютера не превышает 2 с, интервал ожидания следующей сверки с сервером времени удваивается. Если через полтора часа разница во времени остается в пределах 2 с, компьютер продолжает удваивать интервал синхронизации и проверять точность времени и, наконец, останавливается на интервале приблизительно 8 ч.
Если неизвестно, с каким SNTP-сервером синхронизируется система, в командной строке следует ввести:
net time /querysntp
Пишите если у кого не получилось, я запустил на 20-30 машинах в локалке и забыл о проблемах с разным временем в отчетах, логах, видео архивах и прочее. Главное не забывать когда заводите в сети новую машину проделать с ней эту процедуру.