TOTAL
Depuis Dec 2006
1'942'871 Visiteurs
4'218'042 Pages

Stats Nov 2010
82'909 Visiteurs
146'476 Pages
196 pays
Statistiques completes



Aidez-nous à traduire
nos tutoriaux!

REJOINGNEZ
l'équipe OpenManiak.
Rancid - Le Tutorial Facile - Configurations

Rancid Configurations
Dernière modif: Mar 16 2008


Outil
Installation
Ergonomie
Forum



Détails Rancid, c'est quoi?
Captures d'écran
Prérequis
Configurations
Autres



⚠️⚠️⚠️
Please check our website about
attractions in Western Switzerland !! (Please use english translation).

⚠️⚠️⚠️
Merci de consulter notre site sur les
activités à faire en Suisse romande !!


La première chose à faire est de créer un nouvel utilisateur appelé rancid afin d'éviter, pour des raisons de sécurité de lancer des applications avec l'utilisateur root.

#adduser rancid --home /home/rancid
Ceci va créer l'utilisateur rancid et en même temps un dossier rancid. L'utilisateur rancid est propriétaire de ce dossier.

Compilation du logiciel

Une fois que le logiciel rancid est télécharger depuis le site web de Shrubbery, décompresser le depuis le dossier où il a été téléchargé.

#tar xvfz rancid-2.3.1.tar.gz
Nous avons besoin d'installer les outils requis à la compilation d'un logiciel.

#apt-get install build-essential
Maintenant, nous pouvons compiler et installer Rancid. Pour ce faire, nous avons besoin d'accéder au nouveau dossier décompréssé:

#cd /home/user/Desktop/rancid-2.3.1
#./configure --prefix=/home/rancid
#checkinstall
Ceci va installer Rancid dans le dossier /home/rancid.
Si vous n'avez pas la commande checkinstall sur votre système ou si vous désirez des informations sur cet outil, redez-vous sur la page CheckInstall.


Maintenant, nous pouvons débuter le paramétrage de Rancid.
Nous allons configurer le fichier /home/rancid/etc/rancid.conf pour créer des groupes d'équipements. Au moins un groupe doit être configuré.

L'ajout des lignes ci-dessous crée un groupe appelé melting_pot où tous les configurations des équipements sont stockées:

LIST_OF_GROUPS="melting_pot"
Il peut être utile de créer plusieurs groupes si vous avez une grand nombre d'équipements et vous voulez les séparer par localisation géographique par exemple, pour améliorer la lisibilité.

LIST_OF_GROUPS="Dallas Boston Washington Other"
Les noms de groupe doivent être séparés par un espace.


Il est nécessaire de configurer un fichier appelé ".cloginrc" contenant les mot de passe nécessaire à accéder aux composants réseaux. Pour le créer, il faut renommer le fichier "cloginrc.sample" en ".cloginrc".

#cp /home/rancid/share/rancid/cloginrc.sample /home/rancid/.cloginrc
Ensuite, nous éditons le nouveau fichier ".cloginrc" où on peut trouver des exemples de syntaxe basées sur le type d'équipement (Cisco, Juniper, etc...) et de connexion (telnet, ssh, ...)
Dans notre exemple, nous allons utiliser telnet pour accéder à un switch Cisco ayant une adresse IP de 10.156.1.1
Ouvrez /home/rancid/.cloginrc

add password 10.156.1.1 {user_password} {enable_password}
Ajouter un # au début de chaque ligne à l'exception bien entendu des lignes qui paramètrent vos connexions.
Soyez EXTRÊMEMENT attentif avec les permissions du fichier .cloginrc parce que les mots de passe inclus dans ce fichier ne sont pas encryptés. donc le seul moyen de protéger ces mots de passe critiques est de restreindre les droits d'accès au fichier.
Pour le faire, changez les droits d'accès à 600, ce qui veut dire que le propriétaire du fichier a les permissions lecture et écriture tandis que les autres utilisateurs n'ont aucune permission du tout. Puis, la propriété du dossier /home/rancid ainsi que tous les fichiers et dossiers qu'il inclus est transféré à l'utilisateur rancid.

#chmod 600 /home/rancid/.cloginrc
#chown -R rancid:rancid /home/rancid


Création de l'architecture CVS:
Connectez-vous en temps que rancid:

#su rancid
rancid@linux#/home/rancid/bin/rancid-cvs
Ajouter des équipements aux groupes:
/home/rancid/var/rancid/"group_name"/router.db
La syntaxe est la suivante:
"ip_address or FQDN":"device_type":"status"

10.156.1.1:cisco:up
10.156.1.28:cisco:up
Un script permet de vérifier les paramétrages de connexion qui sont présents dans le fichier .cloginrc:

rancid@linux:~/bin$ /home/rancid/bin/clogin 10.156.1.1

10.156.1.1
spawn telnet 10.156.1.1
Trying 10.156.1.1...
Connected to 10.156.1.1.
Escape character is '^]'.

