====== Резервное копирование конфигурации Cisco ====== ===== Средствами cisco IOS ===== * [[https://habr.com/ru/post/339844/|Cisco IOS функционал Archive]] * [[http://habrahabr.ru/post/171681/|Автоматическое сохранение конфигурации устройств Cisco]] ===== Пакет ciscoconf ===== * [[http://opennet.ru/base/cisco/cisco_auto_conf.txt.html|Автоматическое сохранение конфигурации маршрутизаторов cisco]] ==== FreeBSD ==== # pkg install ciscoconf # cat /etc/rc.local ... /usr/local/bin/ciscoconfd -t 20 -u root -r /usr/local/bin/ciscoconfr /var/log/cisco.log exit 0 server# tail -f /var/log/cisco.log server# cat /usr/local/share/cisco/router.confg server# rlog /usr/local/share/cisco/router.confg Примечание: /usr/local/bin/ciscoconfd -p /var/run/ciscoconfd.pid -s local0 -t 20 -u root -r /usr/local/bin/ciscoconfr /var/log/cisco.log - параметр -s, facility для отладки с которым пишет логи сам ciscoconfd (уровень важности равен debug) - параметр -u обязателен, без него не подставляется имя пользователя в r команду - параметр -p нужен для использования в системе ротации лог файлов (например newsyslog) - можно указать несколько лог файлов, или использовать символ заменитель, например /var/log/cisco*.log ===== Пакет rancid ===== * [[https://networklore.com/rancid-getting-started/|Getting started with RANCID]] * [[http://linux-beginner.ru/install-rancid-svn/|Устанавливаем связку Rancid + SVN]] ==== Установка ==== === Debian/Ubuntu === # apt install mailutils cvs rancid # cd /etc/rancid/ === FreeBSD === # pkg install rancid # pw useradd rancid -d /usr/local/var/rancid/ # chown rancid:rancid /usr/local/var/rancid/ # cd /usr/local/etc/rancid/ # cp rancid.conf.sample rancid.conf ==== Определение списка групп оборудования ==== # cat rancid.conf ... LIST_OF_GROUPS="corpX-nethw"; export LIST_OF_GROUPS ... ==== Настройка почтовых алиасов для групп оборудования ==== # cat /etc/aliases ... rancid-corpX-nethw: userX@isp.un rancid-admin-corpX-nethw: userX@isp.un # newaliases ==== Инициализация cvs ==== # su - rancid linux$ PATH=$PATH:bin freebsd$ PATH=$PATH:/usr/local/libexec/rancid $ rancid-cvs ==== Настройка учетных данных и проверка подключения ==== rancid@server:~$ cat .cloginrc add password router cisco cisco add user switch user1 add password switch tpassword1 #add password switch rpassword1 cisco add autoenable switch 1 #add user * rancid #add password * gfgt45yfg56uytgdfgsdfar23 #add method * ssh #add autoenable * 1 rancid@server:~$ chmod 600 .cloginrc rancid@server:~$ clogin router rancid@server:~$ clogin switch ==== Управление конфигурацией устройств ==== rancid@server:~$ cat commands.txt conf term interface FastEthernet0/0 description connect to ISP2 end wr rancid@server:~$ clogin -x commands.txt router ==== Создание списка оборудования ==== rancid@server:~$ cat corpX-nethw/router.db ###linux #router;cisco;up #switch;cisco;up ###freebsd #router:cisco:up #switch:cisco:up ==== Загрузка и контроль изменения конфигураций устройств ==== rancid@server:~$ rancid-run rancid@server:~$ cat logs/corpX-nethw.20160913.103438 rancid@server:~$ cat corpX-nethw/configs/router rancid@server:~$ cat corpX-nethw/configs/switch rancid@server:~$ . /etc/rancid/rancid.conf rancid@server:~$ cvs log corpX-nethw/configs/router rancid@server:~$ cvs diff -r1.2 -r1.3 corpX-nethw/configs/router rancid@server:~$ cvs co -r1.17 -p corpX-nethw/configs/router | less rancid@server:~$ crontab -l 0 * * * * /var/lib/rancid/bin/rancid-run