====== Резервное копирование конфигурации 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