Ntp часы настенные. Пример настройки локального NTP сервера для работы с устройствами NetPing

Сервер точного времени предназначен для синхронизации частотно-временных показателей. Устройство с высокой точностью генерирует сигналы частоты и точного времени и синхронизирует эти параметры на удаленных объектах.

Сервер синхронизации времени может работать с применением различных сигналов и протоколов, включая распространенный NTP протокол и только набирающий популярность PTP протокол. Принимая сигналы со спутников глобальных систем позиционирования GPS и ГЛОНАСС, сервер передает их клиентским устройствам и синхронизирует временные параметры.

Описание ССВ-1Г

Сервер частоты и точного времени «ССВ-1Г» представляет собой автономное устройство высотой 1,5 U, устанавливаемое в 19” телекоммуникационную стойку, предназначенное для генерации сигналов частоты и точного времени.

В отличие от многих других продуктов, представленных на рынке, сервер времени ССВ-1Г выполнен не на базе промышленных серверов, а использует собственную аппаратную платформу, что позволило значительно снизить его стоимость, повысить надёжность, а также исключить зависимость от производителя операционной системы и серверной платформы.

Синхронизация сервера точного времени осуществляется от сигналов спутниковых радионавигационных систем (СРНС) как российской ГЛОНАСС, так и GPS, что повышает точность определения времени и снижает риски зависимости оператора от зарубежных навигационных систем.

В качестве резервных источников синхронизации задающего генератора могут использоваться вход сигнала 1PPS, вход Е1/2,048 МГц или вход 5 (10) МГц.

В качестве резервных источников синхронизации шкалы времени может использоваться вход RS232 модуля COMB по протоколам TOD, Sirf.

Питание ССВ-1Г осуществляется по двум вводам (Основной / Резервный) от независимых источников AC 220 В 50Гц / DC 48 В. Возможен вариант поставки с двумя вводами питания DC 48 В и дополнительным внешним преобразователем AC 220 В 50Гц - DC 48 В, что позволяет осуществлять электропитание ССВ-1Г по одному вводу AC 220 В 50Гц, а по другому DC 48 В. Энергопотребление зависит от комплектации и не превышает 40 Вт.

Обслуживание устройства максимально упрощено. Эксплуатационный персонал может получать информацию и управлять устройством посредством программного обеспечения «Система технического обслуживания», либо с помощью встроенных в устройство средств управления – графического индикатора и клавиатуры.

Технические характеристики ССВ-1Г

