Быть в курсе
Аватарка автора Редакция Рег.облако
Облако

Протокол управления SNMP

5 декабря 2025

12 минут

Телеграм

ВКонтакте

В этой статье мы разберем, что представляет собой протокол управления SNMP, зачем он используется в сетевых инфраструктурах и какое место занимает в современных системах мониторинга.

Что такое SNMP и зачем он нужен

SNMP (Simple Network Management Protocol) — это сетевой протокол, который позволяет централизованно контролировать и управлять устройствами в IT-инфраструктуре. Его используют для мониторинга состояния оборудования, сбора статистики и автоматизации реакции на проблемы. Через SNMP работают маршрутизаторы, коммутаторы, серверы, принтеры, точки доступа и любые другие устройства, поддерживающие этот протокол.

Всё актуальное — в наших соцсетях. Подписывайтесь!

Зачем он нужен? SNMP упрощает жизнь администратора: вместо ручной проверки каждого устройства можно получать данные о его состоянии в реальном времени и реагировать заранее.

Протокол позволяет:

  • отслеживать загрузку процессора, памяти, сетевых интерфейсов, температуру и другие параметры;
  • получать уведомления о сбоях и критических событиях;
  • централизованно управлять настройками устройств;
  • строить графики производительности и анализировать тренды;
  • снижать время простоя и быстрее находить потенциально проблемные участки в инфраструктуре.

Принцип работы SNMP

Принцип работы SNMP строится на модели «менеджер — агент». SNMP-менеджер — это система мониторинга (Zabbix, LibreNMS, PRTG, Protheus и т. д.), которая опрашивает устройства, хранит данные и рисует графики. А SNMP-агент — служба на устройстве (маршрутизаторе, коммутаторе или сервере), которая знает, какие параметры можно отдать наружу, и передает их менеджеру.

Работа происходит в несколько этапов:

  1. Менеджер отправляет запрос. Он использует типы сообщений (GET, GETNEXT, GETBULK) для обращения к агенту и получения значений параметров.
  2. Агент обращается к MIB. MIB (Management Information Base) — иерархическая база данных, где каждый параметр устройства описан уникальным OID. Получив запрос, агент ищет соответствующий OID в своей MIB-структуре, считывает текущее значение и подготавливает ответ.
  3. Агент возвращает данные менеджеру. Система мониторинга получает значения метрик и отображает их на графиках или панелях.
  4. Агент отправляет Trap/SNMP Inform. Помимо стандартного опроса, устройство может само инициировать отправку уведомления. Trap — сообщение без подтверждения доставки. Inform — уведомление, требующее подтверждения менеджером. Подобные сообщения используются при важных событиях: перегрев, падение интерфейса, переполнение очереди, перезагрузка устройства. Это помогает реагировать на проблемы быстрее, чем при периодическом опросе.
  5. При необходимости менеджер вносит изменения. С помощью запросов SET можно менять конфигурацию, например, включать порты или корректировать параметры.

В итоге работа SNMP сводится к простому и легкому обмену сообщениями между менеджером и агентом. Протокол использует транспорт UDP, благодаря чему опрос устройств происходит быстро и без лишней нагрузки на сеть. К слову о нем.

Источник: Freepik. SNMP позволяет отслеживать загрузку it-инфраструктуры

Порты SNMP

SNMP использует фиксированный набор UDP-портов для обмена данными между менеджером и агентом. Они определяют, как происходит опрос устройств и получение уведомлений.

Основные порты SNMP:

  • UDP/161 — порт, который используется для всех запросов менеджера (GET, GETNEXT, GETBULK, SET) и ответов агента. Через него проходят операции чтения и изменения параметров.
  • UDP/162 — порт, по которому агент отправляет уведомления (Trap и Inform) менеджеру. Это канал, по которому устройство сообщает о событиях без предварительного запроса.

UDP выбран для SNMP не случайно: отсутствие установления соединения и минимальные накладные расходы позволяют выполнять большое количество запросов в секунду, не создавая заметной нагрузки на устройство и сеть.

Версии SNMP: чем отличаются SNMP v1, v2 и v3

За время существования SNMP протокол прошел несколько этапов развития. Каждая версия добавляла новые возможности, улучшала безопасность или оптимизировала работу с данными. Сегодня в сетях можно встретить все три основные версии: SNMPv1, SNMPv2c и SNMPv3. Они совместимы по принципам работы, но заметно различаются по функционалу.

SNMPv1

SNMPv1 появилась в конце 1980-х и стала стандартом де-факто для мониторинга сетевых устройств. Она заложила базовую модель «менеджер — агент» и структуру MIB.

