В образовательных целях я хотел отследить цепочку серверов 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 я просто использовал обходной путь:
server 56.1.129.236
(пропуская 78.47.249.19) в /etc/ntp.conf
sudo service ntp restart
Это работает для отслеживания цепочки NTP, но очень утомительно. Поэтому мои вопросы таковы:
ntpq
только для отслеживания цепочки NTP-серверов?На странице руководства ntptrace:
ntptrace - это сценарий Perl, который использует служебную программу ntpq для отслеживания цепочки NTP-серверов от заданного хоста обратно к основному источнику времени. Для правильной работы ntptrace каждый из этих серверов должен реализовывать протокол управления и мониторинга NTP, указанный в RFC 1305, и включать пакеты NTP Mode 6.