Netdisco2

From ICO wiki

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
  • Netdisco2 kasutab mitmeid Perl sõltuvusteeke, mis on soovitatav eelnevalt installeerida
 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.

Kasutatud materjalid