Характеристика Значение
Общие
Тип внутреннего генератора Пьезоэлектрический термостатированный ультрапрецизионный
Входы внешней синхронизации синхросигнала ГЛОНАСС, GPS, Galileo, 1 PPS, Е1/2,048 МГц, 5 МГц, 10 МГц
Входы внешней синхронизации шкалы времени ГЛОНАСС, GPS, Galileo, ToD, SIRF
Выходы синхронизации NTP сервер, PTP master, 1 PPS, Е1/2,048 МГц, SIRF, IRIG-B, 5 МГц, 10 МГц, токовая петля
Управление
Автономное встроенная клавиатура и дисплей
Локальное порт USB и ПО «Техническое обслуживание»
Сетевое Ethernet и ПО «Техническое обслуживание», SNMP v2C (RFC 1158)
Сетевой интерфейс 10/100 Base-T Ethernet
Поддерживаемые протоколы
транспортный уровень TCP, UDP
протокол IP IP v4
IP v6 (опционально)
автоматическая конфигурация DHCP (RFC 2131)
NetBios Name Servise (NBNS)
протокол NTP (Network Time Protocol) NTP v2 (RFC 1119),
NTP v3 (RFC 1305),
NTP v4 (RFC 5905),
SNTP v3 (RFC 1769),
SNTP v4 (RFC 2030)
протокол PTP (Precision Time Protocol) PTP v2 (IEEE Std 1588-2008)
протокол SNMP SNMPv2c (RFC 1158)
протокол RS-232 SIRF
TOD
Интерфейс 1PPS (1Гц)
уровень выходного сигнала 5 В (TTL-совместимый)
длительность импульса 5 мкс (IEEE Std 1344 - 1995)
полярность импульса положительная/отрицательная
сопротивление линии 50 Ом
Синхросигналы 5 МГц и 10 МГц
форма сигнала номинально-прямоугольная
уровень выходного сигнала на нагрузке 50 Ом 1 В
Синхросигнал 2,048 МГц (G.703/10)
форма сигнала номинально-прямоугольная
1,5 В
1,9 В
Синхросигнал 2,048 Мбит/с (G.703/6)
форма сигнала биполярный
уровень выходного сигнала на нагрузке 75 Ом (коаксиальная пара) 1,5 В
уровень выходного сигнала на нагрузке 120 Ом (симметричная пара) 1,9 В
Метрологические характеристики
пределы допускаемой относительной погрешности по частоте в режиме синхронизации по сигналам ГНСС ГЛОНАСС/GPS ±5,0×10 -11
пределы допускаемого среднего квадратического относительного отклонения случайной составляющей погрешности измерений частоты выходного сигнала на интервале времени измерения 100 с ±5,0×10 -11
пределы допускаемой абсолютной погрешности привязки переднего фронта выходного импульса частотой 1Гц к шкале времени UTC в режиме синхронизации по сигналам ГНСС ГЛОНАСС/GPS ±110 нс
пределы допускаемой абсолютной погрешности привязки переднего фронта выходного импульса частотой 1Гц к шкале времени UTC в режиме автономного функционирования за сутки ±20 мкс
пределы допускаемой абсолютной погрешности привязки шкалы времени относительно шкалы времени UTC(SU) по протоколу NTP через интерфейс Ethernet ±10 мкс
Количество модулей расширения до 8-ми штук
Производительность
быстродействие NTP сервера на каждый порт 10/100 Base-T Ethernet, запросов в секунду, не менее 123 000
Электропитание
количество вводов питания
2
напряжение источника питания
(в зависимости от типа исполнения)
═ 60 В (от 36 до 72) В
~ 220 В (от 198 до 242) 50 Гц
Потребляемая мощность не более 50 Вт в «рабочем» режиме
не более 60 Вт в режиме «прогрев»
Габаритные размеры 483×255×65 мм
Масса не более 6 кг
Режим работы круглосуточный
средний срок службы не менее 20 лет

Преимущества источника времени ССВ-1Г

    • Оптимальное соотношение цена – качество

Источник ССВ-1Г имеет одно из наилучших соотношений цена – качество в своём классе оборудования. Это достигается двумя технологическими решениями.

Во-первых, ССВ-1Г построен на базе аппаратной платформы собственного производства. Кроме этого, в устройстве ССВ-1Г отсутствует лицензионное ПО сторонних производителей.

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

    • Информационная безопасность

Все модули расширения ССВ-1Г, в том числе модуль «NTP-сервер», имеют аппаратную реализацию, построенную на базе жёсткого автомата.

Такое решение обеспечивает высочайшее быстродействие и как следствие:

  1. Высокую точность передачи меток времени в связи с отсутствием внутренних задержек, влияющих на асимметрию канала приёма-передачи пакетов NTP.
  2. Невозможность нарушения функционирования NTP-сервера вследствие DDOS-атак. Быстродействие локального NTP-сервера выше скорости Ethernet-канала.
  3. Невозможность нарушения функционирования NTP-сервера вследствие несанкционированного доступа к ресурсам через порт Ethernet. NTP-сервер точного времени обеспечивает только функциональность и не реагирует на любые другие IP-пакеты.

Модульная конструкция

Базовое шасси источника ССВ-1Г представляет собой 19-дюймовый корпус с установленными модулями управления, приёмника сигналов СРНС, термостабилизированного кварцевого генератора с системой фазовой автоподстройки частоты, а также кросс-платой для установки функциональных модулей расширения.

Модульная конструкция позволяет на базе одного устройства создавать до 16-ти NTP-серверов в физически разделённых сетях.

Модули расширения устанавливаются в соответствии с необходимой конфигурацией входных/выходных сигналов на основании спецификации, определяемой при заказе.

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

Всего возможна установка до 8 модулей расширения.

Модули источника частоты и времени ССВ-1Г

Модуль «MLAN»

  • Simple Network Time Protocol (RFC 1769, RFC 2030);
  • Time Protocol (RFC 868);
  • Daytime Protocol (RFC 867).

Модуль «MLANP»

Модуль предназначен для приёма запросов от клиентов и формирования пакета с точным текущим временем согласно протоколам:

  • Network Time Protocol (RFC 1119, RFC 1305, RFC 5905);

