Сайт продукта http://www.shrubbery.net/rancid/
Установка на CentOS 6
$ wget -c ftp://ftp.shrubbery.net/pub/rancid/rancid-2.3.8.tar.gz
$ yum install expect make cvs telnet
# Задаём каталог где хранить bin и db с логами
$ ./configure --prefix=/etc/rancid --localstatedir=/var/log/rancid
# Если нет checkinstall'a, то делаем $ make install и пропускаем установку rpm пакета
$ make
$ checkinstall --nodoc --install=yes -y --exclude=/selinux
/root/rpmbuild/RPMS/x86_64/rancid-2.3.8-1.x86_64.rpm
# Для установки:
$ rpm -i rancid-2.3.8-1.x86_64.rpm
# Для удаления:
$ rpm -e rancid-2.3.8-1
# Добавление группы и пользователя
$ groupadd netadm
$ useradd -g netadm -c "Networking Backups" -d /etc/rancid rancid
# Копируем конфигурационный файл и задаем права, в которых будут хранится пароли для подключения к устройствам
$ cp /etc/rancid/share/rancid/cloginrc.sample /etc/rancid/.cloginrc
$ chmod 0640 /etc/rancid/.cloginrc
$ chown -R rancid:netadm /etc/rancid/
$ chmod 770 /etc/rancid/
$ ls -la
# Задаём группу
$ vi /etc/rancid/etc/rancid.conf
LIST_OF_GROUPS="networking"
# Добавим почту
$ vi /etc/aliases
rancid-admin-networking: rancid-networking
rancid-networking: noc
noc: admin@company.ru
# Перезагружаем альяс
$ newaliases
# Зайдём под учёткой rancid и создадим базу
$ su – rancid
$ cd /etc/rancid/bin/
$ ./rancid-cvs
# Забиваем пароли для устройств (Рассмотрено четыре разных вариант, будьте внимательны, пароль со знаком $ нужно заключать в фигурные скобки)
$ vi /etc/rancid/.cloginrc
# R1
add user 172.16.0.1
add password 172.16.0.1 password
# R2
add user 172.16.0.2 login
add password 172.16.0.2 password
# R3
add user 172.16.0.3 login
add password 172.16.0.3 password enpassword
# R4
add user 172.16.0.* login
add password 172.16.0.* {pa$$word} {enpa$$word}
# Проверка подключения
$ cd /etc/rancid/bin/
$ ./clogin 172.16.10.1
# Если подключение прошло, то дальше нужно добавить наши свичи в базу. Указывается IP, производитель, статус (подключаться/неподключаться) и маленький коментарий для себя
$ vi /var/log/rancid/networking/router.db
172.16.0.14:cisco:up:R4
172.16.0.13:cisco:up:R3
172.16.0.12:hp:up:R2
172.16.0.11:hp:down:R1
# Установка web морды для отслеживания информации из броузера
# Install RCS
$ yum install rcs
# Install ViewVC
$ wget http://viewvc.tigris.org/files/documents/3330/49275/viewvc-1.1.20.tar.gz
$ tar zxvf viewvc-1.1.20.tar.gz
$ ./viewvc-install
/etc/viewvc
$ vi /etc/viewvc/viewvc.conf
root_parents = /var/log/rancid/CVS : cvs
rcs_dir = /usr/bin/
address = <a href="mailto:admin@company.ru">IT Support</a>
$ cp /etc/viewvc/bin/cgi/*.cgi /var/www/cgi-bin/
$ chmod +x /var/www/cgi-bin/*.cgi
$ chown apache:apache /var/www/cgi-bin/*.cgi
$ vi /etc/httpd/conf/httpd.conf
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /viewvc /var/www/cgi-bin/viewvc.cgi
ScriptAlias /query /var/www/cgi-bin/query.cgi
$ service httpd restart
$ cd /etc/viewvc/bin
$ ./make-database
$ vi /etc/viewvc/viewvc.conf
[cvsdb]
enabled = 1
host = localhost
port = 3306
database_name = ViewVC
user = username
passwd = passsword
readonly_user = username
readonly_passwd = password
row_limit = 1000
$ ./cvsdbadmin rebuild /var/log/rancid/CVS/CVSROOT/
# Создаем правило для apache
$ vi /etc/sysconfig/iptables
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p udp --dport 80 -j ACCEPT
# Создаем расписание. Запуск каждый час
$ vi /etc/crontab
# Run the Script every hours
1 * * * * rancid /etc/rancid/bin/rancid-run
# Deleting old logs
# 50 23 * * * root /usr/bin/find /var/log/rancid/logs -type f -mtime +2 -exec rm {} \;
# Перезагрузка службы
$ service crond restart
У меня бэкапятся только CISCO. HP почему-то не хочет. Если у кого работает для HP, прошу отписать..
./rancid-cvs
ОтветитьУдалитьcvs [init aborted]: cannot make directory /var/log/rancid/CVS: Permission denied
mkdir: cannot create directory `logs': Permission denied
mkdir: cannot create directory `/var/log/rancid/networking': Permission denied
./rancid-cvs: line 134: cd: /var/log/rancid/networking: No such file or directory
cvs [import aborted]: /var/log/rancid/CVS/CVSROOT: No such file or directory
cvs [checkout aborted]: /var/log/rancid/CVS/CVSROOT: No such file or directory
./rancid-cvs: line 147: cd: /var/log/rancid/networking: No such file or directory
mkdir: cannot create directory `configs': Permission denied
cvs [add aborted]: /var/log/rancid/CVS/CVSROOT: No such file or directory
cvs [commit aborted]: /var/log/rancid/CVS/CVSROOT: No such file or directory
touch: cannot touch `routers.all': Permission denied
touch: cannot touch `routers.down': Permission denied
touch: cannot touch `routers.up': Permission denied
touch: cannot touch `router.db': Permission denied
cvs [add aborted]: /var/log/rancid/CVS/CVSROOT: No such file or directory
cvs [commit aborted]: /var/log/rancid/CVS/CVSROOT: No such file or directory
От пользователя rancid запускаете?
ОтветитьУдалитьПокажите какие права имеет файл
Запускаю скрипт от пользователя "rancid";
ОтветитьУдалить-rwxr-xr-x 1 rancid netadm 4662 Oct 26 05:10 rancid-cvs
Заработало вот так:
ОтветитьУдалитьchown -R rancid:netadm /var/log/rancid/
Тут:
ОтветитьУдалить/var/log/rancid/networking/configs
не появляется ни одного бекапа циски после запущенной вручную команды /etc/rancid/bin/rancid-run (от пользователя rancid)
help!)
Должны появиться
ОтветитьУдалить172.16.0.1
172.16.0.2
172.16.0.3
172.16.0.4
Проверка подключения работает.
# Проверка подключения
$ cd /etc/rancid/bin/
$ ./clogin 172.16.0.1
на циску телнетится
Проходит? /etc/rancid/bin/clogin IP_SWITCH
ОтветитьУдалитьПрописана ли база с адресами оборудования? /var/log/rancid/networking/router.db
Так /etc/rancid/bin/clogin IP_SWITCH подключается;
ОтветитьУдалитьбаза router.db прописана
доброго дня!
ОтветитьУдалитья обновил rancid до версии 3
теперь в третьей версии перестали опрашиваться маршрутизаторы Huawei. кто нибудь сталкивался с такой проблемой?
заранее спасибо!
Всем доброго дня!
ОтветитьУдалитьВопрос касательно записи спарсенных данных в файл. Опрашивать предполагается корзины Alcatel ISAM 7302. Конфиг корзины разбит на блоки примерно так:
configure
#-------------------------------------------------------------
echo "ip"
#-------------------------------------------------------------
ip
vlan-bind 906 layer3-itf 0
exit
vrf 1 name routed
mode router
network-itf 906
arp-policy trusted
unnumbered
exit
exit
shub
vrf 0 name defaultVRF slow-path-mode
routing-option
exit
exit
vrf 1 name routed fast-path-mode:ena-user-user-com
routing-option
exit
exit
arp
cache-retry-time 10
exit
exit
exit
На Гитхабе (https://github.com/buraglio/alurancid) был найден более-менее рабочий скрипт для маршрутизаторов 77-й серии. Скрипт логинится на корзине, отправляет команду, парсит и пишет в файл. Но пишет криво:
configure
#--------------------------------------------------------------
echo "ip"
#--------------------------------------------------------------
- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D [1Dip
vlan-bind 906 layer3-itf 0
- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D/ [1D [1Dexit
vrf 1 name routed
mode router
- [1D\ [1D| [1D/ [1D- [1D\ [1D [1D network-itf 906
arp-policy trusted
unnumbered
- [1D\ [1D| [1D/ [1D- [1D\ [1D| [1D/ [1D [1D exit
- [1D\ [1D| [1D/ [1D [1Dexit
shub
vrf 0 name defaultVRF slow-path-mode
routing-option
exit
- [1D\ [1D [1D exit
vrf 1 name routed fast-path-mode:ena-user-user-com
routing-option
exit
exit
arp
cache-retry-time 10
exit
exit
exit
Не силён в Перле, да и вообще в языках программирования... Подскажите пожалуйста, что за дрянь такая?..
Спасибо!
В общем, проблема была вот в чём: при выводе конфигурации маршрутизатор иногда "подвисал", при этом в окне консоли крутился символ ожидания - так называемый "пропеллер": \-/-\-/ - вот этот "пропеллер" и парсился скриптом в файл вывода в виде указанной выше белиберды.
УдалитьПодсказали мне решение - работает замечательно: в скрипт alurancid после строки
tr/\015//d;
добавляем строку:
s/(\W\S\S)1D//gs;
И "пропеллер" больше не пишется в файл вывода.