Windows по snmp интерфейсы

Для чего предназначен SNMP: руководство по NMS, MIB, OID, ловушкам и агентам

SNMP (Simple Network Management Protocol) представляет собой коммуникационный протокол, который позволяет отслеживать управляемые сетевые устройства, включая маршрутизаторы, коммутаторы, серверы, принтеры и другие устройства, которые включены через IP через единую систему управления / программное обеспечение.

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

Что делает SNMP?

  • Мониторинг входящего и исходящего трафика, проходящего через устройство
  • Раннее обнаружение сбоев в сетевых устройствах вместе с предупреждениями / уведомлениями
  • Анализ данных, собранных с устройств в течение длительных периодов времени для выявления узких мест и проблем с производительностью
  • Возможность удаленного конфигурирования совместимых устройств
  • Доступ и управление устройствами удаленно, которые подключаются через SNMP

Менеджер (NMS)

Компонент Manager — это просто часть программного обеспечения, которое установлено на компьютере (которое при объединении называется Network Management System), которое проверяет устройства в вашей сети, как часто вы указываете информацию.

Менеджер имеет правильные учетные данные для доступа к информации, хранящейся агентами (что объясняется в следующем разделе), а затем компилирует их в читаемом формате для сетевого инженера или администратора для мониторинга или диагностики проблем или узких мест. Некоторые программные пакеты NMS более сложны, чем другие, что позволяет настраивать сообщения электронной почты или SMS, чтобы предупредить вас о неисправных устройствах в вашей сети, в то время как другие просто опросили устройства для получения более общей информации.

Агенты

SNMP Agent — это часть программного обеспечения, которое поставляется вместе с сетевым устройством (маршрутизатором, коммутатором, сервером, Wi-Fi и т. Д.), Которое при включении и настройке выполняет всю тяжелую работу для Менеджера путем компиляции и хранения всех данных из своего данное устройство в базу данных (MIB).

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

Какие номера портов используют SNMP?

Менеджер программного обеспечения в предыдущем разделе регулярно проверяет агентов через порт UDP 161 .

Ловушки SNMP, о которых вы будете читать дальше, позволяют агенту отправлять информацию о системе и устройстве менеджеру через порт UDP 162 . Хотя UDP является общим протоколом, используемым SNMP, TCP также может использоваться.

Управляемые сетевые устройства

Управляемые сетевые устройства, в том числе маршрутизаторы, коммутаторы, Wi-Fi, серверы (Windows и другие), настольные ПК, ноутбуки, принтеры, UPS и т. Д., Имеют встроенное в них программное обеспечение агента, которое должно быть либо включено, либо настроено, либо просто настроено правильно для того, чтобы быть опрошены NMS.

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

Агенты, как объяснялось выше, поддерживают организованную базу данных параметров устройства, настроек и т.д. Система NMS (Network Management system) опроса / запроса агента данного устройства, которая затем делится своей организованной информацией из базы данных, сделанной с помощью NMS, которая затем переводит ее в предупреждения, отчеты, графики и т. Д. База данных, которую Агент разделяет между Агентом, называется Информационной базой управления или MIB .

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

Чтобы упростить MIB, подумайте об этом так: MIB-файлы — это набор Вопросов, которые Менеджер может спросить у агента. Агент просто собирает эти вопросы и сохраняет их локально и обслуживает их по NMS по запросу.

Упрощенный пример работы MIB: NMS спросит у сетевого устройства вопрос, в данном случае, что такое ответ на вопрос 2?

Агент управляемых сетевых устройств затем отвечает с ответом на вопрос 2. Чтобы еще больше разбить это, давайте построим еще один пример.

Скажем, мы хотим знать системное время работы устройства.

NMS отправит запрос агенту, запрашивающему Системное время, — запрос отправляется как номер с MIB и объектом интереса, а также что-то, называемое экземпляром .

Распределение номера OID

MIB Объект интереса Пример
1.3.6.1.2.1.1 3 0
MIB Объект SysUptime Образец

Первые 2 части числа, отправленные агенту (MIB и объект интереса, который в этом случае является системным временем), называются идентификатором объекта или OID . Как упоминалось выше, MIB являются стандартными значениями, которые система сетевого управления уже знает и может опросить / запросить сетевые устройства для получения информации.

OID, Object Identifier — это просто номер, составленный MIB, объектом интереса и экземпляром. Каждый идентификатор является уникальным для устройства, и при запросе будет предоставлена ​​информация о том, что было запрошено OID.

