Назад | Перейти на главную страницу

Цепочка отслеживания NTP-серверов

В образовательных целях я хотел отследить цепочку серверов NTP, например 0.de.pool.ntp.org обратно на NTP-сервер уровня 1. Как я могу это сделать?


Я нашел ntptrace, но он не работает:

/home/xyzdragon# ntptrace
localhost: stratum 2, offset -0.009285, synch distance 0.010221
192.53.103.104: timed out, nothing received
***Request timed out

Я пытался отлаживать /usr/bin/ntptrace путем воспроизведения шагов этого Perl-скрипта вручную:

home/xyzdragon# ntpq -n
ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+78.47.249.19    56.1.129.236     3 -  129  128  376   27.339   14.405  12.857
ntpq> host 78.47.249.19
current host set to 78.47.249.19
ntpq> pe
78.47.249.19: timed out, nothing received
***Request timed out

Фактически ntptrace использует комбинацию rv и pstat вместо pe команда ntpq.

После нескольких попыток заставить его работать с ntpq я просто использовал обходной путь:

  1. Прочитать одноранговый узел и выполнить рефид из `ntpq -p
  2. Вставить server 56.1.129.236 (пропуская 78.47.249.19) в /etc/ntp.conf
  3. Применить настройки с помощью sudo service ntp restart
  4. Перейти к 1.

Это работает для отслеживания цепочки NTP, но очень утомительно. Поэтому мои вопросы таковы:

На странице руководства ntptrace:

ntptrace - это сценарий Perl, который использует служебную программу ntpq для отслеживания цепочки NTP-серверов от заданного хоста обратно к основному источнику времени. Для правильной работы ntptrace каждый из этих серверов должен реализовывать протокол управления и мониторинга NTP, указанный в RFC 1305, и включать пакеты NTP Mode 6.