Ceci est une ancienne révision du document !


RANCID : Really Awesome New Cisco confIg Differ

Rancid est un gestionnaire de configurations d'équipements réseau. Principalement destiné aux administrateurs réseau, il utilise une base CVS permettant de conserver un historique des configurations sauvegardées.

Le code source est fourni par Terrapin Communications, Inc. dont la licence est diffusée ici : Licence.

Les copyrights associés à Rancid exigent que cette licence soit diffusée avec les sources quelque soit le mode de redistribution de celles-ci, et le nom de la compagnie ne doit pas être utilisé en tant qu'argument de vente.

Cet article a été réalisé en utilisant la version 2.3.6 de Rancid.

Pré-requis

Dans cet article, nous supposons travailler sur une installation de base n'ayant pas de serveur CVS déjà installé.

Avant d'installer Rancid, il faut d'abord installer les paquets cvs cvsweb expect.

Parmis ces paquets figurent :

  • cvs : base CVS pour gérer le suivi de versions
  • cvsweb : interface web permettant d'accéder aux données CVS
  • expect : outil d'automatisation permettant de dérouler des scénarios
La configuration de ces paquets est couverte dans cet article, il n'est donc pas nécessaire de se reporter à leurs pages respectives.

Un serveur de mails doit également être configuré afin d'envoyer les rapports de sauvegardes aux mailing-lists associées aux groupes d'équipements : Installation d'un serveur mail.

Avant de poursuivre, il est important de tester la bonne configuration des services précédemment installés. Pour vérifier le fonctionnement de cvsweb, accéder à la page web en local http://127.0.0.1/cgi-bin/cvsweb/. Le message d'erreur ci-dessous devrait apparaittre :

Error: No valid CVS roots found! See @CVSrepositories in the configuration file (/etc/cvsweb/cvsweb.conf).

Comme le message l'indique, le serveur CVS n'est pas configuré. Cette étape sera traitée dans la section Configuration.

L'installation de cvsweb reconfigure automatique le serveur Apache2. Cependant, si l'accès à la page retourne une erreur du type 404 Not Found, veuillez vous reporter à la section Troubleshooting
Le dossier /var/www/cvsweb doit être créé lors de l'installation du paquet, si ce n'est pas le cas veuillez vous reporter à la section Troubleshooting

Depuis les sources

Cette section décrit l'installation de Rancid depuis les sources disponibles sur le site de Shrubbery Networks, Inc. : Rancid

cd /usr/src/
wget ftp://ftp.shrubbery.net/pub/rancid/rancid-2.3.6.tar.gz
tar xvzf rancid-2.3.6.tar.gz
./configure -prefix=/
sudo make install

Emplacement des fichiers

Une fois installé, les dossiers et fichiers se retrouve comme suit :

  • Scripts d'exécution :
/bin/[rancid-run,rancid-cvs,erancid,...]
  • Fichier de configuration principal :
/etc/rancid.conf
  • Base de données CVS :
/var/CVS
  • Fichiers de configuration des groupes et des équipements :
/var/[GROUPE]

Configuration de cvsweb

Une première étape est la configuration du serveur cvsweb. En effet, il faut lui spécifier le répertoire racine qu'il doit utiliser. Pour cela, il faut éditer le fichier /etc/cvsweb/cvsweb.conf et ajouter un répertoire racine comme indiqué dans l'exemple ci-dessous :

@CVSrepositories = (
        'Rancid'   => ['Rancid', '/var/CVS'],
);
Le chemin du répertoire racine indiqué doit correspondre à celui utilisé lors de l'Autoconf à l'installation. Par défaut, c'est /var/rancid, mais il peut être différent si vous avez spécifié les paramètres –prefix ou –localstatedir du script de configuration.

Création d'un groupe d'équipements

Rancid gère les équipements par groupe. Ainsi, pour chaque groupe sont associés des équipements, et des utilisateurs pour la réception des rapports de sauvegarde.

Ici nous allons créer un premier groupe GRP_SW_1. Pour cela, modifier le fichier de configuration /etc/rancid.conf et spécifier la valeur de LIST_OF_GROUP :

LIST_OF_GROUPS="GRP_SW_1"

La commande suivante doit ensuite être utilisée pour créer ce groupe dans la base CVS.

