This shows you the differences between two versions of the page.
saisp:labs:03:contents:04 [2014/03/09 19:25] mihai.carabas [04. SNMP server pe Linux] |
saisp:labs:03:contents:04 [2014/03/10 17:46] (current) alexandru.carp |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 04. SNMP server pe Linux ==== | + | ==== 04. [15p] SNMP server pe Linux ==== |
- | În exercițiul [[saisp:labs:03:contents:03|]] am configurat serverul de SNMP pe rutere CISCO. După cum am precizat anterior SNMP este implementat în general pe toate echipamentele, inclusiv pe sistemele Linux. Vom instala pachetul ''snmpd'' care conține serverul de SNMP:<code bash> | + | În exercițiul [[saisp:labs:03:contents:03|]] am configurat serverul de SNMP pe rutere CISCO. După cum am precizat anterior SNMP este implementat în general pe toate echipamentele, inclusiv pe sistemele Linux. |
+ | |||
+ | Pe statia ''gateway'', vom instala pachetul ''snmpd'' care conține serverul de SNMP:<code bash> | ||
root@gateway:~# apt-get install snmpd | root@gateway:~# apt-get install snmpd | ||
</code> | </code> | ||
- | În mod implicit acesta ascultă doar pe ''localhost''. Trebuie să modificăm linia ''agentAddress udp:127.0.0.1:161'' în ''agentAddress udp:161'' (pe orice intefață) din fișierul de configurare ale ''snmpd'' (''/etc/snmp/snmpd.conf'') și să resetăm daemonul (''/etc/init.d/snmpd restart''). | + | În mod implicit acesta ascultă doar pe ''localhost''. Trebuie să modificăm linia ''agentAddress udp:127.0.0.1:161'' în ''agentAddress udp:161'' (pe orice intefață) din fișierul de configurare al ''snmpd'' (''/etc/snmp/snmpd.conf'') și să resetăm daemonul (''/etc/init.d/snmpd restart''). |
Dorim să realizăm o interogare de pe stația ''monitor'' către stația ''gateway'' prin care să listăm toate interfețele:<code> | Dorim să realizăm o interogare de pe stația ''monitor'' către stația ''gateway'' prin care să listăm toate interfețele:<code> | ||
Line 46: | Line 48: | ||
Creați un script pe stația ''gateway'' care întoarce numărul de intrări din ''passwd'':<code bash> | Creați un script pe stația ''gateway'' care întoarce numărul de intrări din ''passwd'':<code bash> | ||
- | root@gateway:~# cat getUserNo | + | root@gateway:~# cat /tmp/getUserNo |
#!/bin/bash | #!/bin/bash | ||
echo Numarul de utilizatori din sistem este: $(getent passwd | wc -l) | echo Numarul de utilizatori din sistem este: $(getent passwd | wc -l) | ||
- | root@gateway:~# chmod +x getUserNo | + | root@gateway:~# chmod +x /tmp/getUserNo |
- | root@gateway:~# ./getUserNo | + | root@gateway:~# /tmp/getUserNo |
Numarul de utilizatori din sistem este: 26 | Numarul de utilizatori din sistem este: 26 | ||
</code> | </code> | ||
- | Dorim să exportăm rezultatul acestui script prin SNMP pentru ca stația ''monitor'' să poată să îl preia. În fișierul ''/etc/snmp/snmpd.conf'' avem la dispoziție comanda ''extend'' (''/extend''). Vom adăuga o nouă intrare de tipul ''extend'':<code> | + | Dorim să exportăm rezultatul acestui script prin SNMP pentru ca stația ''monitor'' să poată să îl preia. În fișierul ''/etc/snmp/snmpd.conf'' avem la dispoziție comanda ''extend'' (''/extend''). Vom adăuga o nouă intrare de tipul ''extend-sh'':<code> |
+ | root@gateway:~# cat /etc/snmp/snmpd.conf |grep getUser | ||
+ | extend-sh userNo /tmp/getUserNo | ||
+ | root@gateway:~# /etc/init.d/snmpd restart | ||
+ | [....] Restarting network management services:: snmpd | ||
+ | </code> | ||
+ | Conform comentariilor din ''snmpd.conf'' ieșirea scriptului este exportată prin proprietatea '' NET-SNMP-EXTEND-MIB::nsExtendOutput1Table'':<code bash> | ||
+ | root@monitor:~# snmpwalk -v2c -c public 192.168.1.3 NET-SNMP-EXTEND-MIB::nsExtendOutput1Table|grep userNo | ||
+ | NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."userNo" = STRING: Numarul de utilizatori din sistem este: 26 | ||
+ | NET-SNMP-EXTEND-MIB::nsExtendOutputFull."userNo" = STRING: Numarul de utilizatori din sistem este: 26 | ||
+ | NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."userNo" = INTEGER: 1 | ||
+ | NET-SNMP-EXTEND-MIB::nsExtendResult."userNo" = INTEGER: 0 | ||
</code> | </code> | ||
- | * SNMP - tutorial | + | După cum se vede scriptul este executat, iar output-ul acestuia este trimis prin SNMP. Adăugați un nou user pe stația ''gateway'' și executați interogarea de mai sus. Observați modificarea valorii la ''27''. |
- | * activare SNMP server pe linux | + | <solution -hidden> |
- | * crearea unei noi intrari care sa exporte valorile obtinute in urma executiei unui script custom | + | <code bash> |
+ | root@gateway:~# adduser test | ||
+ | [...] | ||
+ | root@monitor:~# snmpwalk -v2c -c public 192.168.1.3 NET-SNMP-EXTEND-MIB::nsExtendOutput1Table|grep userNo | ||
+ | NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."userNo" = STRING: Numarul de utilizatori din sistem este: 27 | ||
+ | </code> | ||
+ | </solution> |