Налаштування обладнання та програмного забезпечення

Публічні 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 сервери використовуються на всіх об'єктах, де дуже важливо регулювати часові параметри:

  • Компанії мобільних операторівта телекомунікацій.
  • Інтернет-провайдери.
  • Аеропорти, залізничні та автовокзали.
  • У системах комерційних автоматизованих обліку.

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

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

Якщо на сервері не встановлено точний час, виникнуть проблеми із завданнями 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

Кожен рядок означає групу серверів, які повідомлятимуть нашому серверу коректний час. Підвищити точність синхронізації можна за допомогою опції 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-атаках (докладніше про це див., наприклад, ). Щоб наш сервер не став жертвою зловживань, не зайвим буде встановити обмеження доступу для зовнішніх клієнтів. За промовчанням у файлі /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.221 27 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

З наведеного висновку видно, що сервер придатний для синхронізації, його рівень – 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

Встановлення локальної дати та часу

За допомогою команди ntpdate можна встановити на сервері локальну дату та час, надіславши відповідний запит до сервера NTP.


Синхронізація часу є важливим завданням, хоча не багато хто замислювався про це. Ну що поганого в часі, що втік на сервері? А чи знаєте ви, що багато проблем із годинником впливають на протоколи, пов'язані з криптографією? З цієї причини в Active Directory різниця в годинах більше 5 хвилин призведе до проблем автентифікації Kerberos.

Часові рівні. Strata.

Щоб зрозуміти пристрій NTP, слід знати про концепцію strataабо stratum. Авторитетні джерела часу, такі як супутники GPS, цезієві атомні годинники, радіо хвилі WWVB - все це stratum 0. Вони авторитетні на тій підставі, що вони мають певний спосіб підтримки високоточного хронометражу. Можна, звичайно, скористатися звичайним кварцовим годинником, але знаючи, що за місяць з ними легко втратити 15 секунд, то краще їх не використовувати як мірил часу. Stratum 0це коли секунда не загубиться за 300 000 років!

Комп'ютери, які безпосередньо (не по мережі!) беруть час у stratum 0- це stratum 1. Оскільки завжди є затримки через передачу сигналу та витрати на встановлення часу, то комп'ютери stratum 1не такі точні як stratum 0, але в реального життяВідмінність досягає пари мікросекунд (1 мкс = 10 -6 с), що цілком допустиме відхилення.

Наступний рівень комп'ютерів, що беруть час по мережі stratum 1- це... барабанний дріб... інтрига... stratum 2! Знову таки через різні затримки (мережні точно), stratum 2трохи відстає від stratum 1і вже точно від stratum 0. Насправді це різниця від кількох мікросекунд (1 мкс = 10 -6 з) до кількох мілісекунд (1 мс = 10 -3 з). Багато хто хоче синхронізуватися з шаром не далі stratum 2.

Як відомо зі схеми, stratum 4бере час у вищого stratum 3. stratum 5у stratum 4і так далі. stratum 16вважається найнижчим шаром і час там вважається несинхронізованим.

Щоб синхронізувати час за допомогою протоколу NTP, спочатку потрібно вручну виставити час. Неприпустима різниця між вашим точним часом і показаннями вашого годинника більше 1000 секунд. Якщо сервер часу бреше більше 1000 мілісекунд (1 секунда), то він буде виключений зі списку і будуть використовуватися інші замість нього. Цей механізм дозволяє відсівати погані джерела часу.

Клієнт часу.

У файлі /etc/ntp.conf для клієнта важливі рядки Server. Їх може бути кілька – до 10 штук!

Скільки додавати? Слід мати на увазі:

  • Якщо у вас тільки один сервер (один рядок server), то якщо даний серверпочне брехати, то ви сліпо слідуватимете за ним. Якщо його час втече на 5 секунд і ви втечете слідом за ним.
  • Якщо додано 2 сервери (2 рядки server), то NTP позначить їх обох як false tickers. Якщо один з них буде брехати, то NTP не може зрозуміти хто бреше, тому що немає кворуму.
  • Якщо додано 3 і більше сервера часу, то можна обчислити одного брехуна false tickers. Якщо серверів часу 5 або 6, то можна знайти 2 брехуна false tickers. Якщо серверів 7 чи 8, то 3 false tickers. Якщо серверів 9 та 10, то 4 false tickers.

Проект NTP Pool.

Є такий проект NTP Pool на адресу якого pool.ntp.org/zone/ru/ можна знайти рекомендовані для російських користувачів сервера часу.

server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org

Такі операційні системи, як Debian та Ubuntu, пропонують користувачам свої сервери часу.

server 0.debian.pool.ntp.org
server 1.debian.pool.ntp.org
server 2.debian.pool.ntp.org
server 3.debian.pool.ntp.org

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

Якщо викликати на вашому Linux комп'ютері, який використовує NTP команду ntpq -pn