Читайте также:  Clear kerberos ticket windows

Существует два типа OID:

Скаляр — это экземпляр одного объекта — например, имя поставщика устройства. Может быть только одно имя поставщика, так что это будет скалярный OID.

С другой стороны, Tabular может иметь несколько результатов для своего OID — например, процессор Quad Core приведет к 4 различным значениям ЦП.

Ловушки

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

Управляемые сетевые устройства будут иметь MIB Trap с заранее определенными условиями, встроенными в них. Крайне важно, чтобы система управления сетью объединяла эти MIB, чтобы получать любые ловушки, отправленные данным устройством.

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

Версии (v1, v2c, v3)

Этот протокол прошел несколько пересмотров на протяжении многих лет, начиная с 1988 года, начиная с версии 1. Теперь мы до версии 3, но большинство систем управления сетью поддерживают все версии протокола.

Версия 1

Версия 1 была первой версией протокола, определенного в RFC 1155 и 1157. Эта версия является самой простой из 3-х версий протокола и является самой небезопасной из-за ее простой текстовой аутентификации.

Версия 2 (или 2c)

Версия 2 протокола была введена в 1993 году с большими улучшениями по сравнению с первой версией, включая транспортные сопоставления, элементы структуры MIB и, что самое важное, улучшенные обновления для проверки подлинности и безопасности.

Тем не менее, версии 1 и 2 / 2c имели встроенные риски безопасности, как упоминалось выше, — строки сообщества, которые эквивалентны паролям, где передается по проводу в виде прозрачного / обычного текста, позволяя любому, кто нюхает сеть, получить доступ к строке и могут компрометировать сетевые устройства и, возможно, перенастроить их с помощью SNMP.

Версия 3

Версия 3 протокола, дебютировавшая в 1998 году, сделала большие шаги для обеспечения безопасности набора протоколов, реализовав так называемую «пользовательскую безопасность». Эта функция безопасности позволяет вам устанавливать аутентификацию на основе требований пользователя. 3 уровня аутентификации:

  • NoAuthNoPriv: пользователи, которые используют этот режим / уровень, не имеют аутентификации и не имеют конфиденциальности при отправке / получении сообщений.
  • AuthNoPriv: этот уровень требует от пользователя аутентификации, но не будет шифрования отправленных / полученных сообщений.
  • AuthPriv: Наконец, самый безопасный уровень, в котором требуется аутентификация, и отправленные / полученные сообщения зашифрованы.

Версия 3 протокола является наиболее безопасной из группы, но с добавленной безопасностью и шифрованием добавлена ​​конфигурация и сложность настройки и конфигурации. Но при работе с сетевыми устройствами более высокого уровня, которые содержат конфиденциальную информацию, вознаграждение перевешивает головную боль при правильной настройке.

Сайт ARNY.RU

Настройка SNMP — достаточно интересная тема, так как протокол SNMP является мощным инструментом в руках системного администратора и критически необходимым в большой сети. Сетевым устройством будет выступать маршрутизатор CISCO.

Немного теории

Общие понятия

Своими словами, чтобы было понятнее — SNMP состоит из 3 частей:

  1. Агента, настроенного на сетевом устройстве;
  2. Программы-диспетчера, настроенной на компьютере;
  3. Кроме этого на устройстве есть База Управляющей Информации (MIB), где собственно и хранятся нужные данные.

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

Взаимодействие между диспетчером и агентом происходит 2 разными способами:

  1. При наступлении определённых заранее событий на устройстве, агент самостоятельно отсылает данные о событии диспетчеру — ловушка SNMP;
  2. Диспетчер собирает статистику по заранее заданным параметрам, опрашивая с определённым интервалом агента — запрос SNMP GetRequest.

Это если на устройстве для диспетчера выдано право только на чтение (RO) базы MIB, если же выдано право на запись (RW), то есть дополнительная возможность:

  • Диспетчер изменяет заранее заданные параметры в MIB, посылая запрос агенту — запрос SNMP SetRequest

Понятие триггера — если значение параметра, который мониторится со стороны диспетчера, изменяется, то диспетчер выполняет заранее определённое действие (например, посылает сообщение на электронную почту).

Понятие строки сообщества — это пароль, который проверяется при попытке подключения к устройству по SNMP (для версии SNMP 1 и 2). То есть тут нет связки логин/пароль — есть строка сообщества, которая сразу и логин, и пароль.