Протокол Precision Time Protocol (PTP) рассчитан на подключение одного клиента. Режим работы определяется комбинацией следующих параметров в любом сочетании:

Transmit protocol Ethernet, UDP
Addressing mode Unicast, Multicast, Mixed
Two step Yes, No

При использовании Network Time Protocol (NTP) имеется возможность производить рассылку пакетов на указанный IP-адрес (в т. ч. и широковещательную Broadcast), с указанной периодичностью.

Модуль имеет два независимых канала с идентичной функциональностью и одинаковым набором конфигурационных параметров. Конфигурация каналам задаётся индивидуально. Нагрузочная способность каждого из каналов составляет около 123 000 пакетов в секунду.

Модуль «MGLAN» (NTP/PTP)

Модуль предназначен для приёма запросов от клиентов и формирования пакета с точным текущим временем согласно протоколам:

  • Precision Time Protocol V2 (IEEE Std 1588-2008);
  • Network Time Protocol (RFC 1119, RFC 1305, RFC 5905);
  • Simple Network Time Protocol (RFC 1769, RFC 2030).

Модуль «MPPS»

Модуль предназначен для приёма сигнала PPS (1Гц) и формирования сигнала, форма которого задаётся в конфигурации, имеет два идентичных канала, каждый из которых может работать в режиме приёма или передачи.

Модуль «MSYNC 120», «MSYNC 75»

Модуль предназначен для приёма и формирования сигналов 2.048 МГц (G.703/10) или 2.048 Мбит/с (G.703/6) и имеет два идентичных канала, каждый из которых может функционировать в режиме приёма или передачи сигнала.

Модуль «MCOMB»

Модуль MCOMB предназначен для приёма/передачи точного текущего времени в указанном формате по интерфейсу RS-232, а также приёма и формирования импульса метки времени 1 PPS.

Поддерживаемые протоколы интерфейса RS-232: TOD; Sirf, TimeString, NMEA.

Модуль «M10M»

Модуль предназначен для приёма и формирования сигналов 5 МГц или 10 МГц и имеет два идентичных канала, каждый из которых может функционировать в режиме приёма или передачи сигнала.

Модуль «MTP» (Токовая петля)

Модуль предназначен для формирования импульса метки времени по интерфейсу «Токовая петля» или «Сухой контакт» и имеет два независимых, гальванически изолированных канала.

Модуль «MIRIG»

Модуль MIRIG предназначен для формирования сигнала согласно спецификации протокола IRIG STANDARD 200-04.

Модуль «М422»

Модуль «M422» предназначен для приёма/передачи точного текущего времени в указанном формате по интерфейсу RS-422/485, а также приёма и формирования импульса метки времени по интерфейсу RS-422/485.

Поддерживаемые протоколы интерфейса RS-422/485: TOD, Sirf, TimeString, NMEA.

Централизованное управление

Контроль и управление работой устройств синхронизации, установленных на сети оператора, может обеспечиваться специализированным сетевым программным обеспечением «Техническое обслуживание», разработанным ЗАО «КОМСЕТ-сервис».

Управление устранением неисправностей

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

Управление безопасностью

  • защита доступа к системе с помощью имени пользователя и пароля;
  • авторизация пользователя в системе управления;
  • четыре уровня прав пользователей от администратора (с полными правами) до пользователя только с правами чтения;
  • контроль действий операторов по обработке неисправностей.

Управление конфигурацией

  • добавление нового устройства;
  • для каждого поддерживаемого устройства удалённое отображение информации об устройстве: информацию по используемым входам/выходам, конфигурации устройства, режимов работы устройства, параметров, определяющих работу устройства;
  • автоматическое распознавание серийных номеров устройств (функция инвентаризации).

Управление рабочими характеристиками

  • отображение текущих характеристик устройств в режиме реального времени.

Выходные данные и пользовательский интерфейс

  • данные о состоянии сетевых элементов отображаются в табличном виде с возможностью вывода их на печать;
  • система имеет удобный пользовательский интерфейс, позволяющий легко просмотреть:
    • список устройств, их текущее состояние и информационные элементы состояния;
    • список пользователей, предоставленные пользователям права доступа;
    • текущее состояние всех модулей устройства;
    • состояние приёмника спутниковых сигналов, состояние видимой в точке установки антенны спутниковой группировки;
    • и многое другое.
  • программное обеспечение «Техническое обслуживание» имеет развитые средства визуализации и анализа сигналов неисправностей с возможностью звукового оповещения различного тона, легко настраиваемого пользователем системы.

