Sauvegarder la configuration de CISCO Catalyst, Nexus, AiroNet, PiX, ASA,... Peut devenir un casse tête, avec de gros réseaux informatiques qui comportent des dizaines d'équipements. Nicolargo présentait, sur son blog, la mise en oeuvre de sauvegardes TFTP. Je vous propose d'utiliser Rancid pour automatiser la mise en configuration CVS des backups CISCO.
Rancid permet d'automatiser la sauvegarde des équipements réseaux de plusieurs fabricants. Rancid réalise les sauvegardes dans un dépôt CVS ou Subversion, pour garder l'historique des changements de configuration. Dés lors qu'une modification est détectée, un email est envoyé. Les avantages sont donc multiples:
Ainsi, vous sécurisez vos équipements et configurations réseaux.
On attaque l'installation de Rancid pour backuper notre infrastructure CISCO :
sudo aptitude install rancid
Éditez le fichier /etc/rancid/rancid.conf, mettre dans la variable LIST_OF_GROUPS votre "découpage logique de votre réseau", pour moi, par exemple, les différents sites d'implantation de ma société :
LIST_OF_GROUPS="batiment1 batiment2 batiment3"
Ensuite, on démarre la création du repository CVS, avec les commandes :
rancid-run sudo su -c /var/lib/rancid/bin/rancid-cvs -s /bin/bash -l rancid
Le repository CVS Rancid est créé dans le répertoire /var/lib/rancid/
Pour chaque "découpage logique de votre réseau", vous édité le fichier /var/lib/rancid/
/var/lib/rancid/batiment1/router.db /var/lib/rancid/batiment2/router.db /var/lib/rancid/batiment3/router.db
Vous indiquez les adresses ip ou nom DNS des équipements CISCO qui doivent être pris en charge :
192.168.222.1:cisco:up switch-bat1.mondomaine.com:cisco:up wifi1-bat1.mondomaine.com:cisco:up catalyst-bat1.mondomaine.com:cisco:up
Vous éditez, maintenant, le fichier /var/lib/rancid/.cloginrc, qui va contenir les informations de login sur vos différents équipements : ATTENTION FICHIER SENSIBLE !!!
# Batiment 1 switch1 en SSH avec auto-enable add autoenable switch1-bat1.mondomaine.com 1 add method switch1-bat1.mondomaine.com ssh add user switch1-bat1.mondomaine.com root add password switch1-bat1.mondomaine.com passwdsshBatiment 1 wifi1 en telnet avec auto-enable
add autoenable wifi1-bat1.mondomaine.com 1 add method wifi1-bat1.mondomaine.com telnet add user wifi1-bat1.mondomaine.com adminPower add password wifi1-bat1.mondomaine.com asswdtelnet
Batiment 2 pix1 en ssh SANS auto-enable
add autoenable pix1-bat1.mondomaine.com 0 add method pix1-bat1.mondomaine.com ssh add user pix1-bat1.mondomaine.com rootMan add password pix1-bat1.mondomaine.com passwdssh passwdenable
Pour des raisons de sécurité, Rancid refusera de s’exécuter, si vous ne procédez pas aux modifications suivantes sur le fichier /var/lib/rancid/.cloginrc :
Avant d'automatiser les sauvegardes, je vous propose de vérifier votre configuration pour chaque équipement, pour voir si la connexion se passe correctement :
sudo su -c "/var/lib/rancid/bin/clogin \ -f /var/lib/rancid/.cloginrc -u root"
Vous avez vérifié toutes vos connexions, automatisons la sauvegarde, avec cron, éditez le fichier /etc/crontab et ajoutez les lignes suivantes :
# RANCID # run config differ hourly 1 * * * * rancid /usr/lib/rancid/bin/rancid-run # clean out config differ logs 50 23 * * * rancid /usr/bin/find \ /var/log/rancid -type f -mtime +2 -exec rm {} \;
Pour permettre l'envoie des emails de détection de changement de configuration, vous devez éditer le fichier /etc/aliases en ajoutant ces lignes :
rancid-bat1: email@mondomaine.com rancid-admin-bat1: email@mondomaine.com rancid-bat2: email@mondomaine.com rancid-admin-bat2: email@mondomaine.com rancid-bat3: email@mondomaine.com rancid-admin-bat3: email@mondomaine.com
Enfin, lancer la commande newaliases.
Pour lancer la vérification/sauvegarde des configurations CISCO avec Rancid manuellement, lancer la commande (cela peut durer plusieurs minutes suivant votre configuration) :
sudo su -c /var/lib/rancid/bin/rancid-run -s /bin/bash -l rancid
Pour visualiser, de façon simple, les configurations sauvegardées, je propose d'installer cvsweb avec la commande :
sudo aptitude install cvsweb
Ensuite je crée un lien symbolique, vers /var/www/, avec la commande :
ln -s /usr/share/cvsweb /var/www/cvsweb
Modifiez le fichier /etc/cvsweb/cvsweb.conf, en indiquant l'emplacement de votre repository Rancid :
'local' => ['Local Repository', '/var/lib/rancid/CVS/'],
Accéder au serveur web cvs, allez à l'adresse http://
Vue du serveur CVSWeb :
Vue de l’arborescence du découpage logique :
Vue des équipements CISCO :
Rancid est particulière bien adapter, à la sauvegarde de mon réseau CISCO, la gestion des configurations permet de revenir en arrière en cas de détection de problèmes, ou de fausses manipulations ! Vous renforcez ainsi la sécurité du système d'information, améliorez la qualité de service, limitez les interruptions de services, toujours néfaste pour le business !
Rancid supporte également les équipements suivants :
Device | Description |
alteon | An Alteon WebOS switches. |
baynet | A Bay Networks router. |
cat5 | A Cisco catalyst series 5000 and 4000 switches (i.e.: running the catalyst OS, not IOS). |
cisco | A Cisco router, PIX, or switch such as the 3500XL or 6000 running IOS (or IOS-like) OS. |
css | A Cisco content services switch. |
enterasys | An enterasys NAS. This is currently an alias for the riverstone device type. |
erx | A Juniper E-series edge router. |
Extreme | An Extreme switch. |
ezt3 | An ADC-Kentrox EZ-T3 mux. |
force10 | A Force10 router. |
foundry | A Foundry router, switch, or router-switch. This includes HP Procurve switches that are OEMs of Foundry products, such as the HP9304M. |
hitachi | A Hitachi routers. |
hp | A HP Procurve switch such as the 2524 or 4108 procurve switches. Also see the foundry type. |
mrtd | A host running the (merit) MRTd daemon. |
netscalar | A Netscalar load balancer. |
netscreen | A Netscreen firewall. |
redback | A Redback router, NAS, etc. |
tnt | A lucent TNT. |
zebra | Zebra routing software. |
riverstone | A Riverstone NAS or Cabletron (starting with version ~9.0.3) router. |
juniper | A Juniper router. |