05 июля 2016

Массовое изменение конфигураций с помощью Rancid

В сети с числом активных элементов больше 5, следует задуматься над автоматизацией процесса изменения конфигурации оборудования. Утилита Rancid, кроме сбора и хранения конфигураций, умеет, после небольшого тюнинга, рассылать требуемые изменения на сетевое оборудование.









Создаем файл с изменениями которые необходимо раскатить на оборудование. Например, в /tmp/cisco-mass-conf
configure terminal
event manager applet MFReload_manual
action 5 cli command "atcmd cfun set 1,1"
event manager applet MFReload
action 5 cli command "atcmd cfun set 1,1"
exit
exit
write
Дальше понадобится небольшой скрипт на баше, вытаскивающий список хостов сетевого оборудования из базы Rancid и отправляющий наши изменения.
touch robonet.sh
chmod +x robonet.sh
#!/bin/bash
CFGFILE=$1
DBFILE=$2

for HOSTIP in $( cat $DBFILE | awk 'BEGIN {FS=":"} ; { if ($2 ~ /cisco/ ) print $1 } ' )
    do
        /usr/lib/rancid/bin/clogin -x $CFGFILE $HOSTIP
    done
Скрипт принимает 2 параметра:
1- путь к файлу с командами, отправляемыми сетевому оборудованию.
2- путь к файлу базы Rancid.

Запускаем скрипт и идем за кофе.
./robonet.sh /tmp/cisco-mass-conf /var/lib/rancid/brach-network/router.db