Сервер времени «ССВ-1Г» - это собственная разработка компании КОМСЕТ-сервис. Он имеет независимую аппаратную платформу, высокую точность передачи временных показателей, удобный интерфейс и два источника питания: основной и резервный. Купить сервер синхронизации времени в Москве можно у нас в стандартной или расширенной модификации. Также есть возможность поставки устройства и по всей России. Получить цены на оборудование можно, подав запрос на коммерческое предложение компании.

Где используется NTP сервер времени

Сфера применения оборудования довольно широка. NTP сервера используются на всех объектах, где крайне важно регулировать временные параметры:

  • Компании мобильных операторов и телекоммуникаций.
  • Интернет-провайдеры.
  • Аэропорты, ЖД и автовокзалы.
  • В системах коммерческих автоматизированных учетов.

Настройка 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 – регистрирует службу времени на компьютере. При этом создается заново вся ветка параметров в реестре.

К сервису синхронизации времени по протоколу NTP все уже привыкли - оно включено по умолчанию или легко включается для большинства популярных операционных систем. Однако какая точность при этом достигается? Какие бывают сервера точного времени, и с какими можно работать простым смертным? Какие есть подводные камни, и как выбрать «правильные» сервера времени?

Типы серверов

Сервера бывают Stratum 1 и 2, 3(выше редко).

Stratum 1 - получают точное время непосредственно от источника точного времени: атомных часов (например time-a.nist.gov, точность - трилионные доли секунды) или GPS приемника (ntpx.imvp.ru точность - миллиардные доли секунды). Есть сервера получающие точное время через сотовую сеть CDMA (миллионные доли секунды). При работе с ntpd узнать тип сервера можно командой ntpq -np: «PPS» значит GPS, «ACTS» значит прямое соединение с атомными часами (там же и другая ценная статистика - пинг, «дрожжание» пинга(jitter), ранг сервера(1,2...)).

«Простым» смертным обращаться к Stratum-1 серверам строго запрещено, т.к. нагрузка на них и так очень большая (а на многие Stratum-1 сервера вообще нет публичного доступа). Считается что вы можете подключаться к Stratum-1 серверам или просить доступ к ним, если вы держите NTP сервер, обслуживающий не менее 100 клиентов. Полный список серверов можно увидеть тут: support.ntp.org/bin/view/Servers/StratumOneTimeServers . Естественно, желательно подключатся к серверам в своей стране.

Stratum 2 - получают точное время от Stratum-1 серверов. При правильной настройке и выборе серверов-источников точного времени имеют погрешность менее 1мс. Подключатся обычно можно всем, но многие сервера регулярно умирают от нагрузки (например time.windows.com). www.pool.ntp.org поддерживает round-robin списки публичных Stratum-2 NTP серверов. Таким образом обеспечивается балансировка нагрузки, и они практически всегда доступны. Подключиться к этим серверам можно по адресам 0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org и 3.ru.pool.ntp.org (это для России, выбираются случайно из списка ~50 серверов).

Stratum 3 - получают время от Stratum-2 серверов, и т.д.

Практическая точность

Stratum-1
Это график разницы системного времени с временем полученным со Stratum-1 серверов (canonical.com - Stratum-2 сервер, для сравнения).
*.nist.gov - расположены в США, из-за «большого» пинга иногда случаются жуткие «выбросы». Ошибка с Российских Stratum-1 серверов обычно укладыватся в +- 1 мс.

Stratum-2
Это - разница с Stratum-2 серверами: 4 из Российского пулла, 1 из европейского, дефолтный сервер времени убунты (europium.canonical.com), и те же *.nist.gov:


Сразу бросаются в глаза сервера, имеющие постоянную ошибку до 20 мс.

Резюме

PS. Кстати, по умолчанию в Ubuntu синхронизация времени происходит один раз при загрузке системы. Если аптайм под полгода - время может сильно уехать. Устанавливаете ntpd - он корректирует время постоянно и «плавно» (без резких рывков, «размазывая» замедление/ускорение времени). В Windows синхронизация происходит раз в сутки неделю одним «скачком», что может вызвать сложности при обработке логов, если набежала большая разница.

Товарищи!

