Konfiguracja SNMP na switchu Cisco 3550 i użycie snmpwalk w Linuksie

SNMP to rodzina protokołów, które zostały stworzone do zarządzania urządzeniami sieciowymi. Do komunikacji wykorzystywany jest głównie protokół UDP, rzadziej TCP. Typów wiadomości istnieje 7, najpopularniejsze służą do monitoringu i są to GET (walk) – UDP/161) i wyzwalane TRAP UDP/162).
Informs są wysyłane do klienta w momencie, gdy wyśle żądanie GET do serwera SNMP, TRAPy są wysyłane do klienta, gdy został spełniony jakiś warunek, np. zgasł port na switchu. SNMP doczekało się w tym momencie trzech wersji, z czego ostatnia, trzecia wspiera pełne uwierzytelnianie i szyfrowanie, czym została zlikwidowana jedyna dotychczasowa wada SNMP – brak bezpieczeństwa.

Utworzenie konfiguracji SNMP na switchu

enable
conf t
snmp-server community NazwaCommunity RO
snmp-server location AdresSwitcha
snmp-server contact NumerDoAdmina
snmp-server host AdresIPMonitoringu version 2c NazwaCommunity
exit
copy running-config startup-config

Tyle wystarczy po stronie switcha, teraz należy odpytać po SNMP urządzenie, aby sprawdzić czy wszystko działa.

snmpwalk -v 2c -c NazwaCommunity 10.1.66.2 system

Wynik

SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, C3550 Software (C3550-IPSERVICESK9-M), Version 12.2(44)SE6, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Mon 09-Mar-09 20:28 by gereddy
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.431
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (18395303) 2 days, 3:05:53.03
SNMPv2-MIB::sysContact.0 = STRING: NumerDoAdmina
SNMPv2-MIB::sysName.0 = STRING: SwitchTestowy01
SNMPv2-MIB::sysLocation.0 = STRING: AdresSwitcha
SNMPv2-MIB::sysServices.0 = INTEGER: 6
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00

Działa. Teraz spróbuję włączyć SNMP w wersji 3, z pełnym uwierzytelnianiem. Utworzę grupę z uprawnieniami do odczytu oraz użytkownika należącego do tej grupy

enable
conf t
snmp-server group SNMPv3ROUsers v3 priv
snmp-server user SNMPv3ROUser1 SNMPv3ROUsers v3 auth md5 3tTdfsfsdFSDfsdfsdFSDfsdfsd priv aes 128 efh3g89h389gh89h3gHFG
exit
copy running-config startup-config

Konfiguracja Wersji 3 SNMP ukończona, teraz czas na przetestowanie w linuksie.

snmpwalk -v 3 -l authPriv -u SNMPv3ROUser1 -a MD5 -A '3tTdfsfsdFSDfsdfsdFSDfsdfsd' -x AES -X 'efh3g89h389gh89h3gHFG' 10.1.66.2:161 SysUptime

I wynik komendy

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (18467835) 2 days, 3:17:58.35

Wszystko działa.