В этой статье мы разберем, что представляет собой протокол управления SNMP, зачем он используется в сетевых инфраструктурах и какое место занимает в современных системах мониторинга.
Что такое SNMP и зачем он нужен
SNMP (Simple Network Management Protocol) — это сетевой протокол, который позволяет централизованно контролировать и управлять устройствами в IT-инфраструктуре. Его используют для мониторинга состояния оборудования, сбора статистики и автоматизации реакции на проблемы. Через SNMP работают маршрутизаторы, коммутаторы, серверы, принтеры, точки доступа и любые другие устройства, поддерживающие этот протокол.
Зачем он нужен? SNMP упрощает жизнь администратора: вместо ручной проверки каждого устройства можно получать данные о его состоянии в реальном времени и реагировать заранее.
Протокол позволяет:
- отслеживать загрузку процессора, памяти, сетевых интерфейсов, температуру и другие параметры;
- получать уведомления о сбоях и критических событиях;
- централизованно управлять настройками устройств;
- строить графики производительности и анализировать тренды;
- снижать время простоя и быстрее находить потенциально проблемные участки в инфраструктуре.
Принцип работы SNMP
Принцип работы SNMP строится на модели «менеджер — агент». SNMP-менеджер — это система мониторинга (Zabbix, LibreNMS, PRTG, Protheus и т. д.), которая опрашивает устройства, хранит данные и рисует графики. А SNMP-агент — служба на устройстве (маршрутизаторе, коммутаторе или сервере), которая знает, какие параметры можно отдать наружу, и передает их менеджеру.
Работа происходит в несколько этапов:
- Менеджер отправляет запрос. Он использует типы сообщений (GET, GETNEXT, GETBULK) для обращения к агенту и получения значений параметров.
- Агент обращается к MIB. MIB (Management Information Base) — иерархическая база данных, где каждый параметр устройства описан уникальным OID. Получив запрос, агент ищет соответствующий OID в своей MIB-структуре, считывает текущее значение и подготавливает ответ.
- Агент возвращает данные менеджеру. Система мониторинга получает значения метрик и отображает их на графиках или панелях.
- Агент отправляет Trap/SNMP Inform. Помимо стандартного опроса, устройство может само инициировать отправку уведомления. Trap — сообщение без подтверждения доставки. Inform — уведомление, требующее подтверждения менеджером. Подобные сообщения используются при важных событиях: перегрев, падение интерфейса, переполнение очереди, перезагрузка устройства. Это помогает реагировать на проблемы быстрее, чем при периодическом опросе.
- При необходимости менеджер вносит изменения. С помощью запросов SET можно менять конфигурацию, например, включать порты или корректировать параметры.
В итоге работа SNMP сводится к простому и легкому обмену сообщениями между менеджером и агентом. Протокол использует транспорт UDP, благодаря чему опрос устройств происходит быстро и без лишней нагрузки на сеть. К слову о нем.

Порты 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 остается прежней.

Типичные команды 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, показывают, какие параметры поддерживает устройство, и позволяют быстро понять, где искать нужные данные.

Как использовать SNMP для мониторинга серверов и инфраструктуры
Чтобы использовать SNMP для мониторинга, начните с включения самого агента на сервере или сетевом устройстве. В Linux это чаще всего служба snmpd, а в сетевом оборудовании — отдельный раздел в конфигурации, где указывают, какие данные можно отдавать наружу и кто имеет к ним доступ.
После запуска агент сразу начинает предоставлять базовые параметры: загрузку процессора, состояние оперативной памяти, сетевые интерфейсы и другую техническую информацию.
Далее нужно добавить устройство в систему мониторинга — например, в Zabbix или LibreNMS. В интерфейсе менеджера укажите IP-адрес устройства, версию SNMP и строку community или учетные данные SNMPv3. Как только связь будет установлена, менеджер начнет регулярно опрашивать агент, будет получать значения по OID и собирать их в базу данных. Через несколько минут в системе уже появятся графики с загрузкой, статистика трафика и другие метрики, которые помогут оценить текущее состояние инфраструктуры.
Постепенно мониторинг можно расширять. Например, многие используют дополнительные MIB-файлы, чтобы получать больше информации с конкретного оборудования: температурные датчики, показатели питания, работу вентиляторов, состояние RAID-массива или показатели сетевых модулей. Если устройство поддерживает SNMP-уведомления, становится возможным принимать Trap-сообщения — это способ узнавать о проблемах сразу, не дожидаясь очередного цикла опроса.
В реальной инфраструктуре SNMP помогает контролировать не только сервера, но и коммутаторы, маршрутизаторы, точки доступа, принтеры, ИБП и даже системы охлаждения. Менеджер собирает данные, преобразует их в графики и уведомления, а администратор получает возможность вовремя замечать рост нагрузки, ошибочные пакеты, перегрев, переполнение дисков и любые другие изменения, которые могут повлиять на работу сервисов.
Запустите Zabbix, LibreNMS или другую систему мониторинга на облачном или выделенном сервере Рег.облако. Это обеспечит её независимую работу, высокую доступность и возможность собирать данные даже при локальных сбоях.
Заключение
В итоге SNMP помогает поддерживать понятную картину работы инфраструктуры и держать под контролем состояние оборудования. Протокол подходит для серверов и сетевых устройств, легко вписывается в современные системы мониторинга и не требует сложной подготовки. При регулярном использовании он дает стабильный поток данных, с которым проще выявлять проблемы и следить за изменениями в сети.
Собранные SNMP-данные требуют надёжного хранения и обработки. Для построения отказоустойчивой системы используйте связку продуктов:
- Облачный сервер для системы мониторинга (Zabbix, Prometheus)
- Облачное хранилище для логов и долгосрочных архивов метрик
- Резервное копирование облачного сервера системы мониторинга

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-уведомлений.