- PVSM.RU - https://www.pvsm.ru -
SNMP (Simple Network Management Protocol) — это протокол для управления и мониторинга сетевых устройств, таких как маршрутизаторы, коммутаторы и фаерволы. Он является частью системы управления сетью и позволяет администраторам:
Отслеживать состояние устройств;
Вносить изменения в конфигурацию;
Получать уведомления о событиях.
Управляемые устройства (Managed Devices): устройства, которые контролируются с помощью SNMP.
Станция управления сетью (NMS): сервер или система, управляющая устройствами. Это также называется SNMP-сервером.

SNMP-менеджером может быть любое устройство, способное выполнять функции управления сетью, например, наш ноутбук с установленным программным обеспечением для управления (например, SolarWinds, Zabbix, или даже встроенные утилиты).
SNMP-агент также может быть любым устройством, поддерживающим SNMP, например, маршрутизаторы, коммутаторы, серверы, принтеры или даже IoT-устройства. Агент работает на самом устройстве, собирает информацию и отправляет её менеджеру по запросу или при наступлении определённых событий.
SNMP MIB
MIB (Management Information Base) — это база данных, которая хранит информацию о параметрах устройства, управляемого через SNMP. Проще говоря, MIB — это каталог или таблица, где для каждого параметра устройства задан уникальный идентификатор.
MIB — это как список настроек и данных устройства, доступных для мониторинга и управления через SNMP. Например:
Температура устройства.
Скорость передачи данных через порт.
Состояние интерфейсов (включён/выключен).
Загрузка процессора или памяти.
Компоненты SNMP

Менеджер отправляет запрос (например, snmpget) с использованием OID.
Агент извлекает данные из MIB и возвращает ответ.
При событиях (например, сбое интерфейса) агент отправляет trap или inform уведомление менеджеру.
Уведомления (Notifications): устройства отправляют уведомления (например, traps) о событиях.
Чтение (Read): NMS запрашивает информацию (например, загрузка процессора).
Запись (Write): NMS изменяет конфигурацию устройств (например, смена IP-адреса).
SNMPv1: базовая версия с ограниченными возможностями.
SNMPv2: Почти нигде не увидите когда его создавали он был очень сложным как структура и поэтому его урезали и заменили SNMPv2c
SNMPv2c: улучшенная версия с поддержкой community strings (строки аутентификации).
SNMPv3: самая безопасная версия с шифрованием и аутентификацией.
R1(config)#snmp-server contact (mail)
R1(config)#snmp-server location (location srv)
Эти команды добавляют описание:
contact: указывает, кому писать в случае проблем.
location: указывает физическое местоположение устройства.
Community Strings — это строки аутентификации (пароли), предоставляющие доступ к устройству через SNMP.
Read-Only (RO): только для чтения.
Read-Write (RW): полный доступ (чтение + запись).
Примеры настройки:
R1(config)#snmp-server community MyReadOnly ro
R1(config)#snmp-server community MyReadWrite rw
Для дополнительной безопасности можно ограничить доступ по IP:
R1(config)#snmp-server community MyReadOnly ro 192.168.1.0 255.255.255.0
Почему это важно:
Защищает SNMP от несанкционированного доступа.
Позволяет задавать уровень доступа (RO или RW).
R1(config)#snmp-server host 192.168.1.1 version 2c (Word)
Что делает команда:
Указывает IP-адрес сервера управления SNMP.
Задает используемую версию SNMP (в данном случае 2c).
Указывает строку аутентификации (Jeremy1).
Почему это важно:
Позволяет устройству отправлять данные только на указанный сервер.
R1(config)#snmp-server enable traps snmp linkdown linkup
R1(config)#snmp-server enable traps config
Что делает команда:
linkdown/linkup: уведомляет о состоянии интерфейса (включение/отключение).
config: уведомляет об изменении конфигурации.
Почему это важно:
Позволяет администраторам быстро реагировать на события.
Чтение:
Get: запрос данных.
GetNext: запрос следующего параметра.
GetBulk: запрос нескольких параметров сразу.
Запись:
Set: изменение данных (например, IP-адреса).
Уведомления:
Trap: уведомление без подтверждения.
Inform: уведомление с подтверждением.
Ответы:
Ответ устройства на запросы Get, Set и Inform.
Удалите строки аутентификации по умолчанию:
R1(config)#no snmp-server community public
R1(config)#no snmp-server community private
Используйте SNMPv3 вместо SNMPv1 и SNMPv2c для шифрования данных.
Для работы с SNMP в Windows требуется утилита snmpwalk, snmpget, или другие из пакета Net-SNMP. Убедитесь, что SNMP утилиты установлены (Net-SNMP можно скачать отдельно).
snmpget
Используется для получения конкретного значения из устройства.
snmpget -v:2c -c:<community_string> <IP-адрес> <OID>
Пример:
snmpget -v:2c -c:public 192.168.1.1 1.3.6.1.2.1.1.5.0
-v:2c — версия SNMP (в данном случае SNMPv2c).
-c:public — community string.
192.168.1.1 — IP устройства.
1.3.6.1.2.1.1.5.0 — OID для имени хоста.
snmpwalk
Получает список всех доступных параметров на устройстве.
snmpwalk -v:2c -c:<community_string> <IP-адрес>
Пример:
snmpwalk -v:2c -c:public 192.168.1.1
snmpset
Изменяет значение параметра на устройстве.
snmpset -v:2c -c:<community_string> <IP-адрес> <OID> <тип данных> <значение>
Пример:
snmpset -v:2c -c:private 192.168.1.1 1.3.6.1.2.1.1.5.0 s "NewHostName"
s — строка (тип данных).
NewHostName — новое значение.
snmptrap
Отправляет trap-уведомление на SNMP-сервер.
snmptrap -v:2c -c:<community_string> <IP сервера> <OID> <сообщение>
В Linux SNMP-команды предоставляются пакетом Net-SNMP. Установите его через менеджер пакетов:
sudo apt install snmp # Для Debian/Ubuntu
sudo yum install net-snmp-utils # Для RedHat/CentOS
snmpget
snmpget -v2c -c <community_string> <IP-адрес> <OID>
Пример:
snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.5.0
snmpwalk
snmpwalk -v2c -c <community_string> <IP-адрес>
Пример:
snmpwalk -v2c -c public 192.168.1.1
snmpset
snmpset -v2c -c <community_string> <IP-адрес> <OID> <тип данных> <значение>
Пример:
snmpset -v2c -c private 192.168.1.1 1.3.6.1.2.1.1.5.0 s "NewDeviceName"
snmptrap
snmptrap -v2c -c <community_string> <IP сервера> <OID> <сообщение>
Пример:
snmptrap -v2c -c public 192.168.1.100 "" 1.3.6.1.6.3.1.1.5.3 "linkDown"
Проверить, открыт ли порт SNMP на устройстве (Windows):
telnet <IP-адрес> 161
Отобразить доступные службы (Linux):
snmpstatus -v2c -c <community_string> <IP-адрес>
Автор: AnonimUwU1337
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/snmp/412783
Ссылки в тексте:
[1] Источник: https://habr.com/ru/articles/888692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=888692
Нажмите здесь для печати.