Remote refid st t when poll reach delay offset jitter ======================================== ====================================== +93.180.6.3 77.37.134.150 2 u 62 1024 377 53.658 -0.877 1.174 +85.21.78.23 193.190.230.65 2 u 1027 1024 377 54.651 0.167 1.531 *62.173.138.1 0 24 377 52.796 -0.143 1.001 +91.206.16.3 194.190.168.1 2 u 258 1024 377 93.882 -0.680 2.196 -91.189.94.4 193.79.237.14 2 u 596 1024 377 100.219 1.562 1.482

Про що говорять назви стовпців:

  • remote- Видалені сервери, з якими ви синхронізуєте час.
  • refid- Вищий stratum для даного сервера.
  • st- Рівень stratum. Від 0 (нам недоступно) до 16 (нам не бажано). Ідеально – 2.
  • t- Тип з'єднання. " u" - unicast або багатоcast, " b- broadcast або multicast, " l" local reference clock, " s"- симетричний вузол," A" - manycast сервер, " B" - broadcast server, " M- multicast сервер.
  • when- час, коли востаннє сервер відповів нам. Параметр відображає число в секундах, але може в хвилинах, якщо число з mабо в годиннику, якщо h.
  • poll- Частота опитування. Мінімум 16 секунд, максимум 32 години. Число має бути 2 n. Зазвичай у цьому параметрі спостерігається 64 секунди або 1024.
  • reach- 8 біт октету, що показує статус спілкування з віддаленим сервером часу: успішний чи збійний. Якщо біти встановлені - успішно, інакше - збій. Значення 377 – бінарно це 0000 0000 1111 1111.
  • delay- значення в мілісекундах показує час між відправкою та отримання відповіді (round trip time – RTT).
  • offset- Зміщення в мілісекундах між вами та серверами часу. Може бути позитивним та негативним числом.
  • jitter- Абсолютне значення в мілісекундах із зазначенням середньоквадратичного відхилення вашого усунення.

Перед IP адресою NTP сервера є символ - це tally code. Види tally code:

  • " " - відкинуто як неприпустиме. Наприклад, немає зв'язку з ним або він в онлайн, він занадто високий ранг і не обслуговує таких як ви.
  • "x"- відкинуто алгоритмом "перетину" (intersection algorithm). Алгоритм перетину готує список кандидатів партнерів, які можуть стати джерелами синхронізації та обчислюють довірчий інтервал для кожного з них.
  • "." - відкинуто через переповнення таблиці.
  • "-" - відкинуто алгоритмом кластеризації (cluster algorithm). Алгоритм кластеризації сортує список кандидатів за кодами шару та відстані синхронізації.
  • "+" - Сервер включений алгоритмом "комбінування" (combine algorithm). Цей сервер - відмінний кандидат, якщо поточний сервер часу почне відмовляти вам.
  • "#" - сервер є чудовим альтернативним сервером часу. Сервер з # можна побачити лише якщо у вас більше 10 записів server у /etc/ntp.conf
  • "*" – поточний сервер часу. Його показання використовуються для синхронізації вашого годинника.
  • "o"- сервер Pulse per second (PPS). Зазвичай це означає, що сервер часу використовує джерела часу типу GPS супутниківта інші сигнали точного часу. Якщо малюється о, інші типи tally code вже відображатися не будуть.

В полі refidможуть бути такі значення:

  • IP-адреса - адреса віддаленого сервера часу.
  • .ACST.- NTP manycast сервер.
  • .ACTS.- Automated Computer Time Service з American National Institute of Standards and Technology.
  • .AUTH.- помилка автентифікації.
  • .AUTO.- помилка у послідовності Autokey.
  • .BCST.- NTP broadcast сервер.
  • .CHU.- Shortwave radio receiver від станції CHU в Ottawa, Ontario, Canada.
  • .CRYPT.- помилка протоколу Autokey.
  • .DCFx.- LF radio receiver від станції DCF77 в Mainflingen, Німеччина.
  • .DENY.- У доступі відмовлено.
  • .GAL.- European Galileo satellite receiver.
  • .GOES.- American Geostationary Operational Environmental Satellite receiver.
  • .GPS.- American Global Positioning System receiver.
  • .HBG.- LF radio receiver від станції HBG в Prangins, Switzerland.
  • .INIT.- Peer association initialized.
  • .IRIG.- Inter Range Instrumentation Group time code.
  • .JJY.- LF radio receiver від станції JJY в Mount Otakadoya, поряд з Fukushima або Mount Hagane на острові Kyushu, Japan.
  • .LFx.- Звичайний LF radio receiver.
  • .LOCL.- локальний годинник хоста.
  • .LORC.- LF radio receiver від Long Range Navigation (LORAN-C).
  • .MCST.- NTP multicast сервер.
  • .MSF.- Anthorn Radio Station поряд з Anthorn, Cumbria.
  • .NIST.- American National Institute of Standards and Technology.
  • .PPS.- годинник Pulse per second.
  • .PTB.- Physikalisch-Technische Bundesanstalt від Brunswick і Berlin, Germany.
  • .RATE.- перевищено поріг опитування NTP.
  • .STEP.- Зміна кроку NTP. Зміщення offsetменше 1000 мілісекунд, але більше 125 мілісекунд.
  • .TDF.- LF radio receiver від станції TéléDiffusion de France в Allouis, France.
  • .TIME.- NTP association timeout.
  • .USNO.- United States Naval Observatory.
  • .WWV.- HF radio receiver від станції WWV в Fort Collins, Colorado, United States.
  • .WWVB.- LF radio receiver від станції WWVB в Fort Collins, Colorado, United States.
  • .WWVH.- HF radio receiver від станції WWVH в Kekaha, на острові Kauai на Hawaii, United States.