Последнее, что тут нужно сказать, важный момент: агент и диспетчер используют разные порты. Агент принимает запросы на 161/UDP порту, отправляет информацию диспетчеру на 162/UDP порт.

Версии SNMP

Существует 3 версии SNMP:

  • Версия 1 — основной стандарт;
  • Версия 2c — доработанная в плане производительности версия 1, не включает в себя безопасность версии 2 и неофициально известна как SNMPv1.5. Доработка заключается в том, что параметры из MIB можно выбирать не по 1, а группой (параметры выбираются последовательно, перебором);
  • Версия 3 — доработана только безопасность по отношению к 2c, а именно шифрование и аутентификация.

В плане реализации работы между версиями разница небольшая, но поскольку только версия 3 безопасна, то именно она является актуальной, а версии 1 и 2c хотя всё ещё боевые, но считаются устаревшими. Хотя на практике из-за простоты повсеместно используется SNMP v2c.

Читайте также:  Linux удалить драйвера сетевой карты
База MIB

Структура базы непривычна для понимания, здесь просто нужно запомнить и со временем ничего непривычного не будет. Это структура перевёрнутого дерева, где ствол — 1 (иногда пишут .1), а ветви обозначаются цифрами начиная тоже с 1 и далее. Уровней вложенности может быть много, в ветке новые ветки и так далее. Большинство веток заканчиваются параметрами. Параметры внутри ветки также нумеруются с 1. Путь к параметру состоит из цифр начиная с со ствола и проходит через ведущие к параметру ветки. Цифры разделяются точками. Такой путь называется OID (Object ID). Важно отметить, что это стандарт — нумерация чётко прописана в данном стандарте и одинакова для всех производителей оборудования, но конкретный производитель может добавлять свои уникальные ветви, которые присутствуют только в его оборудовании.

Диспетчер SNMP (программа) имеет стандартную базу MIB, чтобы программа узнала о специфичных ветках и параметрах конкретного производителя, нужно подгрузить MIB этого производителя.

Почитать о MIB CISCO. OIDs полезных параметров придётся искать в интернете/документации.

Пример. Путь к стандартной ветке system, где хранятся такие, например, параметры как описание системы (sysDescr) и время прошедшее с запуска системы (sysUpTime) — 1.3.6.1.2.1.1. Путь к параметру sysDescr — 1.3.6.1.2.1.1.1, добавилась ещё 1, так как это первый параметр ветки. Путь к sysUpTime — 1.3.6.1.2.1.1.3 — третий параметр.

Проприетарные ветки производителей всегда располагаются по строго заданному пути iso.org.dod.internet.private.enterprises или в цифровом выражении 1.3.6.1.4.1.

Пример. Для CISCO путь будет 1.3.6.1.4.1.9, а для D-Link 1.3.6.1.4.1.171

Для загрузки MIB CISCO нужно использовать
CISCO IOS MIB Locator.

Подробнее о SNMP можно прочитать в 4 части курса CCNA.

Тестовая среда

Настраиваться будет маршрутизатор CISCO c3725, запущенный из под GNS3 и данные будут поступать в виртуальную машину (VM) Hyper-V. Агент SNMP уже является частью внутренней прошивки (IOS) маршрутизатора, а вот в качестве диспетчера будет использоваться бесплатное ПО — PowerSNMP Free Manager. CISCO рекомендует Free SNMP MIB Browser, не пробовал, не знаю. Соединяются маршрутизатор и VM посредством Облака GNS3. Для этого указываем в свойствах Облака внутренний виртуальный коммутатор, к которому подсоединена сетевая карта VM:

  • IP F0/0 маршрутизатора — 192.168.137.2/24
  • IP компьютера — 192.168.137.40/24
  • IP vEthernet (HUB1) — 192.168.137.1/24

На этом этапе считается, что все предварительные настройки уже выполнены.

SNMPv1/SNMPv2c

Версии настраиваются одинаково, так как версия не указывается при создании SNMP агента (строки сообщества), а лишь при создании ловушек. При создании строки сообщества задаётся лишь или право на чтение (RO), или право на запись (RW).

Пример. В маршрутизаторе настроен пока только интерфейс F0/0, ведущий к облаку (и VM). Введём команду создания агента (строки сообщества):

Создалось 2 группы на чтение — TEST v1 и TEST v2c. Удалим сообщество и группы:

