Перейти к публикации
IPS Invision Community
  • Протокол управления SNMP


    qwert

    SNMP — протокол управления прикладного уровня. С его помощью сетевые устройства обмениваются данными. По сути, SNMP-протокол — это свод соглашений, который входит в состав модели TCP/IP.

    Архитектура

    SNMP состоит из:

    • управляющей станции с менеджером;
    • агентов;
    • управляемых компонентов.

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

    Агенты делятся на мастеров и субагентов. Мастер следит за запросами сетевого менеджера и пересылает их субагентам. После этого он собирает ответы субагентов и отправляет их сетевому менеджеру. Если данные недоступны или произошла ошибка, присылает соответствующее уведомление менеджеру.

    Субагенты — программы, которые вендор поставляет вместе с устройством. Ими оснащены все управляемые компоненты.

    Управляемый компонент — устройство или программное обеспечение с субагентом, подсоединенное к сети. Коммутаторы, маршрутизаторы, серверы, антивирусы — все они могут быть управляемыми компонентами.

    Сведения обо всех устройствах собраны в базе — SNMP MIB. У каждого из них своя таблица, из которой сетевой менеджер узнает, какую информацию можно запросить: например, состояние картриджей от принтера или объем трафика от маршрутизатора.

    Все объекты внутри MIB оснащены SNMP OID — уникальным идентификационным номером. Он есть у каждой таблицы, столбца, значения. Часть данных в OID рассказывает о производителе устройства.

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

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

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

    Юнит информации (PDU) включает несколько полей. Среди них:

    • Версия протокола.
    • Community — последовательность, по которой определяется групповая принадлежность.
    • Статус-код — описывает состояние. Если ошибок нет, приходит ноль, а если есть — цифра, которая относится к соответствующей ошибке.
    • Индекс переменной, в работе которой зафиксирована ошибка.

    Дефолтно специальный SNMP PORT — 161 и 162.

    Запросы приходят на 161 порт. Отсюда менеджеру уходят ответы. Для идентификации указывается ID. Это помогает быстро связать ответы менеджера и запросы агента.

    Порт 162 принимает ловушки (SNMP Trap) — это такой способ общения. Агент применяет ловушки, чтобы проинформировать менеджера о событии. 

    Благодаря этому с менеджера снимается дополнительная нагрузка. Он и так следит за несколькими устройствами и управляет несколькими компонентами одновременно. Из-за этого менеджер не всегда ловит ошибки. Механизм ловушек устраняет этот недостаток. После получения ловушки менеджер решает, что нужно сделать.

    Версии

    Существует три версии протокола.

    • SNMP v1 — появилась 40 лет назад, до сих пор успешно применяется. Предлагает самые простые настройки — своеобразный SNMP для чайников.
    • SNMP v2с — появилась в начале 90-х годов. В этой версии добавился запрос GetBulk. Также разработчики реализовали второй тип ловушки — Inform. В отличие от Trap, здесь отправляется подтверждение о получении.
    • SNMP v3 — появилась в конце 90-х годов. В этой версии протокол защитили криптографически. 

    Безопасность

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

    Самые продвинутые механизмы защиты реализовали в третьей версии. Здесь применяется модель защиты на основе пользователей (User-based Security Model). И для агента, и для менеджера можно изменить параметры аутентификации, безопасности, конфиденциальности. 

    В v3 также используется модель VACM (View-based Access Control Model). В ней для разных групп менеджеров можно установить разные права доступа.

    В первой и второй версиях протокола используется модель безопасности Community-based Security. По сути, это идентификатор пользователя и пароль, которые посылаются вместе с запросом в строке сообщества. Если строка Community неверна, агент отвергает запрос.

    Применение

    Вот лишь несколько сценариев, в которых SNMP приносит пользу администраторам:

    • Удаленный сброс паролей.
    • Мониторинг пропускной способности сети.
    • Перенастройка IP-адресов.
    • Отправка запроса для проверки сетевых устройств.
    • Получение оповещений о нехватке свободного пространства на диске.
    • Контроль нагрузки на процессор, получение уведомлений о превышении допустимых значений.
    • Получение оповещений о неисправностях в работе сетевого устройства.
    • Логирование ошибок.

    Стороннее ПО также помогает добавлять сведения через кастомные SNMP OID и администрировать облачные сервисы, заказанные на  Amazon Web Services, Microsoft Azure и других платформах.

    Установка и настройка на примере CentOS 7

    Обновите систему:

    yum update

    Установите SNMP, используя snmp net:

    yum install net-snmp net-snmp-utils

    Сделайте копию файла конфигурации:

    mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

    Отредактируйте настройки. Откройте snmpd.conf в редакторе nano:

    nano /etc/snmp/snmpd.conf

    Добавьте строки:

    community public
    
    syslocation MyLocation
    
    syscontact admin@example.com

    Укажите реальную локацию и контакт.

    Включите автозапуск и перезапустите сервис:

    systemctl enable snmpd.service
    
    systemctl start snmpd

    Убедитесь, что сервис запустился:

    systemctl status snmpd

    Опросите агент локально, используя утилиту snmpwalk:

    snmpwalk -v 2c -c public -O e 127.0.0.1

    Опросите сервер:

    snmpwalk -v2c -c public localhost system

    Ненамного сложнее SNMP настраивается на Windows. Подробная инструкция есть в документации Microsoft.

    Заключение

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

    • Нравится 1

    Отзывы пользователей

    Рекомендованные комментарии

    Нет комментариев для отображения



    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти сейчас

×
×
  • Создать...
Вверх
Вверх