Strona główna ASTOR
Automatyka w praktyce

Konfiguracja SNMP w Astraada NET
Kurs konfiguracji switchy zarządzalnych Astraada NET, odc. 10

Kontakt w sprawie artykułu: Piotr Adamczyk - 2025-07-08

W tym odcinku dowiemy się, jak skonfigurować protokół SNMP w switchu Astraada NET.

Co to jest SNMP i w jakim celu się go stosuje?

SNMP (Simple Network Management Protocol) to prosty protokół sieciowy służący do monitorowania i zarządzania urządzeniami sieciowymi, takimi jak switche, routery, serwery, drukarki, a nawet urządzenia IoT. Pozwala na odczyt konkretnych parametrów oraz zdalną zmianę konfiguracji.

Wykorzystanie tego mechanizmu znacząco upraszcza zarządzanie wszystkimi urządzeniami w sieci, dając inżynierom szybki dostęp do kluczowych parametrów diagnostycznych, możliwość śledzenia stanu urządzeń sieciowych i automatycznego wykrywania problemów, a także zarządzania konfiguracją oraz zdalnej kontroli parametrów urządzeń sieciowych bez konieczności fizycznego dostępu do nich.

Jak działa SNMP?

Protokół SNMP opiera się na modelu klient-serwer, w którym rolę klienta pełni SNMP Manager (np. komputer z oprogramowaniem NMS – Network Management System), a serwera – SNMP Agent (np. przełącznik sieciowy). Zasadę działania dobrze obrazuje poniższy schemat:

Źródło: https://commons.wikimedia.org/wiki/File:SNMP_TRAFFIC1.png

Aby lepiej zrozumieć sposób działania SNMP, warto wyjaśnić pojęcie MIB – Management Information Base. Jest to wewnętrzna baza danych agenta, zawierająca zestaw zmiennych o nazwie OID (Object Identifier). Dzięki nim możliwe jest odpytywanie agenta o konkretne parametry urządzenia.

Przykładowy OID: .1.3.6.1.2.1.1.3.0 oznacza sysUpTime, czyli czas działania urządzenia od ostatniego restartu. Dzięki zastosowaniu baz MIB nie musimy pamiętać ciągów cyfr i kropek – możemy posługiwać się słownym nazewnictwem zmiennych, co znacznie ułatwia zrozumienie, co dana zmienna reprezentuje.

Działanie SNMP polega na tym, że manager wysyła zapytanie o wartość konkretnego OID-a. Agent, korzystając z bazy MIB, rozpoznaje, o jaką informację chodzi, i odsyła aktualne dane do systemu NMS.

Podstawowe komendy w SNMP

W protokole SNMP znajdziemy szereg prostych komend, które pozwalają na komunikację między managerem a serwerem:

  • GET: pozwala na wysłanie żądania przesłania konkretnego parametru urządzenia sieciowego (wartości z MIB). Przy użyciu tej komendy można zażądać tylko jednej wartości jednocześnie, np. aktualnego obciążenia interfejsu lub liczby przesłanych pakietów.
  • GET-NEXT: pozwala na pobranie kolejnej informacji w hierarchii MIB. Dzięki temu możemy odpytywać urządzenie „krok po kroku” o każdy parametr, nawet jeśli nie znamy dokładnych identyfikatorów (OID).
  • GET-BULK: umożliwia pobranie większej ilości danych za jednym razem. Dzięki temu optymalizuje się ruch sieciowy i zmniejsza liczba zapytań w przypadku dużych tablic (np. statystyk interfejsów).
  • SET: za pomocą tej komendy można wprowadzać zmiany w konfiguracji urządzenia, np. dezaktywować porty, ustawić nowe hasło lub zmienić adres IP. Uwaga: wymaga odpowiednich uprawnień i zazwyczaj jest ograniczana ze względów bezpieczeństwa.
  • TRAP: SNMP Trap to funkcjonalność, która umożliwia urządzeniom sieciowym (takim jak przełączniki, routery, serwery) wysyłanie informacji do menedżera SNMP w momencie wystąpienia określonego zdarzenia, bez potrzeby wcześniejszego zapytania od serwera nadrzędnego. Dzięki tej funkcji urządzenia mogą samodzielnie powiadomić administratora o problemach, takich jak awarie, zmiany w konfiguracji, przeciążenia lub inne nieprawidłowości w sieci. Pozwala to administratorom na reakcję w czasie rzeczywistym i szybsze rozwiązywanie problemów, co zwiększa efektywność zarządzania siecią. Wraz z rozwojem protokołu SNMP wprowadzono dodatkową funkcjonalność o nazwie INFORM. Umożliwia ona potwierdzenie odebrania komunikatu przez system NMS (Network Management System), co daje pewność, że wszystkie krytyczne informacje dotrą do celu i nie zostaną utracone.

