Rancid — сборник исполняемых файлов, написанных на Perl и Expect, для автоматизации сбора конфигураций с сетевого оборудования. Появилась необходимость сбора конфигураций не только с коммутаторов, роутеров и маршрутизаторов Cisco\Mikrotik, но WLC контроллеров. По сравнению с предыдущей версией, в указанной версии поддержка WLC уже есть.
Установка
Подключение репозитория Epel
| 1 2 3 | yum install epel-release | 
Столкнулся с проблемой при установке Rancid
| 1 2 3 4 5 6 7 8 9 10 | yum install rancid ... --> Обработка зависимостей: perl(newgetopt.pl) пакета: rancid-3.2-2.el7.x86_64  --> Проверка зависимостей окончена  Ошибка: Пакет: rancid-3.2-2.el7.x86_64 (epel)  Необходимо: perl(newgetopt.pl)  Вы можете попробовать --skip-broken чтобы обойти проблему  Вы можете попробовать запустить: rpm -Va --nofiles --nodigest | 
Решение такое (вроде ни чего не развалилось и все заработало)
| 1 2 3 4 | yum install rpmrebuild rpmrebuild -e perl-Getopt-Long-2.40-2.el7.noarch | 
Добавил строку Provides: perl(newgetopt.pl) перед Provides: perl(Getopt::Long) = 2.40 и собрал пакет
| 1 2 3 4 | Do you want to continue ? (y/N) y  result: /root/rpmbuild/RPMS/noarch/perl-Getopt-Long-2.40-2.el7.noarch.rpm | 
Удалил существующий пакет perl-Getopt-Long
| 1 2 3 | rpm -e --nodeps perl-Getopt-Long | 
И установил собранный
| 1 2 3 | rpm -ivh /root/rpmbuild/RPMS/noarch/perl-Getopt-Long-2.40-2.el7.noarch.rpm | 
Установка дополнительных пакетов
| 1 2 3 | yum install cvs telnet | 
Инсталляция Rancid прошла успешно
Настройка
Настроим /etc/rancid/rancid.conf
| 1 2 3 4 5 6 7 8 9 10 | #Домашняя директория BASEDIR=/var/rancid; export BASEDIR # Группы устройств LIST_OF_GROUPS="WLC Cisco Mikrotik" # Количество потоков PAR_COUNT=25; export PAR_COUNT | 
Создадим файл авторизации и зададим права на него
| 1 2 3 4 5 | /var/rancid/.cloginrc chmod 600 /var/rancid/.cloginrc chown rancid:rancid /var/rancid/.cloginrc | 
Содержимое /var/rancid/.cloginrc
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # Для WLC контроллера add user 192.168.15.1 root add password 192.168.15.1 PASSWORD_ROOT add noenable 192.168.15.1 1 add method 192.168.15.1 ssh add user 192.168.15.10 root add password 192.168.15.10 PASSWORD_ROOT add noenable 192.168.15.1 10 add method 192.168.15.10 ssh # Для сети Cisco # Зададим для подсетей основной пароль. Второй пароль на enable, там, где это необходимо add password 192.168.*.* PASS1 EN_PASS add user 192.168.*.* user_cisco # Сеть Mikrotik add user 10.10.*.* admin add password 10.10.*.* PASS_ADMIN # Для коммутаторов <span id="titlecisco2">SG300-10 10-Port Gigabit Managed Switch - нестандартное приглашение на авторизацию </span>  # И без Enable add noenable 192.168.51.192 1  add method 192.168.51.192  telnet add userprompt 192.168.51.192 {"\User | 
Возможно для совместимости остался файл /etc/rancid/rancid.types.conf в исполняемых файлах. Его копировать не обязательно
| 1 2 3 | cp /etc/rancid/rancid.types.base /etc/rancid/rancid.types.conf | 
Заходим под пользователем rancid и создаем репозитории
| 1 2 3 4 5 | su - rancid cd /usr/libexec/rancid/ ./rancid-cvs | 
Если что то не заводиться, можно посмотреть в логе /var/log/rancid в чем ошибка. Установка прав на файлы очень важный момент. Необходимо верно устанавливать разрешения. Так же стоит обратить внимание на PID-файл, который формируется при запуски задания — .Cisco.run.lock Он не удаляется при ошибочном завершении rancid-run, например при перезагрузке системы. Стоит подумать, о создании задания, по его удалению. Для того что бы пересоздать репозиторий. удаляем все подкаталоги в /var/rancid и повторно выполняем.
| 1 2 3 4 5 | su - rancid  cd /usr/libexec/rancid/  ./rancid-cvs | 
Добавим устройства в группы
/var/rancid/Cisco/router.db
192.168.8.1;cisco;up
192.168.8.3;cisco;up
192.168.8.4;cisco;up
/var/rancid/Mikrotik/router.db
10.10.58.3;mikrotik;up;»Mikrotik»
10.10.58.21;mikrotik;up;»Mikrotik»
10.10.58.22;mikrotik;up;»Mikrotik»
10.10.58.23;mikrotik;up;»Mikrotik»
10.10.58.20;mikrotik;up;»Mikrotik»
/var/rancid/WLC/router.db
192.168.15.1;cisco-wlc5;up;»WLC-DUST»
192.168.15.10;cisco-wlc5;up;»WLC-DUST»
Установка и настройка ViewVC
| 1 2 3 | yum install viewvc viewvc-httpd-wsgi | 
| 1 2 3 | chmod 751 /var/rancid | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | cat /etc/httpd/conf.d/viewvc-wsgi.conf | egrep -v '(#|^$)' WSGIScriptAlias /viewvc /usr/lib/python2.7/site-packages/viewvc/bin/wsgi/viewvc.wsgi Alias /viewvc-static /usr/share/viewvc/templates/docroot <Directory /usr/lib/python2.7/site-packages/viewvc/bin/wsgi>  Options -Indexes  <Files viewvc.wsgi>  <IfModule mod_authz_core.c>  Require all granted  </IfModule>  </Files> </Directory> <Directory /usr/share/viewvc/templates/docroot>  Options -Indexes  <IfModule mod_authz_core.c>  Require all granted  </IfModule> </Directory> | 
| 1 2 3 4 5 6 | cvs_roots = cvsroot: /var/rancid/CVS/ root_parents = /var/rancid/CVS/ : cvs service httpd restart | 
http://ip_server_rancid/viewvc
Дополнительно
Иногда бывает, что по той или иной причине rancid повисает, для этого в cron добавил завершение процессов и удаление lock файлов
		
| 1 2 3 4 5 6 7 8 9 | 0 0 * * * rancid killall -9 /usr/bin/expect 0 0 * * * rancid killall -9 control_rancid 0 0 * * * rancid killall -9 rancid-run 0 0 * * * rancid rm -f /tmp/.Mikrotik.run.lock 0 0 * * * rancid rm -f /tmp/.Cisco.run.lock 0 0 * * * rancid rm -f /tmp/.WLC.run.lock 0 8,12,16,20 * * * rancid /usr/libexec/rancid/rancid-run | 




 Загрузка...
 Загрузка...