Настройка NTP для синхронизации времени

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

Ниже вы можете посмотреть на диаграмму настройки протокола NTP, где в целях синхронизации времени настроены IP-адреса SwitchA и SwitchB. При этом SwitchA синхронизировал свои часы с более авторитетными часами, к примеру, с GPS — системой глобального позиционирования. Таким образом, SwitchA функционирует еще и как сервер времени SwitchB.

План конфигурации

Создание данной конфигурации можно разделить на 2 части: 1. Настраиваем IP-адреса для SwitchA и SwitchB. 2. Конфигурируем SwitchA как основные тактовые часы, что позволит использовать локальные часы SwitchA в качестве опорных часов. 3. Настраиваем SwitchB в целях синхронизации времени с SwitchA и настраиваем аутентификацию NTP в целях обеспечения безопасности синхронизации.

Что же, приступим.

Процедура конфигурирования

Первое, что надо сделать, — настроить IP-адреса для SwitchA и SwitchB. Начнем со SwitchA:

Теперь настраиваем IP-адрес для SwitchB:

На этой стадии все, переходим к этапу номер два. Теперь понадобится настроить SwitchA в качестве главного сервера синхронизации и включить NTP-аутентификацию. Также следует установить уровень синхронизации 1.

Прежде чем идти далее, сделаем небольшое отступление и скажем, что значение полосы уровня синхронизации находится в пределах от 1 до 15. При этом часы в подсети синхронизируются по возрастанию уровней, а уровень синхронизации можно установить. В нашем примере уровень синхронизации равен 1.

К слову, в реальных условиях сервер NTP, который синхронизирован с авторитетными часами, задают как stratum 1 и используют в качестве источника синхронизации. Прочие сетевые устройства синхронизируют свои часы с часами сервера NTP, а это значит, что локальные часы сервера NTP настроены в качестве основных часов NTP.

Итак, продолжаем:

Вообще, методы аутентификации включают как MD5, так и HMAC-SHA256. HMAC-SHA256 характеризуется более высокой безопасностью, а MD5 — более высокой скоростью. В нашем примере мы применяем HMAC-SHA256 (третья строка вышеуказанного кода). Из первой же строки можно заметить, что ширина часов устанавливается на 1.

Теперь включаем функцию NTP-сервера для SwitchA:

Следующий шаг — настройка SwitchB в целях синхронизации времени со SwitchA с последующим включением NTP-аутентификации. IP-адрес NTP-сервера — 10.10.1.1. Режим синхронизации часов устанавливается на одноадресный клиент/сервер.

Важно понимать, что идентификатор ключа SwitchB-аутентификации должен быть таким же, как и в случае со SwitchA. Иначе аутентификация завершится с ошибкой.

Проверяем конфигурацию

В первую очередь проверим конфигурацию на SwitchA. Для этого: 1) запустим команду display ntp status, чтобы просмотреть статус NTP:

2) запустим команду display clock, чтобы увидеть состояние часов:

Теперь можно проверить конфигурацию на SwitchB. Здесь: 1) запускаем команду display ntp status:

2) запускаем команду display clock:

Файлы конфигурации

Вот как выглядит файл конфигурации SwitchA (представленный в конфигурации формат зашифрованного текста может отличаться, что зависит от версии системного ПО):

А вот SwitchB:

Выводы и рекомендации

Итак, какие возможны сценарии использования NTP: 1. Режим одноадресного клиента/сервера. Подходит для более высокого уровня в подсети синхронизации. Клиентам нужно получить IP-адрес сервера непосредственно до момента синхронизации. 2. Одноранговый режим. Подходит для более низкого уровня в подсети синхронизации. Активный и пассивный одноранговые узлы можно синхронизировать друг с другом. Если точнее, одноранговый узел более высокого уровня синхронизируется с узлом нижнего уровня. 3. Широковещательнй режим. Подходит, если IP-адрес сервера либо однорангового узла не определен, а также если надо синхронизировать в сети часы большого числа устройств. 4. Многоадресный режим. Для высокоскоростной сети, имеющей несколько рабочих станций и не требующей высокой точности часов. В типичной ситуации один либо несколько серверов сетевой синхронизации регулярно отправляют на рабочие станции многоадресные пакеты. Задержка передачи пакетов в локали находится на уровне миллисекунд. 5. Manycast. Когда серверы разбросаны по сети. Здесь клиент способен обнаруживать и синхронизироваться с ближайшим manycast-сервером.

Какие состояния проходит NTP в процессе синхронизации: — часы не установлены. Показывается, что часы не обновляются; — частота задана по конфигурации. Показывается, что тактовая частота установлена посредством NTP; — набор часов. Показывается, что часы установлены; — набор часов с неопределенной частотой. Показывается, что часы установлены, однако тактовая частота не определена; — часы синхронизированы. Показывается, что часы были синхронизированы; — импульс (часы устанавливаются в XXX сек.). Показывается, что система обнаруживает факт того, что разница во времени между клиентом и сервером синхронизации больше 128 миллисекунд. Локальные часы проверяются в течение XXX секунд.

Что можно сделать, если в NTP-синхронизации возникает ошибка (как обнаружить неисправность): 1. Запустите display ntp event clock-unsync, что отобразит последние 10 причин сбоев синхронизации. 2. Запустите display ntp sessions, что позволит увидеть информацию про все сеансы локального NTP. 3. Запустите display ntp slot-status, что даст возможность просмотреть состояния системы часов.

Статья написана по материалам центра документации компании Huawei.