This shows you the differences between two versions of the page.
saisp:labs:03:contents:04 [2014/03/09 23:33] alexandru.carp |
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. | Î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. | ||
Line 6: | Line 6: | ||
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 48: | 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> |