Теперь создадим сообщество с правом на запись:

Снова введём команду:

Опять создалось 2 группы — v1 и 2c, только уже с правом и на чтение, и на запись:

На диспетчере SNMP для работы можно будет выбрать или 1, или 2 версию агента.

Настройка маршрутизатора

Полная настройка версий 1 и 2:

  • Команда 1 — создание списка доступа (SNMP_ACL).
  • Команда 2 — разрешает взаимодействие было только с указанным компьютером (192.168.137.40).
  • Команда 3 — возврат из режима конфигурирования списка доступа (config-std-nacl)# в режим глобальной конфигурации (config)#.
  • Команда 4 — создаём Агент SNMP (строку сообщества TEST) только для чтения (ro) — диспетчер сможет считывать значения параметров, но не сможет записывать новые значения и наконец, привязываем список доступа.
  • Команда 5 — указываем куда отсылать данные при срабатывании ловушки (192.168.137.40) и версия 1, для версии 2 будет — 2c вместо 1, имя сообщества (TEST).
  • Команда 6 — включаем ловушки и определяем какие именно ловушки нас интересуют (snmp).

В параметр snmp входят следующие ловушки:

Просмотреть полный перечень возможных ловушек можно командой:

Их там огромное количество:

Настройка VM

Нажатие кнопки Find покажет отсутствие доступных агентов в сети и срабатывание ловушки authentication:

Происходит так потому, что по умолчанию в программе стоит сообщество public, наш агент был опрошен, но отказал в доступе. Меняем public на TEST, агент опять не добавляется — широковещательный запрос. В свойствах ставим IP 192.168.137.2 и сообщество TEST, после чего агент успешно добавляется.

Ещё раз, строка сообщества (community) — это просто пароль, только называется по-другому.

Теперь погасим интерфейс F0/0 и снова включим:

С небольшой задержкой, ведь связанный интерфейс выключался, прилетают сообщения ловушек, смотрим:

OID отвечающий за состояние F0/0: 1.3.6.1.4.1.9.2.2.1.1.20.1 — первый полезный параметр. Следует обратить на то, что параметр находится в проприетарной ветке оборудования CISCO.

Теперь пробуем добавить этот параметр для мониторинга:

Параметр успешно добавился. Выставляем интервал опроса параметра и триггер: если значение параметра не равно up, то отправить сообщение на e-mail:

Задаём параметры e-mail и гасим F0/0. По истечению таймера состояние параметра изменилось на Timeout error, письмо не пришло — программа не оправляет сообщения по таймауту. Выставил опрос на минимум — 1 секунда, включил/выключил F0/0 ещё раз и вот долгожданное письмо:

Читайте также:  Linux команды переход по директориям

SNMPv3

Подробно настройка описана в курсе CCNA R&S 6.0 BRIDGING COURSE. Тут будет посложнее, но и поинтереснее — мозги гарантированно заскрипят 🙂

Настройка маршрутизатора

Удаляем всё что относится к предыдущей настройке кроме списка доступа. Далее, разбил настройку на 2 части, потом будет понятно почему.

Общие шаги
  • Шаг 1. Настройте ACL-список (уже сделано);
  • Шаг 2. Настройте представление SNMP;
  • Шаг 3. Настройте группу SNMP;
  • Шаг 4. Настройте пользователя как члена группы SNMP.
Часть 1

Агент SNMPv3 настраивается по-другому нежели SNMPv1/SNMPv2:

Вместо строки сообщества создаётся пользователь с паролем (cisco123) и шифрованием (aes 128, ключ шифрования snmp321) — следует запомнить, что первым указывается пароль пользователя (auth sha cisco123) и вторым ключ шифрования (aes 128 snmp321). Это важно.

Предварительно для пользователя создаётся группа, а ещё ранее вид. Вид определяет с какой частью дерева MIB предстоит работать.

Ещё раз по командам:

  • Команда 1 — создание вида (SNMP-RO) для работы с веткой MIB (system).
  • Команда 2 — создание вида (SNMP-RO) для работы с веткой MIB (mib-2), mib-2 входит в system — эта команда только для примера, что можно добавлять несколько веток.
  • Команда 3 — создание группы (TEST) версии 3 (v3) с аутентификацией и шифрованием (priv) только для чтения (read) для вида (SNMP-RO) и списком доступа (SNMP_ACL).
  • Команда 4 — создание пользователя (ADMIN) в группе (TEST) версии 3 (v3) аутентификацией по алгоритму (sha), паролем (cisco123) и шифрованием (priv) по алгоритму (aes 128) и ключом шифрования (snmp321).
  • Команда 5 — включаем ловушки и определение типов ловушек (snmp).