Wersje SNMP

Wyróżniamy trzy wersje SNMP:

SNMPv1 – to najstarsza wersja tego protokołu, wprowadzona w 1988 roku. Ma wiele ograniczeń, zwłaszcza w zakresie bezpieczeństwa. Komunikacja między agentem a menedżerem nie jest w żaden sposób szyfrowana, a uwierzytelnianie opiera się na tzw. community string, czyli prostych hasłach przesyłanych otwartym tekstem, co sprawia, że łatwo je przechwycić. Dodatkowo ilość danych, które mogą być przesyłane, jest ograniczona przez 32-bitowy licznik.

SNMPv2c – to następca wersji v1, który nie wprowadza istotnych zmian w zakresie bezpieczeństwa, ponieważ nadal używa community stringów. Jednak usprawnia komunikację – pozwala na przesyłanie większej ilości danych jednocześnie (np. dzięki operacji GET-BULK) oraz lepiej obsługuje zdarzenia typu TRAP, wprowadzając m.in. wcześniej opisaną operację INFORM.

SNMPv3 – najnowsza wersja protokołu, która wprowadza mechanizmy zapewniające bezpieczeństwo transmisji danych. Umożliwia autoryzację użytkownika przy użyciu protokołów MD5 lub SHA, a także szyfrowanie danych z wykorzystaniem DES lub AES. W kontekście rosnącego znaczenia bezpieczeństwa w sieciach komputerowych, stosowanie SNMPv3 – wszędzie tam, gdzie jest to możliwe – jest kluczowe dla ochrony danych i integralności zarządzania urządzeniami sieciowymi.

CechaSNMPv1SNMPv2cSNMPv3
BezpieczeństwoBardzo niskie (tylko community string)Bardzo niskie (tylko community string)Wysokie (autoryzacja + szyfrowanie)
Mechanizmy uwierzytelnianiaCommunity string (tekst jawny)Community string (tekst jawny)MD5, SHA (hasła)
Szyfrowanie danych Nie NieTak (DES, AES)
Wsparcie dla GET-BULK NieTakTak
Obsługa TRAP (INFORM)Tylko TRAPTAKTAK
Zalecane zastosowanie dziśNie (przestarzała)Raczej nie (brak bezpieczeństwa)Tak (standard w nowych instalacjach)

Jak wygląda konfiguracja SNMP w Astraada NET?

Mając podstawową wiedzę o protokole SNMP możemy przyjrzeć się, jak włączyć jego działanie w switchach Astraada NET. Urządzenia te obsługują wszystkie wersje SNMP czyli V1, V2c, jak i najbezpieczniejszą, zalecaną do stosowania wersję V3.

W celu przetestowania działania SNMP potrzebujemy zewnętrznego oprogramowania, które będzie pełniło role Managera SNMP. W tym szkoleniu wykorzystamy środowisko MIB Browser, którego miesięczna darmowa wersja testowa jest dostępna pod tym linkiem.

Aby włączyć działanie protokołu SNMP w switchu Astraada NET przejdź do System Management -> SNMP. Wyświetlone zostanie okno konfiguracji:

Teraz wspólnie przejdziemy krok po kroku kolejne etapy konfiguracji SNMP w każdej wersji.

SNMP V1/V2c

1. Wybór wersji: wybierz, którą wersję protokołu SNMP chcesz wykorzystać – w tym momencie ustaw v1/v2c.

2. Konfiguracja Community string dla SNMP v1/v2c (niewymagane dla SNMP v3):

W tym miejscu ustawiamy community stringi, czyli tak naprawdę hasła, które należy podać, chcąc odczytać OID-y (Read Community) lub zmodyfikować inne parametry (Write Community). Domyślnie ustawione są hasła „public” i „private” — należy je w pierwszej kolejności zmienić na własne, np.:

Potwierdź zmiany przyciskiem Apply.

