snmp_agent_uptime

Namen naloge

Hitra navodila

Naloga: Postavi tri navidezne racunalnike SimpleArbiter s sliko diska simpleArbiterDhcp,SNMPServer in SNMPClient. Napiši program upminutes, ki bo izpisal v minutah koliko casa je racunalnik vklopljen. Postavi ga na SNMPClient v domaÄŤi imenik uporabnika test z geslom test.

Poskrbi, da bo SNMP strežnik prek SNMP pod NET-SNMP-EXTEND-MIB::nsExtendOutput2Table sporočal, koliko časa je vklopljen v sekundah.

Napisi skripto, poimenovano beri.sh, ki prek SNMP prebere vrednost s streĹľnika SNMPServer na OID 1.3.6.1.4.1.8072.1.3.2.4.1.4. Postavi jo na SNMP klienta, v domači imenik uporabnika test z geslom test.

Navodila

Nastavitev VM VirtualBox-a

  1. Prenesi sledeče slike virtualk (*.vid) iz datoteke z slikami virtualk računalnikov:
    1. simpleArbiterDhcp.vdi
    2. neko-bash-konzolo.vdi (dvakrat), enkrat za SNMPServer in drugič SNMPClient.
  2. VM VirtualBox OPOZORILO! Ce hoces uporabljati isto sliko virtualke (neko-bash-konzolo.vdi) za dva navidezna racunalnika (SNMPServer in SNMPClient), moras spremeniti UUID ene od slik.
    1. Uporabi ta ukaz vboxmanage internalcommands sethduuid ime-diska.vdi za spreminjanje UUID (namig).
  3. Primer VM VirtualBox-a po nastavitvi.

Nastavitev SNMPServer virtualke

  1. Nasnemi snmpd and snmp orodja za pregledovanje podatkov, ki so no voljo preko SNMP.
    1. ukaz apt-get install snmpd snmp snmp-mibs-downloader
  2. PRIPOROCILO! Preden spreminjate vaso datoteko /etc/snmp/snmpd.conf, naredite kopijo originalne datoteke.
    1. ukaz cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
  3. Nastavi snmp streznik tako, da se bodo lahko nanj povezali drugi racunalniki (popravi datoteko snmpd.conf).
    1. ukaz nano /etc/snmp/snmpd.conf (lahko uporabis drug urejevalnik besedila)
    2. odkomentiraj sledece stiri vrstice:
      # Listen for connections from the local system only
      # agentAddress udp:127.0.0.1:161
      # Listen for connections on all interfaces (both IPv4 *and* IPv6)
      agentAddress udp:161,udp6:[::1]:161
  4. Dodaj skupino (community) racunalnikov, ki lahko dostopajo do vseh podatkov. To skupino bomo poimenovali students (spet potrebno spremeniti datoteko) snmpd.conf file.
    1. rocommunity students 0.0.0.0/0
    2. napisi pravilni naslov omrezja = ukaz ifconfig -a
  5. DODATNA (NEOBVEZNA) KONFIGURACIJA. Nizje v isti datoteki lahko nastavis lokacijo racunalnika, na katerem deluje snmp, ter ime administratorja.
    1. poisci pod # SYSTEM INFORMATION
  6. Poskrbi, da bo SNMP streznik prek SNMP pod NET-SNMP-EXTEND-MIB::nsExtendOutpucd k t2Table sporocal, koliko casa je vklopljen v sekundah.
    1. ustvari skripto upseconds, v kateri je zapisano sledece:
      #!/bin/bash
      uptime=$(</proc/uptime)
      seconds=${uptime%%.*}
      echo "Uptime in seconds:" $seconds
      exit 0

      skripto nato shrani kjerkoli hoces
    2. ne pozabi skripti dodelti pravic, da jo lahko zaganjamo:
      ukaz chmod +x /pot_do_skripte/upseconds
    3. Nato uredi datoteko snmpd.conf in pod # EXTENDING THE AGENT zakomentiraj vse tri teste ter dodaj svojo skripto upseconds. Zgledati bi moralo nekako tako:
      # extend test1 /bin/echo Hello, world!
      # extend-sh test2 echo Hello, world! ; echo Hi there ; exit 35
      # extend-sh test3 /bin/sh /tmp/shtest
      extend-sh "ime_testa" "pot_to_skripte_upseconds"
  7. Potrebno je ponovno zagnati snmp storitev.
    1. ukaz /etc/init.d/snmpd restart
  8. Lahko testiras svoje nastavitve preko localhost-a.
    1. ukaz snmpwalk localhost -c public -v1
  9. Stestiraj tudi, ali SNMP vrne pravilni cas delovanja (uptime) v sekundah pod NET-SNMP-EXTEND-MIB::nsExtendOutput2Table.
    1. ukaz snmpwalk -c students -v1 IPnaslovStreznika 1.3.6.1.4.1.8072.1.3.2.4.1.2
    2. moral bi vrniti taksen string: "Uptime in seconds: xyz"