User Access Verification

Password:
Router>enable
Password:
Router#


Démarrez rancid:

rancid@linux#/home/rancid/bin/rancid-run
Vous pouvez vérifier les journaux (logs) dans le répertoire /home/rancid/var/rancid/logs/ .

Nous devons maintenant installer la plate-forme pour voir les configurations avec un navigateur web.


CvsWeb

Nous devons ajouter une ligne dans le fichier /etc/cvsweb.conf avec l'utilisateur root pour créer le nouveau dépôt (repository) CVS. Rechercher la ligne commençant par "@CVSrepositories" et ajouter les lignes en gras ci-dessous:

@CVSrepositories = (
#'local' => ['Local Repository', '/var/lib/cvs'],
'My_Config' => ['My Config', '/home/rancid/var/CVS'],
#'freeebsd' => ['FreeBSD', '/var/ncvs'],
#'openbsd' => ['OpenBSD', '/var/ncvs'],
#'netbsd' => ['NetBSD', '/var/ncvs'],
#'ruby' => ['Ruby', '/var/anoncvs/ruby'],
);
Si le dossier contenant les icônes csvweb et les fichiers css sont pas dans le dossier /var/www, il est nécessaire d'ajouter un lien symbolique:

#ln -s /usr/share/cvsweb /var/www/cvsweb
Nous pouvons tester l'interface cvsweb avec un navigateur internet comme Firefox ou Opéra (voire Internet Explorer):
http://127.0.0.1/cgi-bin/cvsweb


Optionnellement, vous pouvez configurer Rancid pour vous envoyer un mail quand une configuration a été changée après le lancement du script rancid-run.

La première chose à faire est d'installer Postfix avec:

#apt-get install postfix
Ensuite, il faut configurer Postfix afin qu'il puisse envoyer des mails vers la passerelle SMTP de votre compagnie. Cette machine va envoyer les courriels soit directement sur internet ou à l'intérieur de la société vers des serveurs de messagerie comme le serveur Lotus Notes d'IBM.
Pour ça, nous avons besoin de paramètrer le fichier de configuration de Postfix qui est /etc/postfix/main.cf .
Ajouter les paramètres suivants:

relayhost = FQDN_or_IP_addresse_of_your_smtp_gateway
Par exemple: relayhost = armageddon.dallas.us.qwertzy.com
Redémarrer postfix:

#/etc/init.d/postfix restart
Maintenant, nous pouvons tester si nous pouvons envoyer un mail avec succès depuis la machine SMTP locale:

#telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost ESMTP Postfix (Ubuntu)

ehlo mail
250-localhost
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250 8BITMIME

mail from: <test@test.com>
250 Ok
rcpt to: <votre_email@votre_compagnie.com>
250 Ok
data
354 End data with .
Subject: C'est un test !
Réveillez-vous!
.
250 Ok: queued as BD8261C01D4
quit
Connection closed by foreign host.
Vous devriez recevoir un mail.
Si vous avez un problème, regarder le fichier /var/log/mail.log. Pour voir les dernières lignes en temps réel:

#tail -f /var/log/mail.log
L'outil Rancid est paramètré pour envoyer des courriels à deux destinataires par groupe.

rancid-"nom_du_groupe"
rancid-admin-"nom_du_groupe"
Le premier destinataire ci-dessus va recevoir un rapport après un changement de configuration, le deuxième est envoyé quand il y a des messsages d'erreur.
Pour rappel. le ou les groupes sont configurés dans le fichier /home/rancid/etc/rancid.conf. Voir la rubrique création de groupes pour plus de détails.
Par exemple, si vous avez un groupe appelé melting_pot, les mails seront envoyés aux adresses rancid-melting_pot et rancid-admin-melting_pot.

La dernière chose à faire est de créer des aliases pour vos destinataires. Ouvrez le fichier /etc/aliases:

rancid-melting_pot
votre_email@votre_compagnie.com
rancid-admin-melting_pot
votre_email@votre_compagnie.com
Nous avons utilisés ici notre groupe exemple appelé melting_pot.

Pour terminer, initialiser la base de données d'alias:

#newaliases


Nous avons besoin de créer un cron job pour lancer rancid-run régulièrement.

crontab -e -u rancid

# Veuillez, svp, lancer le script rancid-run tous les jours à 00:30
30 00 * * * /home/rancid/bin/rancid-run
La commande crontab va mettre à jour le fichier /var/spool/cron/crontabs/rancid.

Vu sur le site debian-administration, la très utile commande "find" peut être ajoutée au crontab pour supprimer les anciens logs. La commande suivante supprime les fichiers de plus de 30 jours dans le dossier /home/rancid/var/logs/:

# supprime les anciens logs tous les premiers jours de chaque mois à 00:15
15 00 1 * * find /home/rancid/var/logs -type f -mtime +30 -exec rm {} \;
Pour plus d'informations sur crontab, jeter un coup d'oeil au site web de wikipedia.