В SNMPv1 используется небольшой набор операций: GET и GETNEXT для получения данных, SET для изменения параметров, RESPONSE для ответов агента и TRAP для уведомлений. Благодаря минимальному набору функций SNMPv1 оказалась простой в использовании и получила поддержку практически на всем сетевом оборудовании, включая старые маршрутизаторы, коммутаторы, серверы и периферийные устройства.

Главным минусом SNMPv1 считается слабая защита. Для доступа используется строка community — обычный текстовый пароль, который передается по сети без шифрования. Из-за этого версию нельзя назвать безопасной, особенно в открытых и крупных инфраструктурах. Кроме того, SNMPv1 ограничена в работе с таблицами и дает меньше возможностей по сравнению с более современными версиями.

Тем не менее SNMPv1 до сих пор встречается в инфраструктурах, где стоит старое оборудование или важна максимальная совместимость. Это самая простая и базовая версия SNMP, на которой выросли более функциональные SNMPv2c и защищенная SNMPv3.

SNMPv2c

SNMPv2c — это версия протокола SNMP, которая стала развитием первой редакции и получила более удобные возможности для работы с данными. Она сохранила простой механизм авторизации через строку community, как в SNMPv1, но при этом расширила функциональность. Одним из ключевых улучшений стало появление операции GETBULK — она позволяет за один запрос получить большой набор данных, что особенно удобно при работе с таблицами интерфейсов и другими объемными структурами в MIB. Это делает опрос быстрее и снижает нагрузку на сеть и сам менеджер.

Кроме GETBULK, в SNMPv2c улучшена работа с уведомлениями — помимо TRAP появилась возможность отправлять INFORM, где агент получает подтверждение доставки сообщения. Стало больше типов данных, а обработка статистики стала гибче и точнее. По функциональности SNMPv2c заметно превосходит SNMPv1 и считается наиболее распространенной версией в корпоративных сетях: она достаточно быстрая, легкая и покрывает большинство задач мониторинга.

Основной недостаток SNMPv2c остается тем же, что и у SNMPv1: строка community передается по сети открыто, без шифрования. Поэтому протокол удобен в закрытых и контролируемых сегментах, но не подходит для сетей с высокими требованиями к безопасности.

SNMPv3

SNMPv3 — это актуальная и самая защищенная версия протокола SNMP. Она была разработана, чтобы решить главный недостаток предыдущих версий — отсутствие нормальной безопасности. В SNMPv3 появилась полноценная система безопасности, включающая:

  • аутентификацию (MD5 или SHA) — проверка подлинности отправителя;
  • шифрование (DES, AES) — защита от перехвата данных;
  • контроль доступа (ACL и роли пользователей).

В SNMPv3 используется модель с уровнями безопасности, которые позволяют выбирать нужный режим работы.

  • noAuthNoPriv — без аутентификации и шифрования, фактически режим, совместимый с v1/v2c.
  • authNoPriv — с проверкой подлинности, но без шифрования.
  • authPriv — самый надежный режим, объединяющий аутентификацию и шифрование.

При этом сама логика работы остается привычной: менеджер опрашивает устройства, получает значения по OID, формирует графики и реагирует на события. Все возможности, появившиеся в SNMPv2c — включая GETBULK и INFORM — полностью поддерживаются, а структура MIB остается прежней.

Источник: Freepik. На сегодняшний день существует три основные версии протокола: SNMPv1, SNMPv2c и SNMPv3

Типичные команды SNMP

В работе с SNMP часто используют несколько базовых команд, которые позволяют получать данные с устройств, просматривать структуру MIB и проверять доступность агента. Обычно эти команды выполняются через утилиты из пакета net-snmp — они есть на большинстве Linux-систем и часто используются администраторами при настройке мониторинга.

GET — команда для получения одного конкретного значения по OID. Она подходит, когда нужно быстро узнать, например, загрузку процессора, аптайм или состояние порта.

Примерно так выглядит запрос:

snmpget -v2c -c public 192.168.1.10 1.3.6.1.2.1.1.3.0

WALK — одна из самых популярных команд. Она последовательно проходит по дереву MIB, начиная с указанного OID, и выводит все доступные данные ниже по структуре.

Команда запускается так:

snmpwalk -v2c -c public 192.168.1.10 1.3.6.1.2.1

BULKWALK — расширенная версия WALK, которая использует GETBULK.
Она работает быстрее и эффективнее, особенно на устройствах с большим количеством интерфейсов. Применяется в основном с SNMPv2c и v3.

Пример:

