Rancid: Difference between revisions
(29 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Sissejuhatus= | |||
Rancid jälgib võrguseadmete(ruuterid, switchid) konfiguratsiooni, sealhulgas ka tarkvara ning riistvara(liidesed, kaardid, serial numbrid jms) ja salvestab nende muutused kasutades selleks [http://cvshome.org/ CVS] või [http://subversion.tigris.org/ Subversion't]. Kasutades rancidit on võrguadministraatoril ülevaade võrguseadmetes tehtud muudatustest ning on säilitatud ka konfiguratsioonide koopiad, mida saab vajadusel taastamisel kasutada.<br> | |||
Rancid toimib üsna lihtsate protsesside jadana:<br><br> | |||
1. Logib igasse seadmesse, mis on kirjeldatud seadmete listis (router.db);<br> | |||
2. Sisestab erinevaid "show" käske mille tulemusena väljastatakse vajalik info;<br> | |||
3. Töötleb väljundit ja eemaldab mitteolulise info;<br> | |||
4. Vajadusel saadab toimunud muudatustest teavitus emaili etteantud aadressidele;<br> | |||
5. Salvestab muudatused muudatuste halduse süsteemi.<br> | |||
Hetkel on kõige uuem saadaolev rancid versioon 2.3.8. Versioonide uuendustega saab tutvuda [http://www.shrubbery.net/rancid/CHANGES siin].<br> | |||
Rancid on saadaval järgmistele operatsioonisüsteemidele:<br> | |||
-FreeBSD<br> | |||
-Linux<br> | |||
-OS X<br> | |||
-Solaris<br> | |||
Artikli kirjutamise hetke seisuga toetab rancid järgmiste tootjate võrguseadmeid: Cisco Anomaly Guard Module (AGM) | |||
Alteon WebOS switches, | |||
Arista Networks devices, | |||
Bay Networks (nortel), | |||
Cisco catalyst switches, | |||
Cisco content services switches, | |||
ADC-kentrox EZ-T3 mux, | |||
Force10, | |||
F5 BigIPs, | |||
Fortinet Firewalls, | |||
Foundry and HP procurve OEMs of Foundry, | |||
HP Procurve Switches, | |||
Hitachi Routers, | |||
Juniper Networks E-series, | |||
Juniper Networks, | |||
MRTd, | |||
MRV optical switches, | |||
Mikrotik routers, | |||
Netscreen firewalls, | |||
Lucent TNT, | |||
Extreme switches, | |||
Cisco IOS-XR boxes, | |||
Zebra routing software. | |||
=Eeldused= | |||
Artikli autor eeldab, et lugeja on tuttav linuxi käsurea käskudega ning omab mõningaid teadmisi võrgundusest.<br> | |||
Juhendi läbitöötamiseks on vajalik sobiva operatsioonisüsteemiga (vt. sissejuhatusest) masina ning ülalnimetatud tootja võrguseadme olemasolu.<br> | |||
Masinal peab olema instaleeritud veebiserveri tarkvara. | |||
Juhend on koostatud kasutades Ubuntu Linux Server't.<br> | |||
=Eeltöö= | |||
Esimese asjana on rangelt soovitatav luua kasutaja nimega rancid kuna turvakaalutlustel tuleks vältida rakenduse käivitumist juurkasutaja õigustes. | |||
<pre>adduser rancid --home /home/rancid</pre> | |||
Eelnevaga loodi kasutaja rancid ning omistati talle ka kodukataloog. Selles kaustas saavad asuma hiljem ka kõik loodavad failid. | |||
=Installeerimine= | |||
Laeme alla rancidi viimase versiooni [ftp://ftp.shrubbery.net/pub/rancid/rancid-2.3.8.tar.gz 2.3.8].<br> | |||
Pakime allalaetud fail lahti. | |||
<pre>tar xvfz rancid-2.3.8.tar.gz</pre> | |||
Seejärel on vaja instaleerida tööriista pakk, millega rancid kompileerida ja installeerida. | |||
<pre>apt-get install build-essential</pre> | |||
Nüüd oleme valmis rancidi installeerimiseks, selleks minge kausta, mille eelnevalt lahti pakkisite ning toimige järgnevalt: | |||
<pre>./configure --prefix=/home/rancid | |||
checkinstall | |||
</pre> | |||
Eelnev installeerib rancidi kasutaja rancid kodukataloogi /home/rancid.<br> | |||
Kui käsk "checkinstall" ei ole sinu süsteemis saadaval või soovid selle kohta rohkem teada siis leiad infot [http://openmaniak.com/checkinstall siit]. | |||
=Seadistamine= | |||
Alustame võrguseadmete gruppide loomisega. Looma peab vähemalt ühe grupi. Gruppide loomiseks peab seadistama faili /home/rancid/etc/rancid.conf<br> | |||
Lisades faili lõppu alloleva rea, luuakse grupp ruuterid, kus konfiguratsioone edaspidi hoidma hakatakse. | |||
<pre>LIST_OF_GROUPS="ruuterid"</pre> | |||
Kui hallata on suur hulk seadmeid siis on kasulik näiteks grupid luua vastavalt seadmete geograafilistele asukohtadele: | |||
<pre>LIST_OF_GROUPS="Tallinn Tartu Paide Muud"</pre> | |||
Gruppide nimed peavad olema eraldatud tühikutega. | |||
Järgmiseks on vaja konfigureerida fail .cloginrc, milles hoitakse paroole võrguseadmetele ligipääsemiseks. Selle faili loomiseks tuleb fail cloginrc.sample ümbernimetada .cloginrc. | |||
<pre>cp /home/rancid/share/rancid/cloginrc.sample /home/rancid/.cloginrc</pre> | |||
Vaikimisi on .cloginrc failis süntaksi näiteid, mis sisaldavad erinevate tootjate(Cisco, Juniper...) ja ühenduste (telnet, ssh) võimalusi.<br> | |||
Oma näites kasutame telnet'i ligipääsemiseks Cisco switchile, mille ip aadress on 10.156.1.1.<br> | |||
Ava tekstiredaktoriga fail /home/rancid/.cloginrc. | |||
Jäta iga rea ette, mida sa ei soovi kasutada, kommentaari märk #. Lisa faili allolev rida, kus loogeliste sulgude sees olevad väärtused asenda võrguseadme paroolidega. | |||
<pre>add password 10.156.1.1 {user_password} {enable_password}</pre> | |||
Ole faili .cloginrc õigustega väga ettevaatlik kuna paroolid, mida fail sisaldab ei ole krüpteeritud. Paroolide kaitsmiseks on mõistlik faili õigused piirata.<br> | |||
Selleks muudame failile juurdepääsuõigused 600 peale, mis tähendab, et omanikul on lugemis ja kirjutamis õigused ning teistel ei ole mingeid õiguseid.<br> | |||
Järgmiseks tuleb muuta kausta /home/rancid ja selle alamkaustade ning failide omanikuks kasutaja rancid. | |||
<pre> | |||
chmod 600 /home/rancid/.cloginrc | |||
chown -R rancid:rancid /home/rancid | |||
</pre> | |||
=CVS arhitektuuri loomine= | |||
Kui sa veel ei ole siis logi sisse kasutajana rancid. | |||
<pre>su rancid | |||
rancid@linux#/home/rancid/bin/rancid-cvs | |||
</pre> | |||
=Võrguseadmete lisamine= | |||
Lisa seadmed gruppi. Selleks ava tekstiredaktoriga fail /home/rancid/var/rancid/"grupi_nimi"/router.db, kus "grupi_nimi" on eelnevalt loodud grupp.<br> | |||
Seadme lisamise süntaks on järgmine:<br> | |||
"IP_AADRESS või FQDN":"SEADME_TÜÜP":"STAATUS"<br> | |||
Näiteks: | |||
<pre> | |||
10.156.1.1:cisco:up | |||
10.156.1.28:cisco:up | |||
</pre> | |||
Kontrolli kas faili /home/rancid/.cloginrc lisatud kasutaja andmed sobivad:<br> | |||
<pre> | |||
/home/rancid/bin/clogin 10.156.1.1 | |||
</pre> | |||
Edukas tulemus peaks olema taoline: | |||
<pre> | |||
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# | |||
</pre> | |||
=Käivitamine= | |||
Käivita rancid käsuga: | |||
<pre>/home/rancid/bin/rancid-run</pre> | |||
Logisid saad vaadata kaustast: /home/rancid/var/rancid/logs/<br> | |||
=CvsWeb= | |||
Järgmiseks tuleb luua keskkond kus seadmete konfiguratsioonid ka veebikaudu nähtavad on.<br> | |||
Faili /etc/cvsweb.conf tuleb lisada juurkasutaja õigustes lisada rida, et luua uus CVS repositoorium. Selleks leia üles rida, mis algab "@CVSrepositories" ja lisa järgnev rõhutatud rida: | |||
<pre> | |||
@CVSrepositories = ( | |||
#'local' => ['Local Repository', '/var/lib/cvs'], | |||
<b>'My_Config' => ['My Config', '/home/rancid/var/CVS'],</b> | |||
#'freeebsd' => ['FreeBSD', '/var/ncvs'], | |||
#'openbsd' => ['OpenBSD', '/var/ncvs'], | |||
#'netbsd' => ['NetBSD', '/var/ncvs'], | |||
#'ruby' => ['Ruby', '/var/anoncvs/ruby'], | |||
); | |||
</pre> | |||
Kui kaust, mis sisaldab cvsweb'i ikoone ja css faile ei asu kaustas /var/www, tuleb lisada <i>symbolic</i> link. | |||
<pre>ln -s /usr/share/cvsweb /var/www/cvsweb</pre> | |||
Nüüd tuleks tulemust testida veebilehitsejas, pöördudes aadressile http://127.0.0.1/cgi-bin/cvsweb | |||
= | =Lisaks= | ||
Lisavõimalustena on võimalik seadistada rancid saatma ka e-kirju võrguseadmetes toimunud muudatustest etteantud e-maili aadressidele. Samuti on võimalik rancid seadistada võrguseadmete konfiguratsioonimuudatusi kontrollima automaatselt ning etteantud intervalli tagant, selleks kasutatakse crontab'i. <br> | |||
Nende võimalustega tutvumiseks loe allpool leiduvat kirjandust. | |||
=Kasutatud kirjandus= | |||
1. http://www.shrubbery.net/rancid/<br> | |||
2. http://openmaniak.com/rancid_tutorial.php<br> | |||
=Autor= | |||
Meelis Kurnikov AK31<br> | |||
Aive Haavel AK31<br> | |||
Viimati redigeeritud 13.12.2012 |
Latest revision as of 20:01, 13 December 2012
Sissejuhatus
Rancid jälgib võrguseadmete(ruuterid, switchid) konfiguratsiooni, sealhulgas ka tarkvara ning riistvara(liidesed, kaardid, serial numbrid jms) ja salvestab nende muutused kasutades selleks CVS või Subversion't. Kasutades rancidit on võrguadministraatoril ülevaade võrguseadmetes tehtud muudatustest ning on säilitatud ka konfiguratsioonide koopiad, mida saab vajadusel taastamisel kasutada.
Rancid toimib üsna lihtsate protsesside jadana:
1. Logib igasse seadmesse, mis on kirjeldatud seadmete listis (router.db);
2. Sisestab erinevaid "show" käske mille tulemusena väljastatakse vajalik info;
3. Töötleb väljundit ja eemaldab mitteolulise info;
4. Vajadusel saadab toimunud muudatustest teavitus emaili etteantud aadressidele;
5. Salvestab muudatused muudatuste halduse süsteemi.
Hetkel on kõige uuem saadaolev rancid versioon 2.3.8. Versioonide uuendustega saab tutvuda siin.
Rancid on saadaval järgmistele operatsioonisüsteemidele:
-FreeBSD
-Linux
-OS X
-Solaris
Artikli kirjutamise hetke seisuga toetab rancid järgmiste tootjate võrguseadmeid: Cisco Anomaly Guard Module (AGM) Alteon WebOS switches, Arista Networks devices, Bay Networks (nortel), Cisco catalyst switches, Cisco content services switches, ADC-kentrox EZ-T3 mux, Force10, F5 BigIPs, Fortinet Firewalls, Foundry and HP procurve OEMs of Foundry, HP Procurve Switches, Hitachi Routers, Juniper Networks E-series, Juniper Networks, MRTd, MRV optical switches, Mikrotik routers, Netscreen firewalls, Lucent TNT, Extreme switches, Cisco IOS-XR boxes, Zebra routing software.
Eeldused
Artikli autor eeldab, et lugeja on tuttav linuxi käsurea käskudega ning omab mõningaid teadmisi võrgundusest.
Juhendi läbitöötamiseks on vajalik sobiva operatsioonisüsteemiga (vt. sissejuhatusest) masina ning ülalnimetatud tootja võrguseadme olemasolu.
Masinal peab olema instaleeritud veebiserveri tarkvara.
Juhend on koostatud kasutades Ubuntu Linux Server't.
Eeltöö
Esimese asjana on rangelt soovitatav luua kasutaja nimega rancid kuna turvakaalutlustel tuleks vältida rakenduse käivitumist juurkasutaja õigustes.
adduser rancid --home /home/rancid
Eelnevaga loodi kasutaja rancid ning omistati talle ka kodukataloog. Selles kaustas saavad asuma hiljem ka kõik loodavad failid.
Installeerimine
Laeme alla rancidi viimase versiooni 2.3.8.
Pakime allalaetud fail lahti.
tar xvfz rancid-2.3.8.tar.gz
Seejärel on vaja instaleerida tööriista pakk, millega rancid kompileerida ja installeerida.
apt-get install build-essential
Nüüd oleme valmis rancidi installeerimiseks, selleks minge kausta, mille eelnevalt lahti pakkisite ning toimige järgnevalt:
./configure --prefix=/home/rancid checkinstall
Eelnev installeerib rancidi kasutaja rancid kodukataloogi /home/rancid.
Kui käsk "checkinstall" ei ole sinu süsteemis saadaval või soovid selle kohta rohkem teada siis leiad infot siit.
Seadistamine
Alustame võrguseadmete gruppide loomisega. Looma peab vähemalt ühe grupi. Gruppide loomiseks peab seadistama faili /home/rancid/etc/rancid.conf
Lisades faili lõppu alloleva rea, luuakse grupp ruuterid, kus konfiguratsioone edaspidi hoidma hakatakse.
LIST_OF_GROUPS="ruuterid"
Kui hallata on suur hulk seadmeid siis on kasulik näiteks grupid luua vastavalt seadmete geograafilistele asukohtadele:
LIST_OF_GROUPS="Tallinn Tartu Paide Muud"
Gruppide nimed peavad olema eraldatud tühikutega.
Järgmiseks on vaja konfigureerida fail .cloginrc, milles hoitakse paroole võrguseadmetele ligipääsemiseks. Selle faili loomiseks tuleb fail cloginrc.sample ümbernimetada .cloginrc.
cp /home/rancid/share/rancid/cloginrc.sample /home/rancid/.cloginrc
Vaikimisi on .cloginrc failis süntaksi näiteid, mis sisaldavad erinevate tootjate(Cisco, Juniper...) ja ühenduste (telnet, ssh) võimalusi.
Oma näites kasutame telnet'i ligipääsemiseks Cisco switchile, mille ip aadress on 10.156.1.1.
Ava tekstiredaktoriga fail /home/rancid/.cloginrc.
Jäta iga rea ette, mida sa ei soovi kasutada, kommentaari märk #. Lisa faili allolev rida, kus loogeliste sulgude sees olevad väärtused asenda võrguseadme paroolidega.
add password 10.156.1.1 {user_password} {enable_password}
Ole faili .cloginrc õigustega väga ettevaatlik kuna paroolid, mida fail sisaldab ei ole krüpteeritud. Paroolide kaitsmiseks on mõistlik faili õigused piirata.
Selleks muudame failile juurdepääsuõigused 600 peale, mis tähendab, et omanikul on lugemis ja kirjutamis õigused ning teistel ei ole mingeid õiguseid.
Järgmiseks tuleb muuta kausta /home/rancid ja selle alamkaustade ning failide omanikuks kasutaja rancid.
chmod 600 /home/rancid/.cloginrc chown -R rancid:rancid /home/rancid
CVS arhitektuuri loomine
Kui sa veel ei ole siis logi sisse kasutajana rancid.
su rancid rancid@linux#/home/rancid/bin/rancid-cvs
Võrguseadmete lisamine
Lisa seadmed gruppi. Selleks ava tekstiredaktoriga fail /home/rancid/var/rancid/"grupi_nimi"/router.db, kus "grupi_nimi" on eelnevalt loodud grupp.
Seadme lisamise süntaks on järgmine:
"IP_AADRESS või FQDN":"SEADME_TÜÜP":"STAATUS"
Näiteks:
10.156.1.1:cisco:up 10.156.1.28:cisco:up
Kontrolli kas faili /home/rancid/.cloginrc lisatud kasutaja andmed sobivad:
/home/rancid/bin/clogin 10.156.1.1
Edukas tulemus peaks olema taoline:
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#
Käivitamine
Käivita rancid käsuga:
/home/rancid/bin/rancid-run
Logisid saad vaadata kaustast: /home/rancid/var/rancid/logs/
CvsWeb
Järgmiseks tuleb luua keskkond kus seadmete konfiguratsioonid ka veebikaudu nähtavad on.
Faili /etc/cvsweb.conf tuleb lisada juurkasutaja õigustes lisada rida, et luua uus CVS repositoorium. Selleks leia üles rida, mis algab "@CVSrepositories" ja lisa järgnev rõhutatud rida:
@CVSrepositories = ( #'local' => ['Local Repository', '/var/lib/cvs'], <b>'My_Config' => ['My Config', '/home/rancid/var/CVS'],</b> #'freeebsd' => ['FreeBSD', '/var/ncvs'], #'openbsd' => ['OpenBSD', '/var/ncvs'], #'netbsd' => ['NetBSD', '/var/ncvs'], #'ruby' => ['Ruby', '/var/anoncvs/ruby'], );
Kui kaust, mis sisaldab cvsweb'i ikoone ja css faile ei asu kaustas /var/www, tuleb lisada symbolic link.
ln -s /usr/share/cvsweb /var/www/cvsweb
Nüüd tuleks tulemust testida veebilehitsejas, pöördudes aadressile http://127.0.0.1/cgi-bin/cvsweb
Lisaks
Lisavõimalustena on võimalik seadistada rancid saatma ka e-kirju võrguseadmetes toimunud muudatustest etteantud e-maili aadressidele. Samuti on võimalik rancid seadistada võrguseadmete konfiguratsioonimuudatusi kontrollima automaatselt ning etteantud intervalli tagant, selleks kasutatakse crontab'i.
Nende võimalustega tutvumiseks loe allpool leiduvat kirjandust.
Kasutatud kirjandus
1. http://www.shrubbery.net/rancid/
2. http://openmaniak.com/rancid_tutorial.php
Autor
Meelis Kurnikov AK31
Aive Haavel AK31
Viimati redigeeritud 13.12.2012