This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
резервное_копирование_конфигурации_cisco [2016/09/13 09:44] val [Резервное копирование конфигурации Cisco] |
резервное_копирование_конфигурации_cisco [2019/08/13 14:22] val [Резервное копирование конфигурации Cisco] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Резервное копирование конфигурации Cisco ====== | ====== Резервное копирование конфигурации Cisco ====== | ||
+ | * [[https://habr.com/ru/post/339844/|Cisco IOS функционал Archive]] | ||
* [[http://opennet.ru/base/cisco/cisco_auto_conf.txt.html|Автоматическое сохранение конфигурации маршрутизаторов cisco]] | * [[http://opennet.ru/base/cisco/cisco_auto_conf.txt.html|Автоматическое сохранение конфигурации маршрутизаторов cisco]] | ||
- | * [[http://oldie.ronix.net.ua/2010/06/archive-cisco-ios.html|Архивация конфигурации средствами Cisco IOS]] | ||
* [[http://habrahabr.ru/post/171681/|Автоматическое сохранение конфигурации устройств Cisco]] | * [[http://habrahabr.ru/post/171681/|Автоматическое сохранение конфигурации устройств Cisco]] | ||
===== Пакет ciscoconf ===== | ===== Пакет ciscoconf ===== | ||
- | ==== Установка ==== | + | ==== FreeBSD ==== |
- | === FreeBSD === | + | <code> |
+ | # pkg install ciscoconf | ||
+ | # cat /etc/rc.local | ||
+ | </code><code> | ||
+ | ... | ||
+ | /usr/local/bin/ciscoconfd -t 20 -u root -r /usr/local/bin/ciscoconfr /var/log/cisco.log | ||
+ | |||
+ | exit 0 | ||
+ | </code><code> | ||
+ | server# tail -f /var/log/cisco.log | ||
+ | |||
+ | server# cat /usr/local/share/cisco/router.confg | ||
+ | |||
+ | server# rlog /usr/local/share/cisco/router.confg | ||
+ | </code> | ||
+ | |||
+ | Примечание: | ||
<code> | <code> | ||
- | [server:~] # pkg install ciscoconf | + | /usr/local/bin/ciscoconfd -p /var/run/ciscoconfd.pid -s local0 -t 20 -u root -r /usr/local/bin/ciscoconfr /var/log/cisco.log |
</code> | </code> | ||
- | === Ubuntu === | + | - параметр -s, facility для отладки с которым пишет логи сам ciscoconfd (уровень важности равен debug) |
+ | - параметр -u обязателен, без него не подставляется имя пользователя в r команду | ||
+ | - параметр -p нужен для использования в системе ротации лог файлов (например newsyslog) | ||
+ | - можно указать несколько лог файлов, или использовать символ заменитель, например /var/log/cisco*.log | ||
- | [[Управление ПО в Linux#Работа с исходными текстами]] | + | ===== Пакет rancid ===== |
+ | * [[https://networklore.com/rancid-getting-started/|Getting started with RANCID]] | ||
+ | * [[http://linux-beginner.ru/install-rancid-svn/|Устанавливаем связку Rancid + SVN]] | ||
+ | |||
+ | ==== Установка ==== | ||
+ | |||
+ | === Debian/Ubuntu === | ||
<code> | <code> | ||
- | root@server:~# apt-get install rcs | + | # apt install mailutils cvs rancid |
- | root@server:~# apt-get install libpstreams-dev libbsd-dev m4 | + | # cd /etc/rancid/ |
+ | </code> | ||
- | root@server:~# wget http://downloads.sourceforge.net/project/cosi-nms/CiscoConf/ciscoconf%20ver%201.1/ciscoconf-1.1.tar.gz | + | === FreeBSD === |
+ | <code> | ||
+ | # pkg install rancid | ||
- | root@server:~# tar -xvf ciscoconf-1.1.tar.gz | + | # pw useradd rancid -d /usr/local/var/rancid/ |
- | root@server:~# cd ciscoconf-1.1/ | + | # chown rancid:rancid /usr/local/var/rancid/ |
- | root@server:~/ciscoconf-1.1# rcsdiff Makefile | + | # cd /usr/local/etc/rancid/ |
+ | |||
+ | # cp rancid.conf.sample rancid.conf | ||
+ | </code> | ||
+ | |||
+ | ==== Определение списка групп оборудования ==== | ||
+ | |||
+ | <code> | ||
+ | # cat rancid.conf | ||
</code><code> | </code><code> | ||
- | 30c30 | + | ... |
- | < GID=wheel | + | LIST_OF_GROUPS="corpX-nethw"; export LIST_OF_GROUPS |
- | --- | + | ... |
- | > GID=root | + | </code> |
- | 33,34c33,34 | + | |
- | < CFLAGS+=-DHAVE_SETPROCTITLE -DHAVE_SYSLOGFACILITYNAMES -DHAVE_VSYSLOG -DNEED_LIBUTIL | + | ==== Настройка почтовых алиасов для групп оборудования ==== |
- | < LIBS+=-lutil | + | <code> |
- | --- | + | # cat /etc/aliases |
- | > #CFLAGS+=-DHAVE_SETPROCTITLE -DHAVE_SYSLOGFACILITYNAMES -DHAVE_VSYSLOG -DNEED_LIBUTIL | + | |
- | > #LIBS+=-lutil | + | |
- | 37c37 | + | |
- | < #CFLAGS+=-DHAVE_SYSLOGFACILITYNAMES -DHAVE_VSYSLOG | + | |
- | --- | + | |
- | > CFLAGS+=-DHAVE_SYSLOGFACILITYNAMES -DHAVE_VSYSLOG | + | |
</code><code> | </code><code> | ||
- | root@server:~/ciscoconf-1.1# rcsdiff ciscoconfd.c | + | ... |
+ | rancid-corpX-nethw: userX@isp.un | ||
+ | rancid-admin-corpX-nethw: userX@isp.un | ||
</code><code> | </code><code> | ||
- | 147c147 | + | # newaliases |
- | < p->offset = (fpos_t) 0; | + | </code> |
- | --- | + | |
- | > // p->offset = (fpos_t) 0; | + | ==== Инициализация cvs ==== |
- | 152c152 | + | |
- | < p->offset = (fpos_t) 0; | + | <code> |
- | --- | + | # su - rancid |
- | > // p->offset = (fpos_t) 0; | + | |
- | 275c275 | + | linux$ PATH=$PATH:bin |
- | < cfg.head.offset = (fpos_t) 0; | + | |
- | --- | + | freebsd$ PATH=$PATH:/usr/local/libexec/rancid |
- | > // cfg.head.offset = (fpos_t) 0; | + | |
- | 390c390 | + | $ rancid-cvs |
- | < p->offset = (long) 0; | + | </code> |
- | --- | + | |
- | > // p->offset = (long) 0; | + | ==== Настройка учетных данных и проверка подключения ==== |
+ | <code> | ||
+ | rancid@server:~$ cat .cloginrc | ||
</code><code> | </code><code> | ||
- | root@server:~/ciscoconf-1.1# rcsdiff ciscoconfr.sh | + | 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 | ||
</code><code> | </code><code> | ||
- | 5c5 | + | rancid@server:~$ chmod 600 .cloginrc |
- | < PATH=/usr/bin:/usr/local/bin | + | |
- | --- | + | rancid@server:~$ clogin router |
- | > PATH=/bin:/usr/bin:/usr/local/bin | + | |
- | </code><code> | + | |
- | root@server:~/ciscoconf-1.1# mkdir /usr/local/man/man8 | + | |
- | root@server:~/ciscoconf-1.1# make install | + | rancid@server:~$ clogin switch |
</code> | </code> | ||
- | ==== Использование ==== | + | ==== Управление конфигурацией устройств ==== |
- | + | ||
- | === Ubuntu/FreeBSD === | + | |
<code> | <code> | ||
- | server# cat /etc/rc.local | + | rancid@server:~$ cat commands.txt |
</code><code> | </code><code> | ||
- | ... | + | conf term |
- | /usr/local/bin/ciscoconfd -t 20 -u root -r /usr/local/bin/ciscoconfr /var/log/cisco.log | + | interface FastEthernet0/0 |
+ | description connect to ISP2 | ||
+ | end | ||
+ | wr | ||
+ | </code><code> | ||
+ | rancid@server:~$ clogin -x commands.txt router | ||
+ | </code> | ||
- | exit 0 | + | ==== Создание списка оборудования ==== |
+ | <code> | ||
+ | rancid@server:~$ cat corpX-nethw/router.db | ||
</code><code> | </code><code> | ||
- | server# /usr/local/bin/ciscoconfd -t 20 -u root -r /usr/local/bin/ciscoconfr /var/log/cisco.log | + | ###linux |
+ | #router;cisco;up | ||
+ | #switch;cisco;up | ||
+ | ###freebsd | ||
+ | #router:cisco:up | ||
+ | #switch:cisco:up | ||
+ | </code> | ||
- | server# tail -f /var/log/cisco.log | + | ==== Загрузка и контроль изменения конфигураций устройств ==== |
+ | <code> | ||
+ | rancid@server:~$ rancid-run | ||
- | server# rlog /usr/local/lib/cisco/router.confg | + | rancid@server:~$ cat logs/corpX-nethw.20160913.103438 |
- | или | + | |
- | server# rlog /usr/local/share/cisco/router.confg | + | |
- | </code> | + | |
- | Примечание: | + | rancid@server:~$ cat corpX-nethw/configs/router |
+ | rancid@server:~$ cat corpX-nethw/configs/switch | ||
- | /usr/local/bin/ciscoconfd -p /var/run/ciscoconfd.pid -s local0 -t 20 -u root -r /usr/local/bin/ciscoconfr /var/log/cisco.log | + | rancid@server:~$ . /etc/rancid/rancid.conf |
- | - параметр -s, facility для отладки с которым пишет логи сам ciscoconfd (уровень важности равен debug) | + | rancid@server:~$ cvs log corpX-nethw/configs/router |
- | - параметр -u обязателен, без него не подставляется имя пользователя в r команду | + | rancid@server:~$ cvs diff -r1.2 -r1.3 corpX-nethw/configs/router |
- | - параметр -p нужен для использования в системе ротации лог файлов (например newsyslog) | + | rancid@server:~$ cvs co -r1.17 -p corpX-nethw/configs/router | less |
- | - можно указать несколько лог файлов, или использовать символ заменитель, например /var/log/cisco*.log | + | |
+ | rancid@server:~$ crontab -l | ||
+ | </code><code> | ||
+ | 0 * * * * /var/lib/rancid/bin/rancid-run | ||
+ | </code> |