3. Odczyt informacji w SNMP Mangerze:

Dla przetestowania działania protokołu SNMP w środowisku MIB Browser odczytamy, jak długo urządzenie pracuje od ostatniego restartu. Wykonaj następujące kroki:

  • Otwórz środowisko MIB Browser.
  • Wgraj bazę MIB znajdującą się pod tym linkiem, klikając File -> Load MIBs
  • Wpisz adres IP switcha (192.168.10.10), oraz klikając Advanced skonfiguruj parametry SNMP V2 zgodne z tym, co zostało ustawione w interfejsie webowym switcha. Potwierdź OK.
  • Przejdź do iso -> org -> mib-2 -> system -> sysUpTime. Z rozwijanego menu przy Operations wybierz Get lub kliknij Go, jeżeli opcja Get była już wybrana.

Jak możesz zobaczyć, po kliknięciu sysUpTime automatycznie pojawił się przypisany do tej zmiennej OID, o który możesz odpytać urządzenie.

W okienku Value pojawiła się informacja o czasie działania od restartu urządzenia.

W dalszej kolejności możesz zobaczyć, jakie jeszcze inne parametry można odczytać z urządzenia za pomocą tego protokołu, używając funkcji GET NEXT, która pozwoli na przejście po kolei po funkcjach drzewa MIB.

4. Zapis informacji do urządzenia przez SNMP Managera

We wstępie teoretycznym zostało wspomniane, że przez protokół SNMP możemy również zarządzać urządzeniem, odbywa się to za pomocą funkcji SET. Dobrym przykładem jest tutaj możliwość aktywacji lub dezaktywacji portów za pomocą zmiennej ifAdminStatus. Dla przetestowania działania tej funkcji wykonaj następujące kroki w środowisku MIB Browser:

  • Przejdź do iso -> org => mib-2 -> interfaces -> ifTable -> ifAdminStatus.
  • Za pomocą funkcji GET BULK otrzymasz hurtowo informację o stanie 10 portów.

Wszystkie porty są aktywne. Teraz za pomocą funkcji SET dezaktywujemy port 1 (ifAdminStatus.1):

  • Kliknij na wiersz z ifAdminStatus.1, aby komunikować za pomocą odpowiedniego OIDa.
  • W menu Operations wybierz Set. Po kliknięciu Go ukaże się takie okienko:
  • W wierszu Value wpisz „2”, co odpowiada dezaktywacji portu (down).

Powinien pojawić się monit o poprawnym przeprowadzeniu operacji. Aby potwierdzić działanie, spróbuj wpiąć się panelem HMI lub innym urządzeniem w port 1 (dioda powinna pozostać zgaszona) – w zakładce Port Control w interfejsie webowym znajdziemy potwierdzenie dezaktywacji portu 1.

Powyższe działania potwierdziły, że za pomocą SNMP faktycznie możemy zarządzać urządzeniem, podobnie jak przez interfejs webowy.

Konfiguracja SNMP V3

Jak już wcześniej wspomniano, wersja 3 protokołu SNMP zapewnia bezpieczeństwo przesyłu danych dzięki mechanizmom uwierzytelniania i szyfrowania. Z tego względu po stronie switcha pojawia się nieco więcej parametrów do skonfigurowania:

1. Przejdź do System Management -> SNMP i ustaw wersję V3:

2. Spójrz na dół strony. Poniżej opiszemy po kolei, co należy ustawić w poszczególnych miejscach:

  • User Name – nazwa użytkownika SNMP v3, która będzie używana do uwierzytelnienia. Wpisz np. „user”.
  • Security Level – poziom bezpieczeństwa SNMP v3. Możliwe opcje:
    • None – bez uwierzytelnienia i szyfrowania. Wybierając tą opcję poziom bezpieczeństwa mamy na poziomie poprzednich wersji, ponieważ wystarczy poznać nazwę użytkownika, która nie jest w żaden sposób ukryta, aby uzyskać dostęp do urządzenia.Authentication – uwierzytelnienie, ale bez szyfrowania. W tym przypadku aby korzystać z protokołu SNMP, trzeba będzie autoryzować użytkownika za pomocą hasła.
    • Privacy – uwierzytelnienie i szyfrowanie (najbezpieczniejsza opcja). Dla potrzeb szkolenia wybierz tę opcję.
  • Authentication Protocol – protokół używany do uwierzytelnienia. Możliwe opcje:
    • MD5 – algorytm uwierzytelniania MD5. Obecnie nie jest on polecany do operacji tego typu.
    • SHA – z rozwijanej listy wybierz SHA-512, jest on najbezpieczniejszą opcją.
  • Authentication Key – hasło uwierzytelniania, które będzie używane do weryfikacji użytkownika (musi zawierać przynajmniej 8 znaków). Wpisz własne hasło.
  • Privacy Protocol – protokół szyfrowania danych SNMP. Możliwe opcje:
    • DES – podstawowe szyfrowanie. Obecnie już nie wykorzystywany z uwagi na łatwość jego złamania.
    • AES – zapewnia wysokie bezpieczeństwo, wykorzystywany w infrastrukturze krytycznej. Wybieramy tę opcję.
  • Privacy Key – klucz szyfrowania, który będzie używany do zabezpieczania danych. Ustaw własne hasło.