По-перше, позбавтеся думки як би отримати час від stratum 1, мовляв вони найближче до точного часу. Вони ближче до точнішого часу на планеті, тільки самі вони перевантажені і у них високі затримки RTT для звичайних серверів. Краще знайти нормальний stratum 2і не переживати із цього приводу. Не забувайте, що йдеться про мікросекунди та мілісекунди, що у звичайному житті – цілком достатньо.

По-друге, пам'ятайте, що підключення до найближчого сервера часу не завжди є ідеальним варіантом. Найважливіше не територіальна близькість, а рівень stratum. Проект NTP Pool публікує список серверів лише рівня stratum 1і stratum 2і краще взяти до 10 серверів часу з даного спискущо буде просто чудово.

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

Для великих контор, найкращим варіантомбуде підняття свого сервера часу для робочих комп'ютерів. Даний сервер отримуватиме точний час від серверів часу в Інтернеті та надаватиме його локальним комп'ютерам. На серверах Debian та Ubuntu достатньо розкоментувати рядок

Restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap

у конфігураційному файлі демона ntpd - /etc/ntp.conf

Користувачі з мережі 192.168/16 матимуть можливість брати з вашого сервера покази найточніших годин. Для внутрішніх серверів на базі Linux, які не є серверами часу і займаються своїми завданнями, замість запуску демона ntpd в клієнтському режимі - достатньо вказати у файлі /etc/cron.daily/syncntpd. Рекомендується прочитати різницю між ntpdate і ntp і вирішити собі питання.
#!/bin/sh
/usr/sbin/ntpdate IP.адреса.сервера > /dev/null 2>&1
exit 0

і раз на добу, завдяки команді ntpdate, буде зроблено синхронізацію часу. Щоб уникнути непорозумінь, не полінуйтеся перед використанням сервера часу та синхронізації всього і вся через протокол NTP - виставте вручну правильний час на всіх доступних вам серверах і робочих станціях. Якщо ваш несинхронізований час дуже відрізняється від правильного, то можна спочатку огрести багато непотрібних проблем.

По-четверте, NTP аж ніяк не пов'язаний, в якій країні та які часові пояси використовуються і як відбувається перехід на літній та зимовий час і чи робиться в цій країні такий перехід. Це обов'язок лежить на операційній системі, яку вам потрібно оновлювати, якщо в країні відбуваються зміни у вартових справах. У системах Debianта Ubuntu за це відповідає пакет tzdata, який має бути актуальним.

По-п'яте, краще не піднімати свій 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. Він задається в секундах і за умовчанням його значення дорівнює 604 800, що становить 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 – реєструє службу часу на комп'ютері. При цьому створюється наново вся гілка параметрів у реєстрі.

MSK-IX NTP Server - публічний сервер точного часу, який підтримується MSK-IX. Сервер точного часу призначений для синхронізації з еталонним джерелом внутрішніх годинників комп'ютерів і мережевого обладнання(серверів, маршрутизаторів, смартфонів та ін.) за протоколом NTP.

MSK-IX NTP server відноситься до вищому рівнюточності (Stratum One Time Servers) в ієрархічній системі годинникових рівнів. Як еталонний сигнал часу використовується сигнал глобальних супутникових системнавігації ГЛОНАСС (пріоритетно) та GPS.

MSK-IX NTP Server реалізований у вигляді угруповання серверів, розміщених у Москві, Санкт-Петербурзі, Єкатеринбурзі та Новосибірську. Застосування мережевий технології anycast забезпечує високу надійність та швидкий відгук системи на всій території країни.

Сервери MSK-IX також включені в міжнародний пул NTP-серверів POOL.NTP.ORG, що широко використовується в налаштуваннях операційних систем.

Як користуватися службою NTP Server?

Використовуйте такі параметри для конфігурації обладнання:

Ім'я сервера ntp.msk-ix.ru
IPv4-адреса 194.190.168.1
IPv6-адреса 2001:6d0:ffd4::1

Як встановити пірінг із мережею NTP-сервера MSK-IX?

Щоб зменшити мережний маршрут до сервера NTP-сервера MSK-IX, використовуйте службу Route Server або встановіть прямий піринг з мережею MSK-IX DNS Cloud . Пірингова взаємодія встановлюється за додатковою заявкою у рамках договору на підключення до MSK-IX без додаткової оплати.

Сподобалася стаття? Поділіться з друзями!
Чи була ця стаття корисною?
Так
Ні
Дякую за ваш відгук!
Щось пішло не так і Ваш голос не був врахований.
Дякую. Ваше повідомлення відправлено
Знайшли у тексті помилку?
Виділіть її, натисніть Ctrl+Enterі ми все виправимо!