Nastavitev SNMPClient virtualke

  1. Nasnemi snmpd and snmp paketa.
    1. ukaz apt-get install snmpd snmp
  2. PRIPOROCILO! Preden spreminjate vaso datoteko /etc/snmp/snmpd.conf, naredite kopijo originalne datoteke.
    1. ukaz cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
  3. Nastavi snmp streznik tako, da se bodo lahko nanj povezali drugi racunalniki (popravi datoteko snmpd.conf).
    1. ukaz nano /etc/snmp/snmpd.conf (lahko uporabis drug urejevalnik besedila)
    2. odkomentiraj sledece stiri vrstice:
      # Listen for connections from the local system only
      # agentAddress udp:127.0.0.1:161
      # Listen for connections on all interfaces (both IPv4 *and* IPv6)
      agentAddress udp:161,udp6:[::1]:161
  4. Dodaj skupino (community) racunalnikov, ki lahko dostopajo do vseh podatkov. To skupino bomo poimenovali students (spet potrebno spremeniti datoteko) snmpd.conf file.
    1. rocommunity students 0.0.0.0/0
    2. napisi pravilni naslov omrezja = ukaz ifconfig -a
  5. DODATNA (NEOBVEZNA) KONFIGURACIJA. Nizje v isti datoteki lahko nastavis lokacijo racunalnika, na katerem deluje snmp, ter ime administratorja.
    1. poisci pod # SYSTEM INFORMATION
  6. Potrebno je ponovno zagnati snmp storitev.
    1. ukaz /etc/init.d/snmpd restart
  7. Lahko testiras svoje nastavitve preko localhost-a.
    1. ukaz snmpwalk localhost -c public -v1
  8. Ustvari uporabnika test z geslom test
    1. ukaz adduser test
  9. Prijavi se kot uporabnik test ter naredi skripto upminutes v domacem direktoriju. Ta skripta naj izpisuje cas delovanja racunalnika (uptime) v minutah.
    1. ukaz nano upminutes (lahko uporabis drug urejevalnik besedila)
    2. dodaj sledeco kodo:
      #!/bin/bash
      uptime=$(</proc/uptime)
      uptime=${uptime%%.*}
      minutes=$(( uptime / 60 ))
      echo $minutes
      exit 0
    3. ne pozabi skripti dodelti pravic, da jo lahko zaganjamo:
      ukaz chmod +x /pot_do_skripte/upminutes
    4. stestiraj skripto (izpisovati bi morala cas delovanja racunalnika (uptime) v minutah)
      ukaz /home/test/upminutes
  10. Kot uporabnik test naredi se eno skripto beri.shm ki bere vrednosti od OID 1.3.6.1.4.1.8072.1.3.2.4.1.2. na SNMPServer. Shrani jo na SNMPClient v domac direktorij uporabnika test.
    1. ukaz nano beri.sh (lahko uporabis drug urejevalnik besedila)
    2. dodaj kodo:
      #!/bin/bash
      snmpwalk -c students -v1 IPnaslovStreznika 1.3.6.1.4.1.8072.1.3.2.4.1.2
      exit 0
    3. ne pozabi skripti dodelti pravic, da jo lahko zaganjamo:
      ukaz chmod +x /pot_do_skripte/upminutes