sudo rancid-cvs
La commande rancid-cvs doit être utilisée chaque fois qu'un groupe est ajouté, modifié ou supprimé dans le fichier de configuration /etc/rancid.conf

Désormais, le nouveau groupe doit apparaitre sur la page http://127.0.0.1/cgi-bin/cvsweb/.

Cette étape créé également un répertoire spécifique pour le groupe /var/GRP_SW_1, contenant les fichiers de configuration utilisés par Rancid. Ce répertoire dispose de droit d'accès très restrictifs 750 afin de protéger les différents paramètres d'authentification des équipements.

Ajouter un équipement dans un groupe

A compléter :

  • configuration des fichiers d'authentification (authentification par défaut, différentes options, inclusion de fichiers)
  • configuration des fichiers de données router.db (nom:type:statut)

Définir la mailing-list d'un groupe

Chaque groupe peut disposer d'une liste d'adresses mails où d'alias correspondant aux adresses mails des destinataires de rapports de sauvegarde. Pour chaque groupe, Rancid va considérer deux alias destinataires :

  • rancid-admin-[GROUPE]
  • rancid-[GROUPE]

Il faut donc faire correspondre, pour ces alias, les destinataires réels à utiliser pour l'envoi de mails. Cette correspondance s'effectue dans le fichier /etc/aliases. Une fois le fichier complété, le résultat devrait être similaire à cet exemple :

# Utilisateurs
usr1:usr1@no-company.com
usr2:usr2@no-company.com
admin:dsi-isr-mailinglist@no-company.com

# Alias utilisés par Rancid
rancid-GRP_SW_1:admin,usr1,usr2
rancid-admin-GRP_SW_1:admin

Pour tester la messagerie, veuillez vous référer à la documentation de la solution de messagerie que vous avez installé.

A compléter :

  • commandes de sauvegarde déclenchée généralisé et individuel : rancid-run
  • configuration d'une crontab

La suppression de Rancid dépend de la méthode d'installation. Cependant, dans les deux cas décrits ci-dessous les fichiers de configurations seront conservés.

Depuis les sources

Procéder comme indiqué ci-dessous :

cd /usr/src/rancid-2.3.6
make uninstall

Puis supprimer les paquets indiqués dans la section Installation s'ils ne sont plus requis ultérieurement. Le paquet expect est assez spécifique à l'utilisation de Rancid, il sera donc généralement à supprimer.

sudo apt-get remove expect

Par ailleurs, si l'historique des configurations ainsi que l'accès via l'interface web doivent être conservés, les paquets cvs cvsweb ne doivent être supprimés. Dans le cas contraire :

sudo apt-get remove cvs cvsweb

cvsweb

404 Not Found

En cas d'affichage de l'erreur 404 Not Found lors du chargement de la page web http://127.0.0.1/cgi-bin/cvsweb, cela signifie généralement que c'est le serveur Apache2 est mal configuré. Dans ce cas, il faut vérifier :

  • la présence du dossier cvsweb à l'emplacement /usr/lib/cgi-bin/
  • les droits d'accès en 755 sur le répertoire /usr/lib/cgi-bin/cvsweb
  • la bonne configuration du répertoire /usr/lib/cgi-bin/cvsweb dans le fichier /etc/apache2/sites-enabled/000-default
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

Lorsque ces 3 points ont été vérifiés, redémarrer le service Apache puis effectuer un nouveau test d'accès web.

sudo service apache2 restart

Répertoire "/var/www/cvsweb" inexistant, ou styles graphiques absents

L'interface graphique de cvsweb est supposée afficher des icônes et un style graphique plutôt sobre. Cependant, il arrive qu'au cours de l'installation le dossier contenant les objets et les styles graphiques ne doit pas copié au bon endroit.

Si le problème apparaît, il faut vérifier l'existence du répertoire /var/www/cvsweb. S'il n'existe pas, créer un lien symbolique vers le répertoire /usr/share/cvsweb

sudo ln -s /usr/share/cvsweb/ /var/www/cvsweb

Contributeurs : fdm

  • utilisateurs/fdm/index/rancid.1322487539.txt.gz
  • Dernière modification: Le 15/12/2011, 15:21
  • (modification externe)