Difference between revisions of "Rancid"

From HackerNet
Jump to: navigation, search
m
Line 1: Line 1:
Really Awesome New Cisco confIg Differ är ett verktyg för versionshantering av konfigurationsfiler på nätverksutrustning. Programvaran är skapad av Shrubbery Networks.
+
Really Awesome New Cisco confIg Differ är ett verktyg för versionshantering av konfigurationsfiler på nätverksutrustning. Programvaran tillhandahålls av [http://www.shrubbery.net/rancid/ Shrubbery Networks].
  
 
Rancid kan användas för följande:
 
Rancid kan användas för följande:
Line 15: Line 15:
 
  sudo apt-get -y install rancid subversion postfix
 
  sudo apt-get -y install rancid subversion postfix
 
Rancid-användare skapas under installationen.
 
Rancid-användare skapas under installationen.
 +
apt-cache show rancid | grep Version
  
 
==Konfiguration==
 
==Konfiguration==
 
Filer
 
Filer
* /etc/rancid/ # Config file
+
* /etc/rancid/ #Config file
* /var/lib/rancid/ # Most other files
+
* /var/lib/rancid/ #Most other files
* /var/lib/rancid/[gruppnamn]/router.db # Devices list
+
* /var/lib/rancid/[gruppnamn]/router.db #Devices list
  
 
Byt från cvs till subversion samt skapa grupper för dina enheter
 
Byt från cvs till subversion samt skapa grupper för dina enheter
Line 45: Line 46:
 
  add user * cisco
 
  add user * cisco
 
  add password * {cisco} {cisco}
 
  add password * {cisco} {cisco}
 +
 
  chmod 600 .cloginrc
 
  chmod 600 .cloginrc
  
Line 63: Line 65:
 
  /usr/lib/rancid/bin/rancid-run
 
  /usr/lib/rancid/bin/rancid-run
  
==Schemaläggning==
+
===Schemaläggning===
 
  su - rancid
 
  su - rancid
 
  crontab -e
 
  crontab -e
Line 69: Line 71:
 
  0 1 * * * find /opt/rancid/var/logs -type f -mtime +30 -exec rm {} \; # Slang gamla loggar
 
  0 1 * * * find /opt/rancid/var/logs -type f -mtime +30 -exec rm {} \; # Slang gamla loggar
  
==CVSWeb==
+
==Web GUI==
 +
'''CVSWeb''' <br/>
 
Endast om man valde cvs.
 
Endast om man valde cvs.
 
  sudo apt-get -y install cvsweb
 
  sudo apt-get -y install cvsweb
  
==WebSVN==
+
===WebSVN===
 
  sudo apt-get -y install websvn
 
  sudo apt-get -y install websvn
 
path: /var/lib/rancid/svn<br/>
 
path: /var/lib/rancid/svn<br/>
Line 85: Line 88:
 
http://172.20.0.10/websvn
 
http://172.20.0.10/websvn
  
===Auth===
+
'''Auth''' <br/>
 
HTTP authentication för /websvn
 
HTTP authentication för /websvn
 
  sudo apt-get -y install apache2-utils
 
  sudo apt-get -y install apache2-utils
Line 99: Line 102:
 
  sudo service apache2 reload
 
  sudo service apache2 reload
  
===Others===
+
'''Others''' <br/>
 
"ln: failed to create symbolic link ‘/etc/apache2/conf.d/websvn’: No such file or directory"<br/>  
 
"ln: failed to create symbolic link ‘/etc/apache2/conf.d/websvn’: No such file or directory"<br/>  
 
workaround:
 
workaround:

Revision as of 15:11, 29 June 2016

Really Awesome New Cisco confIg Differ är ett verktyg för versionshantering av konfigurationsfiler på nätverksutrustning. Programvaran tillhandahålls 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 -y install rancid subversion postfix

Rancid-användare skapas under installationen.

apt-cache show rancid | grep Version

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

Slipp att det räknas som en ändring varje gång en loggfil ändrar storlek. Modifiera /var/lib/rancid/bin/rancid (kan behövas kommenteras ut fler beroende på enhet, man får testa sig fram)

#{‘dir /all bootflash:’         => ‘DirSlotN’},
#{'dir /all disk0:'             => 'DirSlotN'},

Don't strip passwords

sudo sed -i 's/FILTER_PWDS=YES/FILTER_PWDS=NO/g' /etc/rancid/rancid.conf

Fixa rättigheter

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

User rancid

cd && nano .cloginrc
#add autoenable * 1
add cyphertype * {aes256-cbc}
add method * ssh
add user * cisco
add password * {cisco} {cisco}

chmod 600 .cloginrc

Testa inlogg

/var/lib/rancid/bin/clogin 172.20.0.100

SVN

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

/var/lib/rancid/bin/rancid-cvs

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

Kör igång

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

Schemaläggning

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

Web GUI

CVSWeb
Endast om man valde cvs.

sudo apt-get -y install cvsweb

WebSVN

sudo apt-get -y install websvn

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

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

http://172.20.0.10/websvn

Auth
HTTP authentication för /websvn

sudo apt-get -y install apache2-utils
sudo htpasswd -c /opt/websvnpassword admin
sudo nano /etc/websvn/apache.conf
AuthType Basic
AuthName "Restricted Access"
AuthBasicProvider file
AuthUserFile /opt/websvnpassword
Require user admin
sudo service apache2 reload

Others
"ln: failed to create symbolic link ‘/etc/apache2/conf.d/websvn’: No such file or directory"
workaround:

sudo mkdir /etc/apache2/conf.d

Mailnotifiering

Postfix

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