Андрей Смирнов
Время чтения: ~5 мин.
Просмотров: 0

Синхронизация времени по протоколу NTP на устройствах Cisco

Сегодня вкратце пробежимся по вопросу синхронизации времени, по протоколу NTP (Network Time Protocol)

Сначала определимся, для чего нам синхронизировать время на оборудовании, таком как: коммутаторы, маршрутизаторы, файрволлы, и так далее.

Делается это в первую очередь для того, чтоб отследить по логам когда произошло то или иное событие. И вы можете себе представить, какая польза будет от логов, если время не синхронизированное.. правильно — никакой.

Протокол NTP работает на основе протокола UDP, через 123 порт.

У данного протокола есть некоторая иерархия для синхронизирующих систем, иными словами уровни.

Уровень 1 присваивается системе, которая синхронизируется с высокоточными часами, например через GPS.

Система, которая будет синхронизировать с Уровня 1, будет иметь Уровень 2, и так далее.

Тем самым мы можем определить насколько точным временем обладает станция, с которой мы синхронизируемся.

В нашей ситуации у нас в сети есть машина с точным временем, у меня она настроена на основе FreeBSD, с этой машины, главное сетевое устройство будет брать время (синхронизировать), и тем самым будет становиться главным для других сетевых устройств (в идеологии cisco будет ntp мастером).

Хочу отметить тот факт, что по NTP передается время только в формате UTC (Гринвич), каждая тайм зона настраивается не посредственно на железке.

Давайте рассмотрим пример простой настройки NTP.

Для начала синхронизируем время на нашем главном роутере (который будет раздавать другим сетевым устройствам ).

Для этого заходим в режиме глобальной конфигурации:

ntp server 10.0.100.254

где, 10.0.100.254 в нашем случае это машина с FreeBSD, имеющая точное время.

Этого достаточно для минимальной настройки.

Теперь проверим, смогли ли мы подключиться к серверу времени и получить с него время, для этого используем команду:

show ntp associations

должны увидеть нечто подобное:

ntpass.png

Звездочка напротив ip нашего ntp сервера, говорит нам, что все хорошо, связь по крайней мере установлена.

Теперь посмотрим, синхронизировалось ли время?

show ntp status

Если все синхронизировалось, то мы должны увидеть следующее:

ntpstatus.png

Время получено, теперь необходимо установить нужную там тайм зону.

Так же в режиме глобальной конфигурации делаем:

clock timezone MSK/MSD 3

Теперь давайте проверим время:

shclock.png

Все замечательно.

Перейдем к настройке нашего роутера в режим мастера.

Для этой настройки, нам необходимо что данный роутер мастер и указать уровень (в cisco он зовется как stratum number), тот самый, о котором я говорил в начале, я укажу уровень пятый.

ntp master 5

Теперь попробуем настроить на другом сеттером устройстве ntp, чтоб оно синхронизировалось с нашего основного роутера, делается это так же как и здесь выше настраивали синхронизацию с FreeBSD сервера.

ntp server 10.0.100.1 prefer

где, 10.0.100.1 это наш головной роутер.

prefer это ключевое слово, которое указывает что данный ntp сервер является приоритетным (тоесть можно прописать, что синхронизировать можно не с одного сервера, а с нескольких, делается это для того, что если один недоступен, или время слишком отличается от других, что говорит о каких-то проблемах, устройство может переключиться на другой сервер времени, а prefer делает этот сервер более предпочтительным, нежели другие.)

так же мы указываем нужную нам таймзону.

clock timezone MSK/MSD 3

Проверяем:

shclockASW.png

Все замечательно, все работает.

Теперь рассмотрим вопрос безопасности.

Для начала, разберем вопрос по ограничению с помощью ACL, кто может синхронизировать, а кто нет.

Все достаточно стандартно и прозрачно.

На сервере времени создаем соответствующий ACL:

access-list 20 remark ACCESS to NTP Sync

access-list 20 permit 10.0.100.3

теперь привяжем этот список доступа к ntp.

ntp access-group serve-only 20

Если все настроено верно, то связь с ntp севером установится и синхронизация пройдет успешно.

Так же дополнительно можно прописать на клиентах список доступа. К каким серверам времени можно обращаться. Делается это похожим способом:

access-list 20 remark ACCESS SYNC to NTP Serv

access-list 20 permit 10.0.100.1

Привяжем список доступа к NTP

ntp access-group peer 20

Теперь рассмотрим безопасность на основе аутентификации.

Все также достаточно прозрачно.

В конфигурацию ntp достаточно добавить следующее:

ntp authentication-key 1 md5 15060E1F10243F34 7

ntp authenticate

ntp trusted-key 1

первой командой мы задаем ключ аутентификации, второй включаем аутентификацию, а третей указываем что аутентификацию проводить по первому ключу.

Настраиваем это на каждой из сторон (сервер — клиент).

Вот собственно и все. Получилась небольшой вводный курс по настройке NTP на Cisco устройствах.

Для отладки используем :

ASW-M#debug ntp ?

adjust NTP clock adjustments

authentication NTP authentication

events NTP events

loopfilter NTP loop filter

packets NTP packets

params NTP clock parameters

refclock NTP reference clocks

select NTP clock selection

sync NTP clock synchronization

validity NTP peer clock validity

ASW-M#debug ntp

Включаем все что нам интересно, например events, sync, auth и смотрим что происходит.

Если мы зашли на устройство через ssh/telnet не забываем ter mon 🙂

Настроить время вручную:

#Установить время (clock set hh:mm:ss день месяц год)clock set 10:00:00 01 October 2019

#Задать временную зону(в примере по Москве)clock timezone MSK 3

#Синхронизация времени на аппаратной микросхеме с программным временемclock update-calendar

Но это не лучшая идея. Нас же интересует автоматическая синхронизация с внешними публичными NTP ( кстати, можно найти здесь ближайший http://support.ntp.org/bin/view/Servers/NTPPoolServers )

Параметр stratum NTP серверов равен 1.

Настройка мастера (сервера): #Заходим в режим конфигурацииconf t #Настроим часовой поясclock timezone MSK 3 #Интерфейс-источник запроса NTPntp source GigabitEthernet0/0 #Указать роутер мастером-сервером, указываем число больше 1 (Параметр stratum NTP серверов равен 1)ntp master 2 #Периодическое обновление аппаратных часов с NTP серверомntp update-calendar #Указание NTP серверов (имя или ip)ntp server 0.pool.ntp.org ntp server 1.pool.ntp.org

Настроим клиент:clock timezone MSK 3ntp source vlan 1 #Или с указанием интерфейса-источника ntp server 192.168.1.254 source GigabitEthernet0/3ntp server 192.168.123.3

Если что-то не работает, используем команды:show clock show calendar show ntp status show ntp associations

Используемые источники:

  • http://admindoc.ru/428/sinxronizaciya-vremeni-po-protokolu-ntp-na-ustrojstvax-cisco/
  • https://unlix.ru/настройка-ntp-сервера-на-cisco-устройствах/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации