Протокол SNMP – что это такое и как использовать для мониторинга. Установка службы SNMP в ОС Windows

Установка

Протокол Simple Network Management Protocol (SNMP) используется в системах сетевого управления для мониторинга сетевых устройствах для оповещения о событиях, которые требуют внимания администратора. Он состоит из набора стандартов по управления сетью, в том числе протокол прикладного уровня(Application Layer protocol), схемы базы данных и набор объектов данных.

В ОС Windows службы SNMP доступна в виде компонентов Windows, но они не устанавливаются по умолчанию.

Для установки SNMP в Windows, выполните следующие действия:

1) Нажмите кнопку Пуск – Панель управления

2) Нажмите кнопку «Установка и удаление программ».

3) В левой панели, нажмите кнопку «Добавить / удалить компоненты Windows»

4) Найдите и выберите пункт «" Management " and" Monitoring " Tools» и нажмите кнопку "Details”

5) Выберите «Simple Network Management Protocol»

6) Вы также можете установить «" WMI SNMP Provider" » , который позволяет клиентам получать доступ к информации SNMP через интерфейсы WMI (Windows Management Instrumentation)

После установки, найдите соответствующие службы в консоли управления службами("services." msc ):

Запустите "SNMP Service ”, чтобы включить агента SNMP, и службу "SNMP Trap Service ”, чтобы иметь возможность получать SNMP сообщения (SNMP Traps) от других агентов.

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

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

Настройка

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

Для настройки SNMP агента в Windows,

o Нажмите кнопку Пуск – Выполнить – введите «services.msc» и нажмите ввод. В результате откроется консоль управления службами.

o На правой панели щелкните правой кнопкой мыши по службе SNMP и выберите пункт «Свойства»

o Перейдите на вкладку » Agent » на вкладке, введите контактное имя и месторасположение сервера, а также отметьте события, сообщения о которых нужно передавать на сервер управления SNMP.

o Перейдите на вкладку «Traps» и введите наименование группы и получателей сообщений (Trap). Это укажет агенту SNMP сервера, на которые необходимо слать SNMP сообщения в случае возникновения неполадок.. Community name – это имя сервера управления SNMP.

o На вкладке Security (Безопасность) мы можем установить различные параметры безопасности для различных серверов SNMP, существуют следующие уровни: "Notify”, "READ ONLY”, "READ WRITE”, "READ CREATE”. » Read Write» - максимально допустимый уровень разрешений, при которых сервер управления SNMP может вносить изменения в систему, а уровень "READ ONLY”- подразумевает возможность лишь опрашивать систему, а вносить какие-либо изменения нельзя.

o Кроме того, по соображениям безопасности, вы можете выбрать опцию »Accept SNMP Packets from these hosts», с помощью которой можно определить список авторизованных серверов, которые могут опрашивать этого агента.

o Нажмите кнопку Применить и ОК.

o Щелкните правой кнопкой мыши по службе и выберите пункт «Перезапустить», чтобы изменения вступили в силу.

Большинство современных типов сетевого оборудования поддерживает протокол SNMP. Данный стандарт считается очень простым по структуре. Его внедрение осуществить в современных компаний несложно. Управление компьютерами посредством соответствующего протокола может быть осуществлено с применением широкого спектра программных решений. Какие основные возможности имеет SNMP? Каким образом задействуется соответствующий протокол на практике?

Что представляет собой протокол SNMP?

Для начала изучим основные сведения о рассматриваемой технологии. Что это — SNMP? Данная как Simple Network Management Protocol, и означает «Простой протокол сетевого управления». Данный стандарт относится к числу самых распространенных, что задействуются в целях управления различными девайсами в IP-сетях, функционирующих на базе архитектуры TCP/IP. Например, роутерами, коммутаторами, рабочими станциями, сетевыми принтерами.

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

Возможности SNMP

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

Рассмотрим теперь то, какие ключевые компоненты формируют инфраструктуру сетей, работающих на основе SMTP.

SNMP: основные компоненты

SNMP — протокол, который предполагает задействование нескольких сетевых компонентов. К основным можно отнести:

Управляемый объект — компьютер или приложение, на которое отправляет те или иные команды с использованием протокола, о котором идет речь, администратор сети;

База данных MIB;

Приложение-агент;

Программа-менеджер;

Система обеспечения сетевого взаимодействия.

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

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

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

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

Приложение-агент, являющееся компонентом сетевой инфраструктуры SMNP, обычно получает запросы с использованием порта 161. В свою очередь, программа-менеджер может задействовать любые порты, доступные в сети. При этом уведомления данный тип ПО получает обычно на порт 162.

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

Программа-менеджер в рамках протокола SNMP: основные возможности

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

Какое ПО применяется для управления сетью по протоколу SNMP?

Какие конкретно программы могут использоваться в качестве управляющих? В принципе, есть решения, адаптированные к внедрению в самых разных операционных системах протокола SNMP — Windows, Solaris. Если говорить о ПО для Windows, то в числе популярных, работающих в данной ОС и задействующих SNMP, — пакет, выпущенный Castle Rock Computing. В свою очередь, для Solaris разработано другое эффективное решение — Sun NetManager. Посредством обоих вариантов может быть выстроена эффективная базирующаяся на протоколе SNMP карта сети. Кроме того, они позволяют осуществлять прямую коммуникацию с MIB.

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

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

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

Особенности SNMP-сообщений

К основным сообщениям, обмен которыми может инициировать посредством протокола SNMP сервер администратора, относятся такие команды, как:

GetNextRequest;

GetBulkRequest;

InformRequest.

Сущность 1-й команды заключается в отправке запроса от программы-менеджера к приложению-агенту в целях получения того или иного значения по переменной — одной или по списку. В свою очередь, программа-менеджер получает ответ с определенными значениями.

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

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

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

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

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

Сущность 7-й команды заключается в том, что она, фактически, соответствует уведомлению об отправке сообщения от программы-менеджера к приложению-агенту и наоборот. Ее применение обусловлено тем, что в сетевой инфраструктуре те или иные сообщения в ряде случаев могут доставляться некорректно. Команда InformRequest, по сути, подтверждает факт успешной передачи команды от одного девайса к другому.

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

MIB: особенности функционирования базы

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

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

Так, если они внедряются в структуру MIB временно, то их имеет смысл разместить в разделе experimental. Непосредственно перед утверждением следует присвоить набору переменных отдельный номер. Для этого используется раздел private-enterprises. Это позволит инженерам или администраторам сети, в компетенции которых — SNMP-мониторинг и решение других задач по обеспечению функционирования инфраструктуры, открыть новую ветвь в структуре MIB для того, чтобы размещать переменные только от своей компании.

История появления SMNP

Интересно будет изучить сведения об истории разработки SNMP. Основная программная среда, в которой сейчас задействуется протокол SNMP — Windows. Однако, инициирована была его разработка еще в 1988 году - задолго до того, как операционная система от Microsoft, представленная в привычных интерфейсах, начала завоевывать рынки. Фактически, изначально SNMP разрабатывался для UNIX — семейства операционных систем, предназначенных для решения широкого круга задач по обеспечению функциональности различных компьютерных сетей. Хотя, безусловно, к тому моменту многие эксперты видели потенциал Windows, и не исключено, что разработка универсального сетевого протокола была во многом предопределена фактом потенциального роста популярности новой операционной системы.

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

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

Разработка SNMP: основные инструкции

В августе 1988 года предприятия, выпускающие сетевое оборудование, пришли к консенсусу. В процессе разработки нового протокола были применены некоторые уже действовавшие концепции. Специалисты, которые проводили совместную работу, выявили 3 ключевых документа: RFC 1065, 1066, а также 1067. Впоследствии они были дополнены, и появились новые — RFC 1155, 1156, а также 1157. Данные источники были переработаны, и в 1991 году на их основе была выпущена первая версия протокола SNMP.

Так, документ RFC 1155 содержал в себе инструкции, определяющие:

То, в какой структуре должна отражаться управляющая информация;

То, каковы основные принципы применения синтаксиса при определении имен для переменных.

Документ RFC 1155 был дополнен источником RFC 1212 в части, опять же, синтаксиса переменных. На момент утверждения протокола SMNP был разработан ряд новых документов, таких как RFC 1213. В нем отражался список ключевых переменных, посредством которых должна была осуществляться конфигурация сетевой инфраструктуры.

Источник RFC 1157 содержал параметры, необходимые для:

Определения команд, посредством которых сервер и управляемый объект могли взаимодействовать между собой;

Осуществления обмена trap-сообщениями.

Как только был опубликован и введен протокол SNMP, адаптер, сервер — в принципе, любой девайс, который входил бы в инфраструктуру сети, мог становиться объектом управления, осуществляемого в рамках стандартных процедур. Введение SNMP стало сильнейшим фактором роста мирового рынка сетевого оборудования. Также благодаря стандартизации стало возможным внедрение в самых широких масштабах новых интерфейсов, таких как, например, Ethernet, FDDI.

Резюме

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

Посредством стандартизованных сообщений в рамках протокола SNMP осуществляются:

Запросы одного или нескольких параметров MIB;

Последовательное прочтение различных значений по тем или иным параметрам, например, табличным;

Установка конкретных значений для одной или же нескольких переменных MIB;

Возврат девайсом ответа на тот или иной запрос другого устройства;

Отправка уведомительных сообщений о тех или иных сетевых процессах.

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

Что это — SNMP с точки зрения значения для современного IT-рынка? Данная технология, очевидно, в числе важнейших, и во многих случаях не имеющая альтернативы. И это несмотря на ее простоту, которая, однако, стала результатом многолетних разработок и согласований сетевых стандартов при участии ведущих производителей оборудования.

Сетевые коммуникации, в рамках которых задействуются возможности протокола MIB, предполагают использование программ-менеджеров, а также приложений-агентов. Первые направляют различные команды вторым, после чего программное обеспечение девайса осуществляет выполнение определенных алгоритмов. Также осуществляется передача данных по установленным схемам от приложения-агента к программе-менеджеру.

Управление компьютерами сети может осуществляться с главного сервера. Для этого может быть задействована специальная программа, например, Zabbix. SNMP — протокол, поддерживаемый программами, способными работать в разных операционных системах. Изначально SNMP разрабатывался для UNIX, но были созданы виды ПО, которые позволили его применять в ОС Windows, Sun Solaris.

Таким образом, что это — SNMP? Международный стандарт, позволяющий, прежде всего, интегрировать решения от разных производителей. Изначально алгоритмы управления ими бренды задавали свои собственные. Но благодаря разработке SNMP у них появилась возможность задействовать унифицированные команды, что стимулировало спрос на выпускаемые сетевые девайсы, стало эффективным драйвером роста рынка соответствующего типа оборудования.

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

Шаг 1. (Обязательно) Настройте строку сообщества и уровень доступа («только чтение» или «чтение и запись») с помощью команды snmp-server community string ro | rw .

Шаг 2. (Дополнительно) Документально зафиксируйте местоположение устройства с помощью команды snmp-server location text .

Шаг 3. (Дополнительно) Документально зафиксируйте системный контакт с помощью команды snmp-server contact text .

Шаг 4. (Дополнительно) Ограничьте доступ по SNMP, разрешив его только узлам NMS (диспетчерам SNMP), которые разрешены списком контроля доступа: определите список контроля доступа, затем укажите ссылку на этот список контроля доступа с помощью команды snmp-server community string access-list-number-or-name . Эту команду можно использовать как для определения строки сообщества, так и для ограничения доступа SNMP с помощью списков контроля доступа. При желании шаги 1 и 4 можно объединить в один; сетевое устройство Cisco объединяет две команды в одну, если они вводятся по отдельности.

Шаг 5. (Дополнительно) Укажите получателя операций ловушки SNMP с помощью команды snmp-server host host-id [ version { 1 | 2c | 3 [ auth | noauth | priv ]}] community-string . По умолчанию диспетчеры ловушек не определены.

Шаг 6. (Дополнительно) Включите ловушки на агенте SNMP с помощью команды snmp-server enable traps notification-types . Если в этой команде не определены типы уведомлений-ловушек, отправляются все типы ловушек. Если требуется применить конкретные типы ловушек, необходимо повторное использование этой команды.

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

Проверка настройки SNMP

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

ПК 1 и R1 настроены для отображения выходных данных, связанных с ловушками SNMP, в диспетчере SNMP.

Как показано на рисунке 1, компьютеру ПК 1 назначен IP-адрес 192.168.1.3/24. Сервер Syslog Kiwi установлен на ПК 1.

После настройки маршрутизатора R1 при возникновении события, подходящего под определение ловушки, на диспетчер SNMP отправляются ловушки SNMP. Например, если состояние интерфейса меняется на активное, на сервер отправляется ловушка. Изменения настройки на маршрутизаторе также вызывают отправку ловушек SNMP диспетчеру SNMP. Список из более чем 60 типов уведомлений-ловушек можно увидеть с помощью команды snmp-server enable traps?. В настройке R1 в команде snmp-server enable traps notification-types не указаны типы уведомлений-ловушек, поэтому отправляются все ловушки.

На рисунке 2 в меню Setup (Настройка) установлен флажок. Это означает, что администратору сети нужно, чтобы программное обеспечение диспетчера SNMP принимало ловушки SNMP через порт UDP 162.

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

Для проверки настройки SNMP используйте любые варианты командыshow snmp в привилегированном режиме. Самой полезной является просто команда show snmp , так как она отображает информацию, которая обычно представляет интерес при проверке настройки SNMP. Если речь идёт о настройке SNMPv3, при использовании большинства других параметров команды отображаются только отдельные части выходных данных команды show snmp . На рисунке 4 представлен пример выходных данных show snmp .

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

Хотя протокол SNMP полезен для мониторинга и отладки (как показано на рисунке), он может привести к возникновению уязвимостей с точки зрения безопасности. По этой причине перед внедрением SNMP изучите лучшие практические рекомендации по обеспечению безопасности.

В SNMPv1 и SNMPv2c используются строки сообщества SNMP в незашифрованном виде для аутентификации доступа к объектам MIB. Строки сообщества, как и любой другой пароль, следует тщательно выбирать, чтобы их было непросто взломать. Кроме того, строки доступа необходимо регулярно менять в соответствии с политиками безопасности сети. Например, строки изменяются, если сетевой администратор меняет роли или уходит из компании. Если протокол SNMP используется только для наблюдения за устройствами, используйте сообщества только для чтения.

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

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

  • Команда snmp-server group groupname { v1 | v2c | v3 { auth | noauth | priv }} создаёт новую группу SNMP на устройстве.
  • Команда snmp-server user username groupname v3 [ encrypted ] [ auth { md5 | sha } auth-password ] [ priv { des | 3des | aes { 128 | 192 | 256 }} priv-password ] используется для добавления нового пользователя в группу SNMP, определённую в команде snmp-server group groupname .

Примечание . Настройка SNMPv3 выходит за рамки учебных программ CCNA.