Даешь большое публичных NTP серверов в России! Особенно Stratum-1 (с ними вообще у нас напряженка, 2-3 штуки на весь exUSSR). Кстати, точное время можно брать и с Глонасс, кто возьмётся запустить первый Глонасс-powered сервер?

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

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

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

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

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

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

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

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

Конфигурация 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 (Локально)

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

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

VMICTimeProvider (Локально)
DllName: C:\Windows\System32\vmictimeprovider.dll (Локально)
Enabled: 1 (Локально)
InputProvider: 1 (Локально)

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


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

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


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


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

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

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


  • "SpecialPollInterval"=dword:00000384

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

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


"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.

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

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

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

Переходим в ветку: Конфигурация компьютера > Политики > Административные шаблоны > Система > Служба времени 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

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

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

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

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

Если на сервере не установлено точное время, возникнут проблемы с заданиями Cron - неясно, когда они будут запускаться. Будет очень трудно анализировать журналы системных событий для диагостики причин сбоев и неисправностей…

Продолжать можно долго…

Чтобы избежать всех описанных проблем, необходимо настроить синхронизацию системных часов. В Linux для этого используется протокол NTP (Network Time Protocol). В этой статье мы подробно расскажем о том, как на сервере осуществить установку и настройку NTP. Начнем с небольшого теоретического введения.

Как работает протокол NTP

В основе протокола NTP лежит иерархическая структура серверов точного времени, в которой выделяются различные уровни (англ. strata). К уровню 0 относятся эталонные часы (атомные часы или часы GPS). На нулевом уровне NTP-серверы не работают.

С эталонными часами синхронизируются NTP-серверы первого уровня, которые являются источниками для серверов уровня 2. Серверы уровня 2 синхронизируются с серверами уровня 1, но могут также синхронизироваться и между собой. Аналогичным образом работают серверы уровня 3 и ниже. Всего поддерживается до 256 уровней.

Иерархическая структура протокола NTP характеризуется отказоустойчивостью и избыточностью. В случае отказов соединения с вышестоящими серверами резервные серверы берут процесс синхронизации на себя. За счет избыточности обеспечивается постоянная доступность NTP-серверов. Синхронизируясь с несколькими серверами, NTP использует данные всех источников, чтобы рассчитать наиболее точное время.

Установка и настройка NTP-сервера

Самым известным и распространенным программным средством для синхронизации времени является демон ntpd. В зависимости от настроек, указанных в конфигурационном файле (об этом еще пойдет речь ниже), он может выступать как в качестве сервера, так и в качестве клиента (т.е может как принимать время с удаленных хостов, так и раздавать его другим хостам). Ниже мы подробно расскажем о том, как осуществляется установка и настройка этого демона в OC Ubuntu.

Установка

Программа NTP входит в состав дистрибутивов большинства современных Linux-систем и устанавливается при помощи стандартного менеджера пакетов:

$ sudo apt-get install ntp

Настройка

По завершении установки откроем в текстовом редакторе файл /etc/ntp.conf. В нем хранятся все настройки программы. Рассмотрим их более подробно.

Параметры логирования

Первая строка конфигурационного файла выглядит так:

Driftfile /var/lib/ntp/ntp.drift

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

Logfile /var/log/ntp.log

Список серверов для синхронизации

В конфигурационном файле указывается список NTP-серверов, с которыми будет осуществляться синхронизация. По умолчанию он выглядит так:

Server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org

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

Server 0.ubuntu.pool.ntp.org iburst server 1.ubuntu.pool.ntp.org iburst server 2.ubuntu.pool.ntp.org iburst server 3.ubuntu.pool.ntp.org iburst

Можно также указать предпочитаемый сервер при помощи опции prefer:

Server 0.ubuntu.pool.ntp.org iburst prefer

NTP-серверы разбросаны по всему миру (вот, например, список доступных публичных NTP-серверов). Чтобы обеспечить более точную установку системных часов, рекомендуется синхронизироваться только с ntp-серверами того региона, в котором географически расположен наш сервер. Для этого в конфигурационном файле /etc/ntp.conf нужно указать в адресах серверов региональный поддомен для pool.ntp.org:

  • Азия — asia.pool.ntp.org;
  • Европа — europe.pool.ntp org;
  • Африка — africa.pool.ntp.org;
  • Северная Америка — north-america.pool.ntp.org;
  • Южная Америка — south-america.pool.ntp.org;
  • Океания — oceania.pool.ntp.org.

