Netdisco2: Difference between revisions
(31 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Sissejuhatus = | = Sissejuhatus = | ||
Autor: Kristjan Hinn, AK31 | |||
[[Netdisco2]] on uus versioon [[Netdisco]] vabavaralisele tarkvarale. Netdisco2 on veebipõhine ja avatud koodiga võrgu halduse lahendus. Peamisteks sihtgruppideks on suuremad firmad ja ülikoolid, kellel on kasutusel palju võrgujagureid. | [[Netdisco2]] on uus versioon [[Netdisco]] vabavaralisele tarkvarale. [[Netdisco2]] on veebipõhine ja avatud koodiga võrgu halduse lahendus. Peamisteks sihtgruppideks on suuremad firmad ja ülikoolid, kellel on kasutusel palju võrgujagureid. Lahendus <ref>http://www.netdisco.org/</ref> kasutab info kogumiseks [[SNMP]] protokolli ning andmete talletamiseks [[Postgresql]] andmebaasi. | ||
Peamised kasutamisvaldkonnad: | Peamised kasutamisvaldkonnad:<ref>https://metacpan.org/pod/App::Netdisco#DESCRIPTION</ref> | ||
* Otsing - võimaldab leida arvuti või seadme konkreetse võrgupordi MAC, IP või | * Otsing - võimaldab leida arvuti või seadme konkreetse võrgupordi MAC, IP või nime järgi. | ||
* Portide kontroll - võimaldab kiirelt välja ja sisse lülitada võrgujaguri porte ( | * Portide kontroll - võimaldab kiirelt välja ja sisse lülitada võrgujaguri porte (eeldab SNMP kirjutamise õigus) | ||
* Ülevaade seadmetest | * Ülevaade seadmetest | ||
* Raportid IP ja füüsiliste portide kasutuse kohta hetkel ja minevikus | * Raportid IP ja füüsiliste portide kasutuse kohta hetkel ja minevikus | ||
Line 11: | Line 12: | ||
= Toetatud platvormid = | = Toetatud platvormid = | ||
Kuna Netdisco2 on kirjutatud Perl programmeerimiskeeles, siis | Kuna [[Netdisco2]] on kirjutatud Perl programmeerimiskeeles, siis [[Netdisco2]] töötab teoreetiliselt mistahes operatsioonisüsteemil, kus [[Perl]] töötab. | ||
Tarkvara arendajad soovitatavad operatsioonisüsteeme: | Tarkvara arendajad soovitatavad operatsioonisüsteeme:<ref>https://metacpan.org/pod/App::Netdisco#Dependencies</ref> | ||
* Ubuntu/Debian | * Ubuntu/Debian | ||
* Fedora/Red-Hat | * Fedora/Red-Hat | ||
Line 24: | Line 25: | ||
* Läheme juurkasutajaks | * Läheme juurkasutajaks | ||
<source lang="bash"> | |||
sudo -i | sudo -i | ||
</source> | |||
* Uuendame uuenduste registri | * Uuendame uuenduste registri | ||
<source lang="bash"> | |||
apt-get update | apt-get update | ||
</source> | |||
* Installeerime viimased uuendused | * Installeerime viimased uuendused | ||
<source lang="bash"> | |||
apt-get upgrade | apt-get upgrade | ||
</source> | |||
* Installeerime Postgresql andmebaasimootori | * Installeerime Postgresql andmebaasimootori | ||
<source lang="bash"> | |||
apt-get install postgresql | apt-get install postgresql | ||
</source> | |||
* [[Netdisco2]] kasutab mitmeid [[Perl]] sõltuvusteeke, mis on soovitatav eelnevalt installeerida | |||
<source lang="bash"> | |||
apt-get install libdbd-pg-perl libsnmp-perl build-essential | apt-get install libdbd-pg-perl libsnmp-perl build-essential | ||
</source> | |||
* Loome kasutaja "netdisco" | |||
<source lang="bash"> | |||
useradd -m -p x -s /bin/bash netdisco | useradd -m -p x -s /bin/bash netdisco | ||
</source> | |||
* Loome Posgresql kasutaja ja andmebaasi | * Loome Posgresql kasutaja ja andmebaasi | ||
<source lang="bash"> | |||
su - postgres | su - postgres | ||
createuser -DRSP netdisco | createuser -DRSP netdisco | ||
createdb -O netdisco netdisco | createdb -O netdisco netdisco | ||
</source> | |||
== Installatsiooni protseduurid == | == Installatsiooni protseduurid == | ||
Line 54: | Line 73: | ||
* Läheme netdisco kasutajaks | * Läheme netdisco kasutajaks | ||
<source lang="bash"> | |||
su - netdisco | su - netdisco | ||
</source> | |||
* Käivitame installi | * Käivitame installi | ||
<source lang="bash"> | |||
curl -L http://cpanmin.us/ | perl - --notest --local-lib ~/perl5 App::Netdisco | curl -L http://cpanmin.us/ | perl - --notest --local-lib ~/perl5 App::Netdisco | ||
</source> | |||
* Teeme värkselt installeeritud Perl tarkvaradele mugavamaks ligipääsuks lingi kodukataloogi ~/bin kaustale | * Teeme värkselt installeeritud Perl tarkvaradele mugavamaks ligipääsuks lingi kodukataloogi ~/bin kaustale | ||
<source lang="bash"> | |||
mkdri ~/bin | mkdri ~/bin | ||
ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/ | ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/ | ||
</source> | |||
* Testime Netdisco deemonit | * Testime Netdisco deemonit | ||
<source lang="bash"> | |||
~/bin/netdisco-daemon status | ~/bin/netdisco-daemon status | ||
</source> | |||
Kui kõik toimib saame deemoni staatuseks "Stopped" | Kui kõik toimib saame deemoni staatuseks "Stopped" | ||
Line 74: | Line 102: | ||
* Loome kausta oma konfiguratsiooni faili asukohale ning kopeerime konfiguratsiooni faili näidise uude kausta | * Loome kausta oma konfiguratsiooni faili asukohale ning kopeerime konfiguratsiooni faili näidise uude kausta | ||
<source lang="bash"> | |||
mkdir ~/environments | mkdir ~/environments | ||
Line 80: | Line 108: | ||
chmod 600 ~/environments/deployment.yml | chmod 600 ~/environments/deployment.yml | ||
</source> | |||
* Avame konfiguratsiooni faili ning täiendame vastavalt | * Avame konfiguratsiooni faili ning täiendame vastavalt | ||
<source lang="bash"> | |||
nano ~/environments/deployment.yml | nano ~/environments/deployment.yml | ||
</source> | |||
* Muuda ära "Essential Settings" sektsioonis andmebaasi asukoha parameetrid: | * Muuda ära "Essential Settings" sektsioonis andmebaasi asukoha parameetrid: | ||
Line 117: | Line 146: | ||
* Teostame konfiguratsiooni ning loome vastavad andmebaasi muudatused | * Teostame konfiguratsiooni ning loome vastavad andmebaasi muudatused | ||
<source lang="bash"> | |||
~/bin/netdisco-deploy | ~/bin/netdisco-deploy | ||
</source> | |||
Kui tegemist on uue installatsiooniga, siis vasta kõigile küsimustele jaatavalt (yes) | Kui tegemist on uue installatsiooniga, siis vasta kõigile küsimustele jaatavalt (yes) | ||
Line 125: | Line 154: | ||
* Käivitame veebirakenduse | * Käivitame veebirakenduse | ||
<source lang="bash"> | |||
~/bin/netdisco-web start | |||
</source> | |||
* Käivitame netdisco deemoni | |||
<source lang="bash"> | |||
~/bin/netdisco-daemon start | |||
</source> | |||
* Käivita netdisco esmane seadmete otsing | |||
<source lang="bash"> | |||
~/bin/netdisco-do -D discover -d 192.0.2.1 | |||
</source> | |||
[[Netdisco2]] otsib etteantud seadme kaudu üles kõik võrguseadmed, mis selle konkreetse seadmega ühises topoloogias asuvad. [[Netdisco2]] kasutab võrguseadmete ''Layer 2'' topoloogia avastamiseks CDP ja LLDP protokolle. Juhul kui teil on seadmeid, mis ei ole konkreetse seadmega ''Layer 2'' avastamisprotokollide kaudu kättesaadavad, siis need seadmeks tuleb eraldi avastada. Selline tegevus on ühekordne ning vajalik uue ''Layer 2'' topoloogia tutvustamiseks. Edaspidi oskab [[Netdisco2]] ise topoloogiat uuendada ja muuta. | |||
= Kokkuvõtteks = | |||
[[Netdisco2]] on minu arvates ülimalt hea tööriist võrguadministraatoritele. Kõige olulisemaks pean ma tarkvara võimet tuvastada, millistes portides konkreetsed seadmed asuvad ning salvestada nende ajalugu. Sest reeglina võrguseadmed ei jäta aadresside tabelis pikaks ajaks meelde MAC aadresse ning kui seade pole pikemat aega võrgus olnud, siis hiljem seadmete asukohtade kohta tuvastada on võimatu. Samuti annab tarkvara hea ülevaate portide kasutuse kohta ning võrgujagurite tarkvaraversioonide kohta. Kuna netdisco kasutab NetBIOS protokolli, siis oskab ta võrgujagurist saadud MAC aadressi IP aadressiks ja nimeks lahendada ning selliselt on võimalik väga kiiresti tuvastada seadme või arvuti füüsilise asukoha suures võrgus. Enam ei pea tuhnima võrgujagurite MAC aadressi tabelites. | |||
= Kasutatud materjalid = | |||
<references /> | |||
* [http://netdisco2-demo.herokuapp.com/ Netdisco 2 demo] |
Latest revision as of 14:56, 10 January 2015
Sissejuhatus
Autor: Kristjan Hinn, AK31
Netdisco2 on uus versioon Netdisco vabavaralisele tarkvarale. Netdisco2 on veebipõhine ja avatud koodiga võrgu halduse lahendus. Peamisteks sihtgruppideks on suuremad firmad ja ülikoolid, kellel on kasutusel palju võrgujagureid. Lahendus [1] kasutab info kogumiseks SNMP protokolli ning andmete talletamiseks Postgresql andmebaasi.
Peamised kasutamisvaldkonnad:[2]
- Otsing - võimaldab leida arvuti või seadme konkreetse võrgupordi MAC, IP või nime järgi.
- Portide kontroll - võimaldab kiirelt välja ja sisse lülitada võrgujaguri porte (eeldab SNMP kirjutamise õigus)
- Ülevaade seadmetest
- Raportid IP ja füüsiliste portide kasutuse kohta hetkel ja minevikus
Toetatud platvormid
Kuna Netdisco2 on kirjutatud Perl programmeerimiskeeles, siis Netdisco2 töötab teoreetiliselt mistahes operatsioonisüsteemil, kus Perl töötab.
Tarkvara arendajad soovitatavad operatsioonisüsteeme:[3]
- Ubuntu/Debian
- Fedora/Red-Hat
Installeerimine
Intsallatsioon ja konfigureerimine eeldab kasutajalt head võrgu protokollide ning unix laadsete operatsioonisüsteemide tundmist. Antud juhend on kirjutatud Ubuntu 14.04.1 LTS operatsioonisüsteemi näitel.
Vajalikud eeldused
- Läheme juurkasutajaks
sudo -i
- Uuendame uuenduste registri
apt-get update
- Installeerime viimased uuendused
apt-get upgrade
- Installeerime Postgresql andmebaasimootori
apt-get install postgresql
apt-get install libdbd-pg-perl libsnmp-perl build-essential
- Loome kasutaja "netdisco"
useradd -m -p x -s /bin/bash netdisco
- Loome Posgresql kasutaja ja andmebaasi
su - postgres
createuser -DRSP netdisco
createdb -O netdisco netdisco
Installatsiooni protseduurid
Skript eeldab, et loodud on netdisco kasutaja koos kodukaustaga ning serveril on toimiv nimelahendus ja interneti ligipääs. Tarkvara installeeritakse netdisco kasutaja kodukausta ning skriptis luuakse ~/perl5 kaust.
- Läheme netdisco kasutajaks
su - netdisco
- Käivitame installi
curl -L http://cpanmin.us/ | perl - --notest --local-lib ~/perl5 App::Netdisco
- Teeme värkselt installeeritud Perl tarkvaradele mugavamaks ligipääsuks lingi kodukataloogi ~/bin kaustale
mkdri ~/bin
ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/
- Testime Netdisco deemonit
~/bin/netdisco-daemon status
Kui kõik toimib saame deemoni staatuseks "Stopped"
Konfigureerimine
- Loome kausta oma konfiguratsiooni faili asukohale ning kopeerime konfiguratsiooni faili näidise uude kausta
mkdir ~/environments
cp ~/perl5/lib/perl5/auto/share/dist/App-Netdisco/environments/deployment.yml ~/environments
chmod 600 ~/environments/deployment.yml
- Avame konfiguratsiooni faili ning täiendame vastavalt
nano ~/environments/deployment.yml
- Muuda ära "Essential Settings" sektsioonis andmebaasi asukoha parameetrid:
Näide:
# ------------------ # ESSENTIAL SETTINGS # ------------------ database: name: 'netdisco' user: 'netdisco' pass: 'kasutaja_parool' host: 'localhost'
- Seadistame FQDNS nime domeeni ja SNMP kommuuni stringid
# will be stripped from fqdn when displayed in the web UI # also, do not forget the leading dot. # ``````````````````````````````````````````````````````` domain_suffix: '.minudomeen.local'
# SNMP community string(s) # ```````````````````````` snmp_auth: - tag: 'switchide_readonly' community: 'mingi_string' read: true write: false
- Soovi korral võib seadistada ka automaatse seadmete tuvastuse schedule
- Teostame konfiguratsiooni ning loome vastavad andmebaasi muudatused
~/bin/netdisco-deploy
Kui tegemist on uue installatsiooniga, siis vasta kõigile küsimustele jaatavalt (yes)
Käivitamine
- Käivitame veebirakenduse
~/bin/netdisco-web start
- Käivitame netdisco deemoni
~/bin/netdisco-daemon start
- Käivita netdisco esmane seadmete otsing
~/bin/netdisco-do -D discover -d 192.0.2.1
Netdisco2 otsib etteantud seadme kaudu üles kõik võrguseadmed, mis selle konkreetse seadmega ühises topoloogias asuvad. Netdisco2 kasutab võrguseadmete Layer 2 topoloogia avastamiseks CDP ja LLDP protokolle. Juhul kui teil on seadmeid, mis ei ole konkreetse seadmega Layer 2 avastamisprotokollide kaudu kättesaadavad, siis need seadmeks tuleb eraldi avastada. Selline tegevus on ühekordne ning vajalik uue Layer 2 topoloogia tutvustamiseks. Edaspidi oskab Netdisco2 ise topoloogiat uuendada ja muuta.
Kokkuvõtteks
Netdisco2 on minu arvates ülimalt hea tööriist võrguadministraatoritele. Kõige olulisemaks pean ma tarkvara võimet tuvastada, millistes portides konkreetsed seadmed asuvad ning salvestada nende ajalugu. Sest reeglina võrguseadmed ei jäta aadresside tabelis pikaks ajaks meelde MAC aadresse ning kui seade pole pikemat aega võrgus olnud, siis hiljem seadmete asukohtade kohta tuvastada on võimatu. Samuti annab tarkvara hea ülevaate portide kasutuse kohta ning võrgujagurite tarkvaraversioonide kohta. Kuna netdisco kasutab NetBIOS protokolli, siis oskab ta võrgujagurist saadud MAC aadressi IP aadressiks ja nimeks lahendada ning selliselt on võimalik väga kiiresti tuvastada seadme või arvuti füüsilise asukoha suures võrgus. Enam ei pea tuhnima võrgujagurite MAC aadressi tabelites.