Création du serveur : 14 Novembre 2017
Auteurs : Thomas 'Nymous' Gaudin & Simon 'Ziman' Leder
Rôle : Sauvegarde des configuration des switchs
OS : Debian 8
Spécifications techniques :
/etc/apt/sources.list.d/jessie-backports.list
avec le contenu suivant :deb http://ftp2.fr.debian.org/debian jessie-backports main
(Vérifier avant que la version dans les dépôts officiels de debian n'a pas été mise à jour, à cette date c'est la 3.5.1.)
apt -t jessie-backports install rancid
conf ter
username rancid privilege 3 secret <rancidpassword>
rancid
privilege exec level 3 show running-config view full
show running-config view full
, et que show running-config
ne renvoie rien. /etc/rancid/rancid.conf
BASEDIR
RCSSYS=CVS;
en RCSSYS=git;
LIST_OF_GROUPS=“Switches”;
rancid
(su rancid
)cd
), qui devrait être /var/lib/rancid
(ça doit aussi être le même que celui défini comme BASEDIR
dans la conf, si l'un des deux change il faut changer l'autre !!)./bin/rancid-cvs
(si la commande n'est pas trouvée, les binaires sont dans /usr/lib/rancid/bin
, mais normalement un lien symbolique a été créé). La commande va créer les différents répertoires pour les git, les fichiers de conf par groupe de switches définis plus haut..cloginrc
(toujours dans /var/lib/rancid
).# Login configuration # Thomas 'Nymous' Gaudin, 08/01/2017 add autoenable * 1 add method * ssh add timeout * 90 add user * rancid add password * rancidpassword # Si besoin d'être admin sur le switch # Commenter la ligne autoenable dans ce cas #add user * rezoleo #add password * rezoleopassword enablepassword # Pour renseigner le mot de passe pour un switch en particulier #add user 172.30.64.22 rancid #add password 172.30.64.22 rancidpassword
La ligne autoenable
indique à rancid qu'il ne doit pas tenter de gagner des privilèges supplémentaires à la connexion (commande enable
en Cisco). Mettre à 1 si jamais le compte avec lequel il se connecte peut afficher la conf, mettre à 0 s'il faut faire des opérations en tant qu'admin.
La ligne timeout
est très importante, par défaut rancid n'attend pas assez et croit que les switchs sont inaccessibles.
<nom du groupe de switches>/router.db
# On peut utiliser des noms DNS swb2;cisco;up # Ou des adresses IP 172.30.64.23;cisco;up
Attention, ce sont bien des ;
et non des :
! (L'ancienne version de rancid utilisait des :
)
Bien penser à indiquer up
à la fin de chaque switch qu'on veut sauvegarder ; on peut les passer en down
pour que rancid remarque qu'il ne doit plus s'en occuper mais qu'il conserve leur conf dans le git (si on retire la ligne du switch, rancid considère qu'il n'existe plus et le supprime).
./bin/clogin <nom DNS ou IP du switch>
qu'on peut bien se connecter../bin/rancid-run
. Normalement, on reçoit un mail avec les diff depuis la dernière sauvegarde, et le git se remplit (dans CVS/<nom du groupe de switches>
. Si ça ne marche pas, regarder dans les logs, regarder l'output de la commande, regarder le mail envoyé…
Si tout marche bien, c'est parti pour automatiser tout ça ! On crée le compte rancid sur tous les switchs comme décrit plus haut, on met tous les switchs dans Switches/router.db
et tous les mots de passe dans .cloginrc
, on met le rancid-run
dans cron ou anacron, et roulez jeunesse !