воскресенье, 3 августа 2014 г.

Синхронизация времени, протокол 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
должны увидеть нечто подобное:
*~10.0.100.254 62.117.76.142 2 54 64 377 0,3 0,51 0,0
* master (synced), # master (unsynced), + selected, * candidate, ~ configured
Звездочка напротив ip нашего ntp сервера, говорит нам, что все хорошо, связь по крайней мере установлена.
Теперь посмотрим, синхронизировалось ли время?
show ntp status
Если все синхронизировалось, то мы должны увидеть следующее:
BBS#show ntp status
Clock us synchronized, stratum 3, reference is 10.0.100.254
nominal freq is 250.0000 Hz, actual freq is 249.9992 Hz, precision is 2**18
reference time is CF0D2B1B.A9C390E3 (12:38:35.663 MSK/MSD Fri Jan 29 2010)
clock offset is 0.4930 msec, root delay is 28.85 msec
root dispersion is 23.44 msec, peer dispersion is 0.03 msec
BBS#
Время получено, теперь необходимо установить нужную там тайм зону.Так же в режиме глобальной конфигурации делаем:
clock timezone MSK/MSD 4
Теперь давайте проверим время:
BBS#sh clock
12:41:54.047 MSK/MSD Fri Jan 29 2010
BBS#
Все замечательно. Переходим к настройке нашего роутера в режим мастера. Для этой настройки, нам необходимо что данный роутер мастер и указать уровень (в 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
Проверяем:
ASW-ZU2#sh clock
12:51:11.571 MSK Fri Jan 29 2010
ASW-ZU2#
Все замечательно, все работает. Теперь рассмотрим вопрос безопасности. Для начала, разберем вопрос по ограничению с помощью 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 устройствах.

Отладка (debug) NTP

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

Синхронизация времени по протоколу NTP на устройствах Cisco
Источник: blogsvazista.ru/synchronizaciya-vremeni-po-protocolu-ntp-cisco/

Комментариев нет:

Отправить комментарий