Тут надо вспомнить 3 уровня безопасности SNMPv3:

  • auth — group using the authNoPriv Security Level (MD5/SHA-1 аутентификация, без шифрования данных);
  • noauth — group using the noAuthNoPriv Security Level (без аутентификации и шифрования);
  • priv — group using SNMPv3 authPriv security level (MD5/SHA-1 аутентификация, шифрование данных DES/3DES/AES)

Для использования authPriv требуется прошивка с поддержкой криптографии (k9).

Теперь проверим что получилось:

По соображениям безопасности пользователи SNMP не показываются в конфигурации.

Часть 2

Подробная настройка получателя ловушек SNMPv3:

  • Команда 6 — указываем хост куда отсылать данные при срабатывании ловушки (192.168.137.40) версии 3, без шифрования и аутентификации (noauth) для пользователя (ADMIN).

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

Появилась новая группа TEST, хотя команды на её создание не было.

И вот такая занятная строка в конфиге:

Понять что это такое можно выполнив команду:

Помимо группы для ловушек были автоматически созданы дополнительные виды: //blog.ine.com/2008/07/19/snmpv3-tutorial/

Здесь чётко видно, что работа агента с запросами и работа агента с ловушками — 2 абсолютно разных процесса.

Настройка VM

Для начала погасим и включим интерфейс S0/0 (один из дополнительных интерфейсов, интерфейсы по умолчанию на маршрутизаторе выключены), прилетают сообщения ловушек, диспетчер определяет ловушки как версию 2+:

Как видно из рисунка у пользователя ADMIN для ловушек нет шифрования и пароля.

Дальше добавляем агента с указанием версии и атрибутов:

И пробуем добавить параметр 1.3.6.1.4.1.9.2.2.1.1.20.2 — состояние интерфейса S0/0 для мониторинга.

И то же самое для F0/0 — 1.3.6.1.4.1.9.2.2.1.1.20.1. В чем дело? А дело в том, что параметр находится в ветке private, а эту ветку мы не добавляли в вид для работы, добавим:

Состояние интерфейса отображается корректно. С агентом версии 3 всё.

Настройка ловушек v3 с паролем и шифрованием

Удаляем получателя ловушек :

Проверяем пользователя, группы, виды, конфигурацию, если что-то удалилось — восстанавливаем (на самом деле удалиться ничего не должно, но когда настраивал, то первые раза 3 каждый раз получалось по-разному). Теперь:

И заново всё проверяем. Автоматически создались виды, пользователь на месте с теми же параметрами, нет новой группы TEST, так как параметры аутентификации и шифрования совпадают с созданной ранее, исходной группой TEST. В конфигурации параметр для автоматически созданных видов дописался к строке группы:

Если теперь погасить/поднять интерфейс, то ловушки не приходят диспетчеру.

Пробуем добавить пользователя для ловушек версии 3, в программе есть такая возможность. Для этого нужно ввести помимо прочего Engine ID. Его можно найти просмотрев пользователя SNMP либо выполнив команду:

Программа ожидает ввода Engine ID в виде 80-00-00-09-03-00-C2-01-25-D0-00-00, автоматического преобразования нет. Вносим реквизиты пользователя, снова гасим/поднимаем интерфейс S0/0, ловушки приходят:

Открываем сообщение ловушки и видим, что пароль и шифрование задействованы:

Установка Net-SNMP

А как же быть со средой Linux? Для Centos:

Далее, если выполнить:

Конфигурацию демона SNMP после установки нужно отредактировать. Если посмотреть файл /etc/ snmp / snmpd . conf, то в нём по умолчанию доступны ветви:

Соответственно запросы не подпадающие под эти ветви будут возвращаться с ошибкой как выше. Комментируем и оставляем:

Затем рестартуем сервис:

Самые основные и нужные команды пакета:

  • snmpget — SNMP GET запрос;
  • snmpwalk — получает часть дерева значений с помощью SNMP GetNext запросов;
  • snmpset — SNMP SET запрос.

На этом рассмотрение базовой работы SNMP завершено.

Если тема заинтересовала, то предлагаю выполнить лабу по SNMP.

Оцените статью