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

Проверка того, запущен ли NTP и работает ли он на группе серверов

У меня есть внутренняя сеть с серверами, на которых работают разные операционные системы, и все они предположительно синхронизируются через NTP, но я хотел бы проверить, действительно ли они синхронизированы. Есть ли для этого инструмент (желательно Linux)?

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

Для тех, кто отвечает, ntpq команда предназначена именно для этого.

ntpq -c lo $target

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

Или вы можете использовать реальную структуру мониторинга.

У Nagios есть плагин для NTP. Он подключится к серверу NTP в целевой системе и сравнит свое время с местным временем. Вы можете установить предупредительный и критический уровни для разницы во времени.

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

central% /usr/sbin/ntptrace remotehost

И вы должны увидеть что-то вроде

remotehost: stratum 3, offset 0.002664, synch distance 0.120534

Если ваш локальный брандмауэр разрешает случайный трафик NTP в Интернет, вы увидите больше, возможно, что-то вроде:

remotehost: stratum 3, offset 0.005108, synch distance 0.085819
maverick.mcc.ac.uk: stratum 2, offset -0.000428, synch distance 0.032754
ntp2.ja.net: stratum 1, offset 0.000083, synch distance 0.002045, refid 'MSF'

Если вы ничего не видите, это означает, что ntp настроен так, чтобы игнорировать вас; Возможно, вам придется войти в систему, чтобы запустить там ntptrace. Проблемы возникают, когда кто-то освободился:

bustedbox: stratum 16, offset 0.000000, synch distance 0.000015