Показаны сообщения с ярлыком rancid. Показать все сообщения
Показаны сообщения с ярлыком rancid. Показать все сообщения

понедельник, сентября 10, 2012

Стырил с какого-то сайта - массовое изменение конфигурации cisco оборудования
clogin -c 'conf t; no ip http server; no ip http secure-server; end; wr mem' $(find /usr/local/var/rancid -maxdepth 2 -name router.db -exec awk -F: '$3 == "up" && $2 == "cisco" && $1 !~ /^#/ {print $1}' {} +)

#cisco

вторник, октября 20, 2009

Допиливаю сборку конфигов с оборудования

По непонятным причинам, rancid, не мог собрать конфиги с двух железок и в логе постоянно писал - "End of run not found".
Оказалось, что забыл внести одну из команд в список разрешенных... странно, что всплыло только сейчас, спустя пять месяцев, после запуска системы (старт rancid).

Выявление проблемы:
Выясняем, что оборудование, для пользователя (и с сервера) доступно:
/usr/local/libexec/rancid/clogin hostName
hostName
spawn ssh -c 3des -x -l rancid_user hostName
rancid_user@thostName's password:
hostName#

А тут выясняем, почему отваливается:
/usr/local/libexec/rancid/rancid -d hostName
<skip>
HIT COMMAND:hostName#show env all
In ShowEnv: hostName#show env all
<skip>
hostName: End of run not found

Видно, что застревает на команде show env all.
Ага... сначала, подумал, что забыл добавить в разрешенные, однако, оказалось, что на разных версиях софта, команда пишется по разному...
На версиях 12.2.*, она так и есть - "show env all", а на 12.4.*, она выглядит "show environment all", а так как до tacacs команды доводятся полностью, одна и таже команда в консоли (show env all), на tacacs выглядит, для разных версий IOS по разному.
Ниже конфигурация пользователя, для tac_plus

user = rancid_user {
default service = deny
member = root_group
login = des "****"
service = exec {
priv-lvl=15
}
cmd = show {
permit boot
permit bootvar
permit c7200
permit "controllers*"
permit diag
permit diagbus
permit "env all"
permit "environment all"
permit "idprom backplane"
permit "install active"
permit flash
permit "gsr chassis"
permit module
permit running-config
permit "redundancy secondary"
permit "rsp chassis-info"
permit "spe version"
permit "variables boot"
permit version
permit vlan
permit "vtp status"
deny .*
}
cmd = write {
permit "terminal"
deny .*
}
cmd = dir {
permit .*
}

среда, июня 03, 2009

Автоматизированный backup конфигов с Сisco - Rancid

Заморочился приведением в порядок документации, конфигов и всего остального по сети.
Нашел все таки нормальную систему сбора конфигураций с оборудования.
Rancid - заходит на железо по telnet/ssh, вроде умеет rlogin (по моему rlogin уже давно не интересен) - http://www.shrubbery.net/rancid/.
Забирает конфиги, складывает локально в cvs, финальную сборку конфига каждой железки кладет файлом, понимает и умеет обращаться с железом разных производителей (cisco, juniper, nortel, etc), т.е. собирает разные версии, хранит в cvs, различия версий отправляет на почту.
Вылезла ошибка о невозможности найти окончание кофига, думал проблема с terminal length и постраничным выводом конфига, оказалось не все команды разрешил в tacacs.
Наткнулся на проблему с отправкой уведомлений об изменении конфигурации, оказалось запретил в pf обращение к локальному почтовику (localhost).
Единственная реальная сложность, которая меня коснулась в том, что Rancid, не знает новое оборудование cisco, т.к. давно не обновляется, но и это решаемо, есть патчи
http://www.packetmischief.ca/code/rancid/