snmpbulkwalk -v2c -c public 192.168.1.10 ifTable

SET — команда для изменения значений параметров. С ее помощью можно, например, включить или отключить порт, сменить описание интерфейса или задать значение системного имени.

Пример:

snmpset -v2c -c private 192.168.1.10 sysName.0 s "NewName"

TRAP — инструмент для отправки тестовых Trap-сообщений.
Полезен при настройке ловушек на стороне менеджера, когда нужно убедиться, что система действительно принимает уведомления.

TRANSLATE — утилита для работы с OID и MIB. Она помогает понять, к чему относится конкретный OID, вывести его в удобочитаемом виде или найти нужный объект по имени. Это удобный справочник прямо в консоли.

Важно! Эти команды не заменяют полноценную систему мониторинга, но хорошо помогают в диагностике: проверяют доступность SNMP, показывают, какие параметры поддерживает устройство, и позволяют быстро понять, где искать нужные данные.

Источник: Freepik. Базовые команды работы со SNMP выполняются через утилиты из пакета net-snmp

Как использовать SNMP для мониторинга серверов и инфраструктуры

Чтобы использовать SNMP для мониторинга, начните с включения самого агента на сервере или сетевом устройстве. В Linux это чаще всего служба snmpd, а в сетевом оборудовании — отдельный раздел в конфигурации, где указывают, какие данные можно отдавать наружу и кто имеет к ним доступ.

После запуска агент сразу начинает предоставлять базовые параметры: загрузку процессора, состояние оперативной памяти, сетевые интерфейсы и другую техническую информацию.

Далее нужно добавить устройство в систему мониторинга — например, в Zabbix или LibreNMS. В интерфейсе менеджера укажите IP-адрес устройства, версию SNMP и строку community или учетные данные SNMPv3. Как только связь будет установлена, менеджер начнет регулярно опрашивать агент, будет получать значения по OID и собирать их в базу данных. Через несколько минут в системе уже появятся графики с загрузкой, статистика трафика и другие метрики, которые помогут оценить текущее состояние инфраструктуры.

Постепенно мониторинг можно расширять. Например, многие используют дополнительные MIB-файлы, чтобы получать больше информации с конкретного оборудования: температурные датчики, показатели питания, работу вентиляторов, состояние RAID-массива или показатели сетевых модулей. Если устройство поддерживает SNMP-уведомления, становится возможным принимать Trap-сообщения — это способ узнавать о проблемах сразу, не дожидаясь очередного цикла опроса.

В реальной инфраструктуре SNMP помогает контролировать не только сервера, но и коммутаторы, маршрутизаторы, точки доступа, принтеры, ИБП и даже системы охлаждения. Менеджер собирает данные, преобразует их в графики и уведомления, а администратор получает возможность вовремя замечать рост нагрузки, ошибочные пакеты, перегрев, переполнение дисков и любые другие изменения, которые могут повлиять на работу сервисов.

Запустите Zabbix, LibreNMS или другую систему мониторинга на облачном или выделенном сервере Рег.облако. Это обеспечит её независимую работу, высокую доступность и возможность собирать данные даже при локальных сбоях.

Заключение

В итоге SNMP помогает поддерживать понятную картину работы инфраструктуры и держать под контролем состояние оборудования. Протокол подходит для серверов и сетевых устройств, легко вписывается в современные системы мониторинга и не требует сложной подготовки. При регулярном использовании он дает стабильный поток данных, с которым проще выявлять проблемы и следить за изменениями в сети.

Собранные SNMP-данные требуют надёжного хранения и обработки. Для построения отказоустойчивой системы используйте связку продуктов:

Источник: Freepik. SNMP помогает поддерживать работу инфраструктуры

FAQ

SNMP — это протокол TCP или UDP?

SNMP использует UDP.

Какие данные можно получить по SNMP?

Через SNMP можно получить загрузку процессора, память, состояние интерфейсов, трафик, температуру, аптайм, ошибки портов и другие технические параметры устройства.

Как подключиться к устройству по SNMP?

Подключение сводится к указанию версии SNMP, строки community или учетных данных SNMPv3 и IP-адреса устройства в системе мониторинга или SNMP-клиенте.

Как проверить, включен ли SNMP?

Проверить SNMP можно простым запросом к устройству. Например, выполните snmpwalk или snmpget с нужной версией и community. Если устройство отвечает — SNMP включен, если ответ не приходит — агент не работает или доступ закрыт.

Какой порт используется в SNMP?

SNMP использует UDP-порты: 161 для запросов и 162 для Trap/Inform-уведомлений.

Новые статьи