Rancid

From HackerNet
Jump to: navigation, search

Really Awesome New Cisco confIg Differ är ett verktyg för versionshantering av konfigurationsfiler på nätverksutrustning. Programvaran är skapad av Shrubbery Networks.

Rancid kan användas för följande:

  • Backup och lagring av konfigurationsfiler
  • Jämförelse av konfiguration
  • Versionsarkivering av konfiguration

Rancid kan hjälpa till i arbetet med följande frågor:

  • Hur vet du när en förändring sker?
  • Vad gör du när en förändring sker?
  • Kan du korrelera nätverkshändelser med ändringar?
  • Upprätthåller du en "basline" eller sätter en konfigurationsstandard?

Installation

sudo apt-get install rancid subversion postfix

Rancid-användare skapas under installationen.

Konfiguration

Filer

  • /etc/rancid/ # Config file
  • /var/lib/rancid/ # Most other files
  • /var/lib/rancid/[gruppnamn]/router.db # Devices list

Byt från cvs till subversion samt skapa grupper för dina enheter

sudo sed -i.bak 's/RCSSYS=cvs; export RCSSYS/RCSSYS=svn; export RCSSYS/g' /etc/rancid/rancid.conf
sudo sed -i 's#CVSROOT=$BASEDIR/CVS; export CVSROOT#CVSROOT=$BASEDIR/svn; export CVSROOT#g' /etc/rancid/rancid.conf
echo "LIST_OF_GROUPS="routers switches fws"" | sudo tee -a /etc/rancid/rancid.conf

Skapa rancid-användare

sudo chown -R rancid:rancid /var/lib/rancid
sudo su -s /bin/bash rancid

User rancid

cd && nano .cloginrc
add autoenable * 1
add method * ssh
add user * cisco
add password * cisco cisco
chmod 600 .cloginrc

Add devices

nano /var/lib/rancid/switches/router.db
192.168.0.100:cisco:up
sw01.local:cisco:up
10.0.0.10:hp:up

Testa inlogg

/var/lib/rancid/bin/clogin 172.20.0.100

SVN

Lagra i SVN repo. Går även att köra med cvs.

su – rancid 
/var/lib/rancid/bin/rancid-cvs

Kör igång

/usr/lib/rancid/bin/rancid-run

Schemaläggning

su - rancid
crontab -e
0 * * * * /opt/rancid/bin/rancid-run
0 1 * * * find /opt/rancid/var/logs -type f -mtime +30 -exec rm {} \; # Slang gamla loggar

CVSWeb

Endast om man valde cvs.

sudo apt-get install cvsweb

WebSVN

sudo apt-get install websvn

path: /var/lib/rancid/svn
repo: /var/lib/rancid/svn

ln -s /etc/websvn/apache.conf /etc/apache2/conf-available/websvn.conf
a2enconf websvn.conf
service apache2 reload
chgrp -R www-data /var/lib/rancid/svn
chmod g+w -R /var/lib/rancid/svn

http://172.20.0.10/websvn

Mailnotifiering

Postfix

sudo nano /etc/aliases
rancid-routers:     sysadm
rancid-admin-routers:   sysadm
sudo newaliases

Dokumentation

http://www.routereflector.com/2013/09/configuration-versioning-using-rancid/
https://networklore.com/rancid-getting-started/
http://www.itnotes.eu/?p=365
http://www.richardyau.com/?p=11