четверг, 14 июля 2011 г.

Синхронизация времени на маршрутизаторах Cisco по NTP

Оригинал здесь: http://www.hypercomp.ru/articles/configuring-clock-and-ntp-on-cisco-router/
Как настроить синхронизацию времени маршрутизатора Cisco с сервером NTP.
Для работы с журналами событий маршрутизатора Cisco, списков временного доступа, а также для синхронизации происходящих событий и отладки работы маршрутизатора Cisco необходимо использовать команду clock и сервера NTP (Network Time Protocol). Они отвечают за правильное состояние времени на маршрутизаторе, обеспечивая высокую точность измерения – до миллисекунды. На маршрутизаторах Cisco (в зависимости от модели) имеется несколько команд, отвечающих за время и дату. На маршрутизаторах Cisco серий 2500, 2600, 2800, 3600, 3800 это команды clock и ntp. На более сложных устройствах, например, Cisco 7200 серии или серверах доступа Cisco серии AS5300 есть еще команда calendar. Для просмотра текущего времени и даты используется команда show clock:

00:15:25.131 UTC Mon Mar 1 1993

По умолчанию, если параметр clock не установлен, при каждом включении маршрутизатора время начинается с 00 часов 00 минут 00 секунд понедельника 1 марта 1993 года. Часы хранятся в формате UTC (Coordinated Universal Time), который похож на привычный нам формат GMT (Greenwich Mean Time) - среднее время по Гринвичу. Изменение даты и времени производится из привилегированного режима следующим образом:

clock set hh:mm:cc день месяц год

hh:mm:cc день месяц год - должны соответствовать европейскому формату (для месяцев), например:

clock set 3:00:00 18 Jan 2007

Посмотрим на результат show clock:

3:00:06.245 UTC Thu Jan 18 2007

Для задания даты и времени при помощи команды clock существует два параметра: timezone и summer-time. Их синтаксис:

clock timezone (имя временной зоны или часовой пояс) [смещение]
clock summer-time (имя временной зоны или часовой пояс) recurring (дата и время начала, дата и время конца перехода на летнее время)

Команда clock timezone используется для задания смещения относительно гринвичского меридиана текущего времени для маршрутизатора. Нужно задать любое имя временной зоны или часового пояса (к примеру, Moscow) и смещение в часах от -23 до 23 (в этом примере будет 3). Команду clock summer-time используют для задания начальной и конечной даты перехода на летнее время. Тогда для Москвы конфигурация выглядит так:

clock timezone Moscow 3
clock summer-time Moscow recurring last Sun Mar 2:00 last Sun Oct 2:00

То есть дата перехода на летнее время – последнее воскресенье марта, а на зимнее – последнее воскресенье октября. Теперь время на маршрутизаторе Cisco отобразится в формате GMT:

04:11:24.158 Moscow Mon Mar 1 1993

Заданные вручную дата и время сохраняют свое значение только на время непрерывной работы маршрутизатора. После его выключения или перезагрузки установленное ранее время сбрасывается, хотя в некоторых маршрутизаторах и серверах доступа (как и в других изделиях Cisco) есть энергонезависимая память для часов, как у BIOS персонального компьютера. В момент загрузки маршрутизатора время из календаря считывается в clock и далее clock сам ведет часы. При продолжительной работе время clock и время в календаре маршрутизатора могут незначительно отличаться друг от друга. Для устранения этого расхождения у команды clock существует параметр calendar-valid для периодической синхронизации календаря и времени clock, которое генерирует кварцевый резонатор:

clock calendar-valid

Для того, чтобы временя в пределах локальной или региональной сети было одинаковым, используется протокол NTP (Network Time Protocol). Принцип работы этого протокола в том, что в сети задается один или несколько мастеров времени, а все остальные находящиеся в этой сети маршрутизаторы при включении устанавливают свой clock по данным мастера и в дальнейшем периодически синхронизируют с ним свое точное время. На сервере времени, в качестве которого обычно используется как раз маршрутизатор с энергонезависимой памятью календаря необходимо ввести команду:

ntp master

На других маршрутизаторах Cisco достаточно прописать указание на NTP-сервер:

ntp server 192.168.0.100

Если указывается несколько NTP-серверов, один из них можно указать как более предпочтительный:

ntp server 192.168.0.100 prefer
ntp server 191.168.0.200

Если все настроено правильно, то по команде show ntp status можно получить информацию, включающую адрес мастер-сервера, с которым синхронизировано время по протоколу NTP, текущие дату и время, а также расхождение времени с сервером.

Clock is synchronized, stratum 9, reference is 192.168.0.100
nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24
reference time is ACD65C4E.12D6BFE4 (12:30:25.000 Moscow Thu Jan 18 2007)
clock offset is -0.2051 msec, root delay is 1.66 msec
root dispersion is 0.67 msec, peer dispersion is 0.21 msec

Еще одна полезная команда - это show ntp associations, из результата которой мы видим прописанные на данном маршрутизаторе NTP-сервера, какой из них является master, кто от кого получает время, к какому слою принадлежит маршрутизатор (stratum - чем меньше значение, тем точнее его время) и некоторые другие параметры.

address ref clock st when poll reach delay offset disp
*~192.168.0.100 212.45.32.175 8 25 64 377 1.7 -1.04 0.1
+~192.168.0.200 192.168.0.100 9 34 64 377 1.8 -1.62 0.1
* master (synced), # master (unsynced), + selected, - candidate, ~ configured

По умолчанию на маршрутизаторах Cisco включены timestamps debug и timestamps log, которые отображают время события (заносимого в журнал или отображаемого в debug-режиме) в формате, привязанном к правильному текущему времени – то есть заданному при настройке. Если они сервисы отключены, то включить их можно следующими командами:

service timestamps debug datetime localtime
service timestamps log datetime localtime

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

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