Ciscoman's notes (Записки цыщика c дипломом)

I'm Cisco Champion Community member for 2017!

I'm Cisco Champion Community member for 2017!
"Cisco Champions are passionate about Cisco and happy to share our knowledge, experience, and feedback."

суббота, 3 октября 2009 г.

Конфигурация для возврата к исходному состоянию


Бывает такое, что нужно провести полную реконфигурацию маршрутизатора (например, с помощью скрипта загрузить на несколько однотипных удаленных маршрутизаторов новый startup-config по tftp и перезагрузиться, чтобы не вычищать тонны мусора, оставшиеся от предыдущей конфигурации). Однако, людям свойственно ошибаться, и в некоторых случаях новые параметры могут оказаться неработоспособными. Для этого я разработал следующую конфигурацию:
Задаем параметры ip sla, будем отслеживать состояние IP адреса 192.168.0.44 - доступен ли он (успешно доставлены 10 icmp-echo с таймаутом 2000 мс):
ip sla 100
icmp-jitter 192.168.0.44 num-packets 10
timeout 2000
frequency 5

ip sla мониторинг запустим через 5 минут, чтобы избежать неверных
срабатываний (например, маршрутизатор ещё не поднял pppoe соединение):
ip sla schedule 100 life forever start-time after 00:05:00

object-id 15 будет отслеживать событие изменения состояния ip sla:
track 15 rtr 100 reachability
delay down 180

Изменение состояния объекта на down сделаем с задержкой 3 минуты (180 сек.), чтобы объект имел возможность восстановиться (icmp-echo пакеты пройдут) и избежать ложного срабатывания. Далее создаем аплет, который по состоянию down объекта c id 15 будет выполнять не интерактивные команды, заданные в action. Т.к. команды не интерактивные, нам потребуется выполнить дополнительную настройку (1.2 – 1.4), а затем скопировать предварительно сохраненные файлы конфигурации и затем перезагрузиться. failed-config нужен для последующего анализа:
event manager applet IfPingFailed
event track 15 state down
action 1.0 syslog msg "Ping has failed, reverting configuration!"
action 1.1 cli command "enable"
action 1.2 cli command "configure terminal"
action 1.3 cli command "file prompt quiet"
action 1.4 cli command "end"
action 2.0 cli command "copy startup-config failed-config"
action 3.0 cli command "copy backup-config startup-config"
action 4.0 reload

Добавлено. В результае долгих экспериментов выяснил, что если такая конфигурация используется первый раз, например, когда вы загружаете startup-config по tftp и затем перезагружаете маршрутизатор, object trackig имеет состояние down сразу же после загрузки маршрутизатора. Соответственно состояние не меняется и возврат к исходному состоянию не происходит. Я вылечил это так:
event manager applet schedule_script
event timer countdown time 60
action 0.0 syslog msg "Tiggering rollback script!"
action 1.0 cli command "enable"
action 2.0 cli command "configure terminal"
action 3.0 cli command "no event manager applet schedule_script"
action 4.0 cli command "end"
action 5.0 cli command "write"
action 6.0 reload

Этот апплет удаляет сам себя, сохраняет конфигурацию и перезагружает маршрутизатор. Приследующей загрузке object tracking уже нормально срабатывает

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

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

Постоянные читатели

Поиск по этому блогу