Po konfiguracji tabelka powinna wyglądać w ten sposób:

3. Pamiętaj aby wszystkie zamiany potwierdzać przyciskiem Apply.

4. Następnie przetestujemy działanie SNMP V3 w środowisku MIB Browser.

Najważniejszym punktem jest odpowiednie skonfigurowanie parametrów SNMP V3. Parametryzacji dokonujemy klikając Advanced i tam ustawiamy parametry zgodnie z tymi, które są w switchu.

W kolejnym kroku przetestuj, czy jesteś w stanie pobrać informacje o SysUpTime i dezaktywować porty. Opisane jest to dokładnie w poprzednim punkcie.

SNMP Trap

Ostatnim mechanizmem, który będziemy konfigurować, jest SNMP Trap. W poprzednim odcinku dowiedziałeś się, że możliwe jest wysyłanie informacji o zdarzeniach, takich jak Cold Start czy stan pracy portów. Konfigurację taką można było przeprowadzić w zakładce Event Settings.

Aby uruchomić mechanizm SNMP Trap, należy zaznaczyć opcję Trap dla zdarzenia Cold Start oraz wskazać porty, które mają być monitorowane pod kątem zmian stanu pracy np. podłączenia lub odłączenia kabla sieciowego.

W tym przypadku monitorujemy porty 1-8.

Następnie w interfejsie webowym przejdź do zakładki SNMP Trap:

Ustaw poniższe parametry:

1. Trap Server – wpisz IP serwera SNMP, jeśli łączysz się z komputera – wpisz IP karty sieciowej.

2. Trap Type – wybierz Inform. Jeśli pozostawisz Trap, informacje o zdarzeniach będą wysyłane do Managera SNMP, ale Agent nie otrzyma potwierdzenia.

3. Version – wybierz wersję SNMP, po której będziesz się komunikował, docelowo V2c.

4. Następnie w środowisku MIB Browser sprawdzimy działanie tego mechanizmu:

  • Przejdź do Tools -> Trap Receiver.
  • Podłączaj i wypinaj panel HMI od kolejnych portów, obserwując przychodzące monity.

Z powyższego rysunku możemy odczytać, że urządzenie zostało podłączone do portu 7 (ifOperStatus.7 -up).

Podsumowanie

Protokół SNMP, jak wskazuje jego nazwa, jest bardzo prosty w zastosowaniu, jednak umożliwia odczyt i modyfikację wielu istotnych elementów sieci przemysłowej. Obsługa tego protokołu jest kluczowa dla administratorów sieciowych w kontekście zarządzania siecią dlatego warto sięgać po urządzenia, które udostępniają jego obsługę.

Następny odcinek: Mechanizmy bezpieczeństwa w Astraada NET

Autor kursu:

Krzysztof Stysiek

Stażysta ASTOR. Student Inżynierii i Zarządzania Procesami Przemysłowymi na AGH. W wolnym czasie wędruje po górach, czyta książki fantasy i rozwija swoje umiejętności w tańcu towarzyskim.

Newsletter Poradnika Automatyka

Czytaj trendy i inspiracje, podstawy automatyki, automatykę w praktyce

Please wait...

Dziękujemy za zapis do newslettera!

Czy ten artykuł był dla Ciebie przydatny?

Średnia ocena artykułu: 5 / 5. Ilość ocen: 6

Ten artykuł nie był jeszcze oceniony.

Zadaj pytanie

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *