Автоматический бэкап конфигов коммутаторов Cisco серии Small Business. Rancid + SVN + Trac.

Выйти из строя может что угодно и если это будет коммутатор с кучей вланов — будет очень грустно.

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

Действие проводится на Ubuntu Server 14.04.2.

Установка и настройка Rancid + SVN

Устанавливаем rancid и subversion

sudo apt-get install rancid subversion

Редактируем конфиг rancid

sudo nano /etc/rancid/rancid.conf

Меняем CVSROOT=$BASEDIR/CVS; export CVSROOT на CVSROOT=$BASEDIR/SVN; export CVSROOT

RCSSYS=cvs; export RCSSYS на RCSSYS=svn; export RCSSYS

#LIST_OF_GROUPS=»sl joebobisp»; export LIST_OF_GROUPS на LIST_OF_GROUPS=»cisco-sb»

По мере использования станет понятно, нужно ли подкрутить ещё что-то.

По умолчанию, коммутаторы серии SB не поддерживаются. Но модули для работы с SB существуют.

Скачиваем

cd /var/lib/rancid/bin

sudo wget https://raw.githubusercontent.com/chrpinedo/rancid-cisco-sb/master/src/csblogin

sudo wget https://raw.githubusercontent.com/chrpinedo/rancid-cisco-sb/master/src/csbrancid

Делаем исполняемыми

sudo chmod +x csblogin csbrancid

Еще нужно подправить интерпретаторы

sudo nano csblogin

#! /usr/bin/env expect — на #! /usr/bin/expect —

sudo nano csbrancid

#! /usr/bin/env perl на #! /usr/bin/perl

Добавляем новый сценарий в «%vendortable dictionary»

sudo nano rancid-fe

вставляем ‘cisco-sb’ => ‘csbrancid’,

Теперь нужно создать конфигурацию для доступа к коммутаторам

Переключаемся на пользователя rancid

sudo su — rancid

cd /var/lib/rancid/

Создаем конфигурационный файл .cloginrc

nano .cloginrc

Звездочка в конце означает, что эти настройки будут использоваться для всех устройств адреса которых начинаются с 10.10.10.

Для безопасности устанавливаем права доступа:

chmod 600 .cloginrc

Создаем папки и файлы для работы нашей группы cisco-sb

./bin/rancid-cvs

Должен появиться каталог cisco-sb с файлами.

1436976200674_result

Добавляем устройства в файл router.db

nano cisco-sb/router.db

Так же нужно включить ssh на коммутаторе. Например,  в веб-интерфейсе SG300-20, галочки для включения служб находятся в Security / TCP/UDP Services

Запускаем rancid

./bin/rancid-run

Логи можно посмотреть в каталоге logs.

Бэкапы конфигов в cisco-sb/configs

Добавим задачу в cron:

Каждый день в час ночи Rancid будет проверять, что нового в конфигурации.

Установка и настройка Trac

Выходим из пользователя rancid

exit

Устанавливаем apache2, trac, модуль для веб-приложений написанных на питоне и инструменты apache.

sudo apt-get install apache2 trac libapache2-mod-python apache2-utils

Создаём каталог /var/trac/netconf

sudo mkdir -p /var/trac/netconf

cd /var/trac/netconf

Создаём окружение и пользователя trac с правами администратора.

sudo htpasswd -bc .htpasswd admin pass

sudo trac-admin . permission add adminusername TRAC_ADMIN

Даём доступ apache к окружению:

sudo chown -R www-data: .

sudo chmod -R 775 .

И к каталогу с SVN

sudo chgrp -R www-data /var/lib/rancid/SVN/

Редактируем конфиг trac:

sudo nano /var/trac/netconf/conf/trac.ini

Указываем расположение SVN: repository_dir = /var/lib/rancid/SVN/
Подключаем модуль поддержки SVN, для этого в конец файла вставляем

Редактируем конфиг apache2

sudo cp /dev/null /etc/apache2/sites-available/000-default.conf

sudo nano /etc/apache2/sites-available/000-default.conf

Trac будет под паролем.

Рестартуем apache

sudo service apache2 restart

Минимальная настройка Trac готова, входим в веб-интерфейс

1436979949362_result

 

1436980067329_result

Закладка Постоянная ссылка.