Можно также указывать поддомены для отдельных стран (подробнее см. ). Имеется свой поддомен и для России — ru.pool.ntp.org

Резервный сервер точного времени

NTP-сервер, по какой-либо причине отключенный от Интернета, может передавать для синхронизации данные своих системных часов. Для этого в конфигурационный файл нужно добавить следующую строку:

Server 127.127.1.0

Ограничения

В последнее время участились случаи использования NTP-серверов для усиления трафика в DDoS-атаках (подробнее об этом см., например, ). Чтобы наш сервер не стал жертвой злоупотреблений, нелишним будет установить ограничения на доступ для внешних клиентов. По умолчанию в файлe /etc/ntp.conf установлены следующие ограничения:

Restrict −4 default kod notrap nomodify nopeer noquery restrict −6 default kod notrap nomodify nopeer noquery

Параметры nomodify, notrap, nopeer и noquery запрещают сторонним клиентам изменять что-либо на сервере. Параметр kod (эта аббревиатура означает kiss of death — «поцелуй смерти») обеспечивает дополнительную защиту: клиент, отправляющий слишком частые запросы, сначала получит так называемый kod-пакет (предупреждение об отказе в обслуживании), а затем будет отключен от сервера.

Чтобы с NTP-сервером могли синхронизироваться машины из локальной сети, добавим в конфигурационный файл следующую строку:

Restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Для локального хоста можно установить доступ к NTP-серверу без ограничений:

Restrict 127.127.1.0

Проверка синхронизации

После того, как все необходимые изменения внесены в конфигурационный файл и сохранены, перезапустим NTP-сервер:

$ service restart ntp

Затем выполним следующую команду:

$ ntpq -pn

Ее вывод будет представлен в виде таблицы:

Remote refid st t when poll reach delay offset jitter ============================================================================== *62.76.96.4 130.173.91.58 2 u 207 256 37 10.985 -215.79 256.992 +85.21.78.91 89.175.22.41 2 u 193 256 37 32.623 -207.70 259.121 +31.131.249.27 89.175.22.41 2 u 198 256 37 0.621 -216.90 257.037 +85.21.78.8 193.11.166.20 2 u 193 256 37 32.028 -207.41 259.863 +91.189.94.4 193.79.237.14 2 u 192 256 37 50.573 -206.62 259.542

В таблице указываются следующие параметры:

  • remote — адрес сервера точного времени (в этой графе отображаются серверы из списка в конфигурационном файле);
  • refid — вышестоящий сервер (тот, от которого сервер из предыдушей графы получает синхронизацию);
  • st — уровень (stratum) сервера;
  • t — тип пира (u- unicast, m- multicast);
  • when — время последней синхронизации;
  • poll — время в секундах, за которое демон NTP синхронизируется с пиром;
  • reach — состояние доступности сервера; после восьми успешных попыток синхронизации значение этого параметра становится равным 377;
  • delay — время задержки ответа от сервера;
  • offset — разница времени между нашим сервером и сервером синхронизации; положительное значение этого параметра означает, что наши часы спешат, отрицательное — что отстают;
  • jitter — смещение времени на удаленном сервере.

Слева от адреса сервера могут быть указаны следующие символы:

  • * сервер выбран для синхронизации;
  • + сервер, пригодный для обновления (с которым можно синхронизироваться);
  • — с сервером синхронизироваться не рекомендуется;
  • х сервер недоступен.

Проверить, пригоден ли сервер из списка для синхронизации, можно при помощи команды:

Ntpdate -q server хх.ххх.ххх.ххх, stratum 2, offset −0.127936, delay 0.02600 7 Jul 14:30:23 ntpdate: adjust time server хх.ххх.ххх.ххх offset −0.127936 sec

Из приведенного вывода видно, что сервер пригоден для синхронизации, его уровень — 2, смещение — 0,127936 мс, задержка — 0.026 мс.

О том, как проходила синхронизация (успешно или с ошибками) можно также узнать из логов:

7 Jul 15:17:17 ntpd: synchronized to 91.198.10.4, stratum=2 7 Jul 15:17:17 ntpd: kernel time sync disabled 0041 7 Jul 15:17:21 ntpd: kernel time sync enabled 0001

Установка локальной даты и времени

С помощью команды ntpdate можно установить на сервере локальную дату и время, отправив соответствующий запрос к NTP-серверу.