Работа с snmp в windows

Добрый день уважаемые читатели! Уверен что многим из прочитавших мою предыдущую статью о SNMP, уже не терпится ринуться в бой и опробовать применение протокола SNMP на практике. Не будем откладывать это в долгий ящик, и сегодня рассмотрим применение протокола SNMP для мониторинга за рабочей станцией с ОС Windows 7.

В качестве тестового стенда я буду использовать рабочую станцию с ОС Windows 7 Профессиональная, в которой установлен Oracle VM VirtualBox,  в котором развернута еще одна гостевая ОС Windows 7 Корпоративная (Вот такие дистрибутивы попались мне под руку =) ).  В настройках VirtualBox выставлен тип подключения Сетевой мост. В итоге мы получаем как бы две рабочие станции соединенные между собой сегментом сети. В своих экспериментах вы можете использовать две реальные рабочие станции или же другие средства виртуализации, главное чтобы у вас было две станции связанные между собой по  TCP/IP. В моем эксперименте управляемая станция (агент) будет иметь IP адрес 192.168.1.12, а управляющая (менеджер) 192.168.1.2.

Теперь перейдем непосредственно к настройке SNMP. Для начала настроим управляемою станцию. Переходим на ней в Пуск — Панель управления — Программы — Программы и компоненты — Включение или отключение компонентов Windows.

Включаем встроенные компоненты SNMP
Включаем встроенные компоненты SNMP

В открывшемся окне выбираем SNMP протокол — WMI поставщик SNMP и ставим галочку. Данное действие позволяет получать доступ к информации SNMP через интерфейсы WMI (Windows Management Instrumentation). Нажимаем ОК.



Далее открываем Пуск — Панель управления — Система и безопасность — Администрирование — Службы. Ищем в открывшемся списке службу с названием «Служба SNMP«. Щелкаем по ней правой кнопкой и выбираем Свойства. Смотрим, если служба не запущена, то запускаем её. Далее попробуем её настроить, для этого переходим на вкладку Агент SNMP. Заполняем её в соответствии с рисунком или своими пожеланиями (в принципе для первого раза этот шаг вообще можно пропустить).

Настройка агента SNMP
Настройка агента SNMP

Далее переходим на вкладку безопасность. Тут немного интереснее. Добавляем приемлемые имена сообществ и права сообщества (Чтение, Чтение/запись и т.д.). В качестве имени community можете задать любое англоязычное слово.

Настройки безопасности протокола SNMP
Настройки безопасности протокола SNMP

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

Добавили IP адрес менеджера
Добавили IP адрес менеджера

На этом настройку SNMP агента можно считать законченной.  Перезапускаем службу SNMP на агенте и переходим к настройки менеджера.

На станции управления нам необходимо установить программное обеспечение которое будет выступать в роли менеджера SNMP. Windows 7 не обладает встроенным менеджером SNMP. Поэтому нам придется поискать какое-то стороннее программное обеспечение. Для ваших первых экспериментов подойдет любой SNMP менеджер, например PowerSNMP Free Manager. Ищем, скачиваем и устанавливаем его. При первом запуске он попросит вас указать ряд сведений, в своем случае я выставил настройки вот так:

Первоначальные настройки менеджера SNMP
Первоначальные настройки менеджера SNMP

Открываем вкладку DiscoverSNMP agent… На ней нажимаем на кнопку Properties. В открывшемся окне указываем имя community, которое мы ранее задавали в настройках агента.

Добавляем агента SNMP
Добавляем агента SNMP 

Нажимаем ОК. Address  указываем IP адрес управляемой станции и нажимаем на кнопку Find. Если все сделано верно, менеджер увидит агента и отобразит его.

Менеджер увидел агента SNMP управляемой станции
Менеджер увидел агента SNMP управляемой станции

Ставим галку на найденном агенте и нажимаем на кнопку Add. Найденный агент появится в списке наших агентов. Все, основное сделано, связка Агент — Менеджер настроена, теперь можно переходить непосредственно к опросу по протоколу SNMP. Для этого щелкаем правой кнопкой мыши по только что добавленному агенту и выбираем пункт Query… Для того чтобы узнать значение какого либо параметра агента, нам необходимо знать его OID. Конкретное значение OID для рабочей станции под Windows 7 можно найти в MIBах от Microsoft. Для примера рассмотрим OID 1.3.6.1.2.1.25.2.2.0, отвечающий за общее количество RAM на рабочей станции. Попробуем запросить его у агента. Нажимаем на кнопку ADD, вбиваем 1.3.6.1.2.1.25.2.2.0 и нажимаем на кнопку Query. Если все сделано верно, менеджер получит данное значение полученное от агента.

Получили объем ОЗУ рабочей станции по протоколу SNMP
Получили объем ОЗУ рабочей станции по протоколу SNMP

Как мы видим менеджер получил от агента общее количество ОЗУ в килобайтах.


И так мы научились считывать с устройств значения их некоторых параметров по SNMP. На сегодня это все, но остальное еще впереди. До новых встреч! 

SNMP (
Simple Network Management Protocol
) — это классический протокол для мониторинга и сбора информации о сетевых устройствах (сервера, сетевое оборудование, рабочие станции, принтеры и т.д.). Протокол SNMP довольно легкий, быстрый, для передачи данных использует UDP порты 161 и 162. В этой статье мы рассмотрим, как установить и настроить службу SNMP в Windows Server 2022/2019 и Windows 10/11.

Содержание:

  • Установка службы SNMP в Windows Server 2022/2019
  • Установка SNMP агента в Windows Server Core
  • Установка службы SNMP в Windows 10/11
  • Настройка службы SNMP в Windows Server и Windows 10/11

Установка службы SNMP в Windows Server 2022/2019

В Windows Server службу SNMP можно установить с помощью Server Manager.

Выберите Add roles and features -> Features. Выберите SNMP Service (если нужно отметьте также SNMP WMI Providers).

Служба SNMP WMI Provider позволяет опрашивать SNMP устройство через WMI.

Установка роли SNMP в Windows Server 2019

Нажмите Next -> Install и дождитесь окончания установки.

Установка SNMP агента в Windows Server Core

В Windows Server Core можно установить SNMP с помощью веб-интерфеса Windows Admin Center и PowerShell.

Если вы используете Windows Admin Center, подключитесь к хосту Windows Server, выберите Roles and Features -> SNMP Service.

Установка SNMP через Windows Admin Center

Т.к. в Windows Server Core отсутствует графический интерфейс, а для его управления используется командная строка, вы можете установить службу SNMP из командной строки PowerShell.

Для установки ролей в Windows Server из PowerShell используется командлет Install-WindowsFeature.

Проверьте, что служба SNMP не установлена:

Get-WindowsFeature SNMP*

установить SNMP службу в Windows Server Core из PowerShell

Установите роль SNMP и WMI провайдер:

Install-WindowsFeature SNMP-Service,SNMP-WMI-Provider -IncludeManagementTools

Проверьте, что службы SNMP запущены:

Get-Service SNMP*

В нашем примере SNMP служба запущена, а SNMPTRAP остановлена.

проверить состояние службы SNMP из powershell

Установка службы SNMP в Windows 10/11

Вы можете использовать службу SNMP не только в Windows Server, но и в десктопных редакциях Windows 10 и 11.

В Windows 10/11 служба SNMP, вынесена в отдельный компонент Feature On Demand (как RSAT и OpenSSH).

Вы можете установить SNMP через панель Settings. Перейдите в Apps -> Optional features -> Add an optional feature -> View features.

В списке доступных компонентов выберите Simple Network Management Protocol (SNMP) и WMI SNMP Provider. Для начала установки нажмите Next (понадобится интернет подключение к серверам Microsoft).

установка службы Simple Network Management Protocol (SNMP) в Windows 10 и 11

Для установки службы SNMP через PowerShell, используйте команду:

Add-WindowsCapability -Online -Name SNMP.Client~~~~0.0.1.0

Для установки службы SNMP без подключения к интернету, вам понадобится скачать ISO образ Windows 10/11 Features on Demand из личного кабинета на сайте лицензирования Volume Licensing Service Center (VLSC).

Для офлайн установки службы SNMP с такого ISO образа используется команда:

Add-WindowsCapability -Online -Name SNMP.Client~~~~0.0.1.0 -LimitAccess -Source \\msk-fs01\Distr\Windows-FOD\Win11\

Настройка службы SNMP в Windows Server и Windows 10/11

Вы можете настроить параметры службы SNMP в консоли services.msc. Найдите службу SNMP Services в списке и откройте ее свойства.

Обратите внимание, что у службы SNMP есть несколько дополнительных вкладок:

  • Agent
  • Traps
  • Security

На вкладке Agent указывается базовая информация об устройстве (контакты администратора, местоположение). Здесь же можно указать тип информации, который может отправлять данное устройство при SNMP опросе.

Базовые настройки службы SNMP в Windows

В старых версиях протокола SNMP (SNMP v.1 и SNMP v.2) для авторизации пользователя используется строка сообщества (community string). На вкладке Security можно создать несколько строк подключения.

Можно выбрать один из пяти уровней доступа для сообщества:

  • READ ONLY — позволяет получать данные с устройства;
  • READ WRITE — позволяет получать данные и изменять конфигурацию устройства;
  • NOTIFY — позволяет получать SNMP ловушки;
  • READ CREATE – позволяет читать данные, изменять и создавать объекты;
  • NONE

Вы можете создать несколько community string. Для этого нужно задать имя и выбрать права/ Для мониторинга состояние сервера достаточно выбрать READ ONLY.

В списке Accept SNMP packets from these hosts можно указать имена/IP адреса серверов, которым разрешено опрашивать данное устройство. Если вы не хотите ограничивать список разрешенных устройств, оставьте здесь Accept SNMP packets from any hosts.

Разрешить доступ к Windows через SNMP, создать community string

На вкладке Traps указываются адрес серверов, на который SNMP агент должен отправлять SNMP-ловушка (SNMP trap). SNMP Trap это широковещательный USP пакет, используемый для асинхронного уведомления менеджера (например, сообщение о критическом событии).

Не забудьте открыть в Windows Defender Firewall правила, разрешающие входящий и исходящий трафик для SNMP запросов и ловушек (TRAP). Нужные правила фаейрвола можно включить с помощью PowerShell.

В Windows Firewall есть несколько готовых правил для SNMP трафика:

Get-NetFirewallrule -DisplayName *snmp* |ft

  • SNMPTRAP-In-UDP
  • SNMPTRAP-In-UDP-NoScope
  • SNMP-Out-UDP
  • SNMP-In-UDP-NoScope
  • SNMP-Out-UDP-NoScope
  • SNMP-In-UDP

Можно включить все правила, или только определенное:

Get-NetFirewallrule -DisplayName *snmp* | Enable-NetFirewallRule

Get-NetFirewallrule SNMP-Out-UDP | Disable-NetFirewallRule

Правила Windows Defender Firewall для SNMP трафика

В списке служб Windows есть еще одна служба SNMP Trap. Она используется для получения сообщений от других SNMP агентов и пересылки на SNMP сервера (обычно это система мониторинга, опрашивающая устройства по SNMP, например PRTG или Zabbix).

Если вы настраиваете SNMP на Windows Server Core, вы не сможете использовать графический интерфейс службы SNMP для настройки ее параметров. Вместо этого придется вносить изменения в реестр с помощью PowerShell. Настройки службы SNMP хранятся в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters.

Следующие команды зададут описание агента:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\services\SNMP\Parameters\RFC1156Agent" -Name "sysContact" -Value "[email protected]" -PropertyType REG_SZ
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\services\SNMP\Parameters\RFC1156Agent" -Name "sysLocation" -Value "MSK_Datacenter1" -PropertyType REG_SZ

Для каждой ловушки SNMP придется создать отдельный ключ в HKLM\SYSTEM\CurrentControlSet\services\SNMP\Parameters\TrapConfiguration с именем community.

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\services\SNMP\Parameters\TrapConfiguration\public1"

Укажите разрешения для community:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities" -Name "public1" -Value 4 -PropertyType DWord

Возможные значения:

  • 1 — NONE
  • 2 — NOTIFY
  • 4 — READ ONLY
  • 8 — READ WRITE
  • 16 — READ CREATE

Для каждого community можно указать список серверов, с которых разрешено принимать запросы:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers" -Name "1" -Value "server1.winitpro.ru" -PropertyType REG_SZ

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

Get-Service SNMP|Restart Service

Если нужно распространить эти SNMP настройки на множество компьютеров/серверов Windows в домене, используйте возможности внесения изменений в реестр через GPO.

Проверить работу службы SNMP можно с помощью утилиты snmpwalk (доступна в любом Linux дистрибутиве):

# snmpwalk -v 2c -c public1 -O e 192.168.13.122

В этом примере мы опросили наш Windows хост через версию протокола SNMPv2.

snmpwalk опрос Windows через SNMP

Утилита вернула базовыую информацию о хосте (syscontact, sysname, syslocation) и довольно большое количество информации о состоянии сервера Windows.

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

Способ №1 Включение SNMP в Windows.

Стандартным, идеальным для пользователя считается следующий способ, он работает в Windows 7 и некоторых сборках Windows 10:

1. Заходим в Панель Управления.
2. Находим меню «Установка и удаление программ» или «Программы и компоненты».
3. В открывшемся окне слева в списке переходим по ссылке «Включение или отключение компонентов Windows».
4. В списке «Компоненты Windows» ищем строчку «Компонент SNMP» и отмечаем галочкой — Нажимаем «ОК».
5. Осталось перейти в Службы (Панель управления — Администрирование — Службы) где выбираем среди всех служб «Служба SNMP» и запускаем.

Способ №2 Включение и настройка SNMP в Windows 10.

Если первый способ не увенчался успехом, то второй нам поможет:

1. Для начала нам нужно будет в меню Пуск найти и запустить WindowsPowerShell «ЗАПУСК ОТ ИМЕНИ АДМИНИСТРАТОРА»!!!.
2. Вводим команду для проверки доступности SNMP — службы :

Get-WindowsCapability -Online -Name "SNMP*"

Вывод команды будет следующим:

Name: SNMP.Client~~~~0.0.1.0
State: NotPresent
DisplayName: SNMP-протокол.

Как видим в строке состояния указано, что SNMP-протокол не представлен.
P.S. Бывали случае, когда в строке состояния указано Installed, но все равно службы SNMP нет. В этом случае все равно переходим к следующему 3 пункту.

3. Устанавливаем службу SNMP командой:

Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0"

Видим процесс установки и получаем ответ:

Path:
Online: True
RestartNeeded: False

4. Снова проверим состояние службы SNMP командой из пункта 2:

Get-WindowsCapability -Online -Name "SNMP*"

Вывод команды:

Name: SNMP.Client~~~~0.0.1.0
State: Installed
DisplayName: SNMP-протокол.

5. Обязательно перезагружаем компьютер.
После запуска переходим в Службы и находим «Служба SNMP».
Заходим в свойства службы SNMP. Если состояние службы остановлена, нужно запустить ее кнопкой «Запустить» и в меню «Тип запуска» выбираем «Автоматически».

Способ 3. Как установить SNMP на Windows Server.

1. Включить SNMP можно в «Параметры» — раздел «Приложения и возможности»- ссылка «Дополнительные возможности».

2. В окне «Дополнительные возможности» нажимаем «Добавить компонент» и выбираем в списке «SNMP-протокол» — Установить.

3. Перезагружаем систему.

Как настроить SNMP в Windows.

Необходимо найти службу «Служба SNMP» и открыть свойства службы.

— На вкладке «Безопасность» установим флажок «Посылать ловушку проверки подлинности».

— Нажмем кнопку «Добавить» для настройки «SNMP Community».

— Выбираем уровень доступа (None, Notify, READ ONLY, READ WRITE, READ CREATE). Для мониторинга состояния сервера достаточно выбрать Read Only.

— По-умолчанию community чаще всего указывается public для уровня READ ONLY или private для Read Write.

— Ниже есть пункт «Принимать пакеты SNMP от любого узла» и «Принимать пакеты SNMP от следующих узлов». Здесь вы можете указать конкретный адрес вашего сервера мониторинга, который будет собирать данные или оставить 1 вариант, если вы хотите, что бы не было ограничений по ip-адресу.

— Сохраняем изменения и перезапускаем службу SNMP.

Simple Network Management Protocol (SNMP) — это протокол прикладного уровня, он делает возможным обмен данными между сетевыми устройствами.

SNMP — это не продукт, а свод правил. Он определен Советом по архитектуре Интернета и является частью пакета TCP/IP. SNMP управляется и поддерживается Инженерной группой Интернета (IETF).

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

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

Архитектура SNMP

архитектура SNMP - схема
Схема SNMP. Источник: IMB

Компоненты, составляющие архитектуру SNMP:

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

Сетевая станция управления — NMS

Network Management Station (NMS) удаленно мониторит управляемые устройства, получает данные, собранные мастер-агентами, отслеживает производительность и представляет полученную информацию в графическом виде. Встроенный менеджер NMS отвечает за связь с агентами.

Агенты

Мастер-агент

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

Субагент

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

Управляемый компонент

Это подключенное к сети устройство или программное обеспечение с встроенным субагентом. К таким устройствам относятся не только маршрутизаторы, коммутаторы и серверы, но и IP-видеокамеры, МФУ и IP-телефоны. К софту с субагентами также относятся антивирусные программы, системы резервного копирования, ПО для систем ИБП.

База управляющей информации — MIB

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

Идентификатор объекта — OID

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

Например, OID 1.3.6.1.4.868.2.4.1.1.1.3.3562.3. означает iso.org.dod.internet.private.transition.products.chassis.card.slotCps.
cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3.

Используя первые 6 цифр этого OID, можно пройти по дереву на схеме.

дерево OID в MIB
Схематичное представление дерева OID. Источник: IBM

Часть значений в OID содержит данные о производителе устройства, что позволяет быстро получить определенную информацию о девайсе.

Древовидная иерархия MIB и OID в SNMP выглядит несколько запутанной, но у нее есть свои преимущества. Это простая и гибкая система организации сетевых устройств, она работает вне зависимости от размера сети.

Теория и логика работы протокола SNMP

Предназначение

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

PDU

Менеджеры и агенты обмениваются данными через протокол UDP. Вместо него также может использоваться TCP, IPX или протокол MAC-уровня. Обмен данными основан на Protocol Data Unit (PDU).

Всего в SNMP семь PDU:

  • GET — запрос менеджера NMS на получение данных c устройства.
  • GETNEXT — запрос, аналогичный GET. Отличие лишь в том, что менеджер запрашивает данные, находящиеся на следующем уровне иерархии OID, в MIB.
  • SET — с помощью этого запроса менеджер изменяет или присваивает устройству новые данные.
  • RESPONSE — сообщение от агента, высылаемое в ответ на запрос данных.
  • TRAP — уведомление о произошедшем событии или ошибке. Агент отправляет его сразу после наступления события, не дожидаясь запроса менеджера. Менеджер никак не подтверждает получение сообщения, что может стать проблемой.
  • GETBULK — запрос агенту на извлечение с устройства массива данных. Это улучшенный вариант запроса GETNEXT.
  • INFORM — сообщение, аналогичное TRAP, но с подтверждением получения. Агент будет отправлять уведомление, пока менеджер не подтвердит, что оно дошло.

INFORM, GETBULK — есть только во второй и третьей версиях протокола SNMP.

Схема PDU

IP заголовок TCP/IP TCP/IP
UDP заголовок TCP/IP TCP/IP
Версия SNMP v1/v2/v3 PDU
Строка
сообщества
Public, Private PDU
Тип PDU Get, GetNext, Response, Set, Trap, GetBulk,
Inform
PDU
ID запроса Идентификатор запроса PDU
Статус ошибки 0, 1, 2, 3, 4, 5 PDU
Индекс ошибки 0, 1 PDU
Связанные
переменные
Одна или несколько переменных в
запросе
PDU

Применение

Статусы ошибок и их описание.

  • 0 — noError — Процесс завершен успешно.
  • 1 — tooBig — Объект слишком большой и не помещается в сообщение Response.
  • 2 — noSuchName — Для запросов GET и SET: запрошенная переменная не существует в базе MIB. Для запросов GETNEXT: переменная не имеет приемника в дереве MIB.
  • 3 — badValue — Для запросов SET: сделана ошибка в синтаксисе или задано недопустимое значение.
  • 4 — readOnly — Ошибка не определена.
  • 5 — genErr — Прочие ошибки, например, попытка присвоить значение, превышающее пределы реализации.

Сетевые порты SNMP

По умолчанию SNMP использует UDP-порты 161 и 162. Менеджер отправляет запросы на порт 161 агента. С порта 161 агент отправляет ответ менеджеру. При отправке запроса менеджер добавляет к нему ID, а агент вставляет этот ID в ответ, чтобы менеджер мог связать свой запрос с ответом агента.

Ловушки агент высылает на порт 162 менеджера. Если используется DLTS или TLS, то агент высылает сообщения на порт 10162, а менеджер — на порт 10161. Администратор может изменить порты SNMP, используемые по умолчанию, на любые другие.

Ловушки

Ловушка (Trap) — это важнейший способ коммуникации в SNMP. Менеджер отвечает за большое количество устройств, на многих из них может быть несколько управляемых компонентов. Агент отправляет ловушку по своей инициативе, когда необходимо сообщить менеджеру о событии. Например, ловушка может выслать отчет о перегреве машины или о том, что в тонере закончились чернила.

Получив уведомление, менеджер выбирает нужное действие, например, опрашивает агента, чтобы получить полное представление о том, что произошло. Перечень уведомлений, которые посылает ловушка:

  • 0 — coldStart — Холодный запуск устройства.
  • 1 — warmStart — Горячий запуск устройства.
  • 2 — linkDown — Интерфейс отключился.
  • 3 — linkUp — Интерфейс включился.
  • 4 — authenticationFailure — Менеджер выслал сообщение с неверной строкой сообщества.
  • 5 — egpNeighborLoss — Агент потерял связь с хостом по протоколу Exterior Gateway Protocol (EGP).
  • 6 — entrpriseSpecific — Произошло событие, характерное для производителя данного устройства.

В SNMP есть два типа ловушек: Trap и Inform. Отличия между ними в том, что после получения Inform менеджер подтверждает получение ловушки. В противном случае агент будет отправлять Inform, пока не получит подтверждения. А вот после получения Trap менеджер не отправляет подтверждение. Если сообщение не дошло до менеджера, агент об этом не узнает.

Версии протокола SNMP

SNMPv1

Первая версия протокола создана в 80-х годах XX века. Легка в настройке — требуется только строка community. Версия широко используется до сих пор.

SNMPv2с

Вторая версия протокола SNMP появилась в 1993 году. Разработчики добавили в нее новый запрос GetBulk и ловушку Inform, а также усовершенствовали безопасность.

У этой версии есть два способа коммуницировать с устройствами, поддерживающими SNMPv1: двуязычная система сетевого управления и прокси-агенты. Прокси-агенты выполняют роль мастер-агентов, а в двуязычной системе управления менеджер определяет, какую версию SNMP поддерживает агент, и связывается с ним через SNMPv1 или SNMPv2c.

SNMPv3

Третья версия вышла в 1998 году. Разработчики добавили в SNMP криптографическую защиту, облегчили удаленную настройку и администрирование объектов. Этого удалось достичь за счет определения набора стандартизованных объектов управления, называемых объектами MIB удаленного сетевого мониторинга, — RMON MIB.

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

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

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

Основная проблема с безопасностью в том, что почти все оборудование поддерживает версию SNMPv1. И только часть работает с версиями SNMPv2с и SNMPv3. Именно поэтому самой популярной стала SNMPv2с. Она способна работать с устройствами, которые поддерживают первую или вторую версии SNMP.

Модели безопасности протоколов SNMP по версиям

SNMPv1 Community–based security
SNMPv2c Community–based security
SNMPv2u User–based security
SNMPv2 Party–based security
SNMPv3 User–based security

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

Строка сообщества зависит от вендора устройства. Часто вендоры по умолчанию выбирают «PUBLIC» в качестве пароля, поэтому первым делом на новых устройствах нужно изменить строку сообщества для защиты сети от злоумышленников.

Строки сообщества бывают трех видов:

  • только для чтения — позволяет получать данные с устройства;
  • чтение/запись — позволяет получать данные и изменять конфигурацию устройства;
  • строка сообщества SNMP Trap — позволяет получать ловушки.

Строка сообщества широко используется из-за своей простоты и наличия внешних систем безопасности.

Party-based Security Model — модель на основе так называемых «сторон». Для коммуникации между менеджером и агентов выбирается логическая сущность, называемая стороной. Она устанавливает протоколы аутентификации и шифрования, а отправитель и получатель соглашаются со способом шифрования и дешифровки данных. Сложность использования модели помешала ее распространению среди пользователей.

User-based Security Model — модель безопасности на основе пользователей. Уровни аутентификации, безопасности и конфиденциальности протоколов и ключей настраиваются у агента и менеджера.

Лучше всего безопасность проработана в третьей версии SNMP за счет USM и VACM. Упрощенно VACM (View-based Access Control Model) можно описать как модель с разными уровнями доступа для групп менеджеров. При получении запроса агент решает, разрешен ли определенной группе менеджеров доступ к чтению, записи и получению уведомлений.

Типичные проблемы безопасности

  • Периметр сети может быть небезопасен, если запросы SNMP разрешены межсетевыми экранами и пакетными фильтрами.
  • При активации функций SNMP на некоторых устройствах имя строки сообщества по умолчанию PUBLIC. Хакер начнет поиск именно с этого.
  • Прекращение отправки ловушек. Изменив запись в команде snmpEnableAuthenTraps, злоумышленник может прекратить отправку ловушек. В случае неудачной аутентификации он может не беспокоиться о том, что его безуспешные попытки взлома привлекут внимание администратора сети.
  • Удаленный пакетный перехват при помощи снифферов — программ анализа сетевого трафика.
  • Слабый контроль доступа к строке сообщества чтение-запись. Она дает всем пользователям возможность изменять конфигурацию устройств сети SNMP. Администратор должен внимательно следить за этим, иначе бесконтрольное изменение конфигураций поможет злоумышленнику нанести вред системе.

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

Практическое применение протокола

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

Возможности SNMP-протокола

Благодаря протоколу администратор может:

  • удаленно сбрасывать пароли и перенастраивать IP-адреса;
  • собирать информацию о нагрузке на пропускную способность сети;
  • отправлять запросы для мониторинга сетевых устройств;
  • получать уведомления о заканчивающемся пространстве на диске;
  • отслеживать нагрузку на СPU сервера и получать сообщения о превышении допустимого порога;
  • получать уведомления о неисправности подключенного к сети устройства;
  • в реальном времени получать уведомления об ошибках на устройствах;
  • собирать информацию об ошибках.

При помощи стороннего ПО можно также:

  • управлять облачными сервисами;
  • сканировать по диапазону IP-адресов;
  • добавлять данные через кастомные OID.

SNMP и переход с IPv4 на IPv6

Протокол по умолчанию должен работать с IPv4 или IPv6. На практике IPv6 создает определенные проблемы для работы SNMP. Эти проблемы связаны объектами MIB, содержащими сетевые адреса. OID в MIB хранят информацию для нескольких уровней TCP/IP, и различия между IPv4 и IPv6 будут отражены в OID.

Отсутствие поддержки IPv6 в существующих объектах MIB проявляется двумя способами:

  • объекты MIB поддерживают только IPv4, но не IPv6;
  • содержащиеся в OID IPv4-адреса не обязательно представляют собой IP-адрес.

Эти проблемы решаются также двумя способами:

  • созданием новых баз MIB с поддержкой только IPv6 или независимых от версий протокола Protocol-version independent (PVI);
  • модификацией MIB для добавления новых или обновления существующих OID с поддержкой IPv6.

Инсталляция

Настройка SNMP в Windows

Она подробно описана в документации Microsoft.

Настройка данных агента SNMP

Пуск → Панель управления → Администрирование → Управление компьютером.

  1. В дереве консоли надо развернуть узел «Службы и приложения» и выбрать пункт «Службы».
  2. В области справа дважды щелкнуть элемент «Служба SNMP».
  3. Затем открыть вкладку «Агент».
  4. Ввести имя пользователя или администратора компьютера в поле «Контакт», а затем ввести физическое расположение компьютера или контакта в поле «Расположение». Эти комментарии обрабатываются как текст и являются необязательными.
  5. В разделе «Служба» надо установить флажки рядом со службами, предоставляемыми компьютером и нажать «OK».

Настройка сообщества и ловушек SNMP

Пуск → Панель управления → Администрирование → Управление компьютером.

  1. В дереве консоли надо развернуть узел «Службы и приложения» и выбрать пункт «Службы».
  2. В области справа дважды щелкнуть элемент «Служба SNMP».
  3. Открыть вкладку «Треппинг».
  4. В поле «Имя сообщества» ввести имя сообщества и нажать кнопку «Добавить в список».
  5. В разделе «Адресаты ловушек» нажать кнопку «Добавить».
  6. В поле «Host Name» ввести имя, IP-адрес узла и нажать «Добавить». Имя узла или адрес появится в списке назначение ловушек.
  7. Нажать «ОК».

Настройка безопасности SNMP

Пуск → Панель управления → Администрирование → Управление компьютером.

  1. В дереве консоли нужно развернуть узел «Службы и приложения» и выбрать пункт «Службы».
  2. В области справа дважды щелкнуть элемент «Служба SNMP».
  3. Открыть вкладку «Безопасность».
  4. Установить флажок «Пересылка ловушек проверки подлинности», если необходимо, чтобы агент отправлял ловушку при сбое проверки подлинности.
  5. В разделе «Приемлемые имена сообществ» надо нажать кнопку «Добавить».
  6. В поле «Права сообщества» выбрать разрешения, чтобы указать, как узел будет обрабатывать запросы SNMP от выбранного сообщества.
  7. В поле «Имя сообщества» ввести нужное имя сообщества с учетом регистра, а затем нажать кнопку «Добавить».
  8. Затем, чтобы принимать запросы SNMP от любого узла в сети, независимо от их удостоверения, надо выбрать вариант «Принимать пакеты SNMP с любого узла».
  9. Чтобы ограничить принятие пакетов SNMP, нужно нажать «Принимать пакеты SNMP с этих компьютеров», затем нажать «Добавить» и ввести в поле имя узла, IP-адрес или IPX-адрес соответствующего узла. Нажать «Добавить», а затем «ОК».

Настройка SNMP в Linux

Настройка SNMP в CentOS 7

Сначала нужно установить последние обновления при помощи yum/dnf:

yum update 

затем установить SNMP:

yum install net-snmp net-snmp-utils

и создать копию конфигурационного файла:

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

теперь нужно отредактировать настройки агента

nano /etc/snmp/snmpd.conf

и добавить строки:

community public
syslocation MyLocation
syscontact admin@example.com

Локацию и email лучше указать реальные.

Пора добавить сервис в автозагрузку и перезапустить его:

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 в Debian 10

Сначала нужно установить демона, клиента и файлы:

apt install snmpd snmp libsnmp-dev

После установки переходим к настройке SNMP в Debian.

Файлом настройки SNMP-агента по умолчанию является /etc/snmp/snmpd.conf. Агент SNMP может быть запущен с настройками по умолчанию. Однако для включения удаленного мониторинга нужно сделать несколько изменений. Для этого создайте резервную копию файла:

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

Теперь нужно изменить директиву agentAdress. Ее текущие настройки разрешают доступ только с локального компьютера. Для включения удаленного мониторинга необходимо определить IP-адрес интерфейса:

vim /etc/snmp/snmpd.conf
###############################################################################
#
#  AGENT BEHAVIOUR
#

#  Listen for connections from the local system only
agentAddress  udp:127.0.0.1:161,udp:192.168.43.62:161

Для настройки аутентификации:

directive community [source [OID]]

rocommunity предоставляет доступ только на чтение, а rwcommunity дает доступ к чтению/записи. В Access Control section нужно поместить строку

rocommunity S3CUrE 192.168.43.100

Кроме того, можно включить запрос с локального хоста rocommunity S3CUrE localhost:

rouser   authOnlyUser
rwuser   authPrivUser   priv
rocommunity S3CUrE localhost
rocommunity S3CUrE 192.168.43.100

Затем нужно перезапустить SNMP:

systemctl restart snmpd

Чтобы добавить сервис в автозагрузку, введите:

systemctl enable snmpd

Итог

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

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

In this article, we are going to discuss what is SNMP and how to install or enable and configure SNMP service in Windows 10. SNMP which stands for Simple Network Management Protocol is a standard internet protocol that is used to govern and manage communication amongst multiple networking devices connected over an IP. It enables organizations to monitor different networking devices including routers, workstations, modems, switches, servers, printers, etc. SNMP is already configured on most of the networking devices. And, once the protocol is enabled, device performance statistics are stored.

What is SNMP? How to enable and configure SNMP service in Windows 10

Let us now discuss the main component of SNMP.

Main Components of SNMP

Here are the key components of an SNMP-managed environment:

SNMP manager: It is the central system that manages and monitors the SNMP network. It is also known as Network Management Station (NMS) and runs on a host on the network. The SNMP manager basically queries the SNMP agent, obtains requests,

SNMP agent: It is a software process that gives the status and statistics of a network node when it receives an SNMP query. It is an important component in SNMP management that collects, stores, and transmits monitoring data to SNMP managers.

Managed Devices: These devices include all SNMP-enabled networking devices that you want to monitor, such as printers, routers, wireless devices, etc.

SNMP MIB: SNMP uses an extensible design with hierarchies defined as Management Information Base (MIB) that uses object identifiers (OIDs) network entity management. It is mainly defined as the format of information exchange in an SNMP management model. Each of the network servers has MIB files that are queried to collect monitoring data.

SNMP OID: OID aka Object Identifiers are organized in the MIB database in a tree structure where manageable features of all products are present.

SNMP Versions

There are basically three versions of SNMP that are:

  1. SNMPv1: The first version of SNMP protocol that is defined in RFC 1155 and 1157.
  2. SNMPv2c: This is the enhanced version and is defined in RFC 1901, RFC 1905, and RFC 1906.
  3. SNMPv3: The last version of SNMP as of now that also promotes remote configuration of SNMP entities. It is the most secure version as of yet and is defined in RFC 1905, RFC 1906, RFC 2571, RFC 2572, RFC 2574, and RFC 2575.

Basic SNMP Commands

Here are the main SNMP commands used in the network management model”

  • GET: The SNMP manager sends GET requests to the managed devices to receive one or more values.
  • GET NEXT: This command is used to retrieve the next OID value in the MIB tree
  • GET BULK: This command is used to query and retrieve bulk data from a large MIB table.
  • SET: To edit or add values of managed devices, this command is used by SNMP managers.
  • TRAPS: Such command is started by an SNMP agent to send a signal to the SNMP manager when events occur.
  • INFORM: Another command initiated by SNMP agent including a confirmation when SNMP manager receives the message.
  • RESPONSE: This command carries back the values or signal of actions directed by the SNMP manager.

IT organizations can use dedicated SNMP monitoring software like PRTG Network Monitor or Spiceworks Network Monitor to manage and monitor networking devices and performance statistics. Here are some common uses of an SNMP monitoring tool:

  • It is used to discover, manage, organize, and monitor network devices in an organization.
  • It enables complete visibility of the performance of network devices.
  • Analyze various statistics and information of connected network devices like connectivity, availability, performance, bandwidth, traffic, network usage graphs, and more.
  • It allows to set up threshold limits for network usage.
  • It lets you trigger alerts in case of exceptions or inconsistencies.

Now, let us check out how you can install and enable SNMP service and then configure it on Windows 10.

SNMP used to be a preinstalled feature in earlier versions of Windows. However, SNMP is now considered deprecated and is made an Optional Feature/ Feature on Demand (FOD) in Windows 10 version 1809 and later. Windows now recommend using Common Information Model (CIM) that is supported by Windows Remote Management.

In the latest Windows 10 builds, SNMP can be installed and enabled via the Settings app using the optional features option.

Here are the steps to enable and configure SNMP in Windows 10 using Settings:

  1. Click Windows + I hotkey to open the Settings App.
  2. Go to the Apps category and move to Apps & features tab.
  3. Tap on the Optional features button.
  4. On the new page, click on the Add a feature button.
  5. Scroll down to Simple Network Management Protocol (SNMP) and select it.
  6. Press the Install button to enable SNMP on your PC.

You can also use Control Panel to enable SNMP on your computer if you use an older Windows 10 build or even Windows 8.

Simply use the following steps for that:

  1. Open Run using Windows + R and enter “control panel” in it and press Enter.
  2. Go to the Programs and Features and then click on the Turn Windows features on or off option.
  3. In the Windows Features list, select Simple Network Management Protocol (SNMP) and press OK to install it.

How to configure SNMP service in Windows 10

After installing, you need to configure the SNMP service in Windows 10. There are two main SNMP services that include:

  • SNMP Service – main service to monitor and send information
  • SNMP Trap – to receive trap messages from SNMP agents and forward them to SNMP management software.

These services must be started automatically after SNMP installation. You can check and configure these from the Services Manager. Simply open the Services app by pressing Windows + R hotkey to evoke Run dialog and entering “services.msc” in it. In the Servies window, scroll down to the SNMP service in the list and see if it is running or not. If it is not running, simply click the Start button to start the SNMP service. Also, set its startup type to Automatic.

You can further set up various SNMP service properties including Agent, Security, etc. Just right-click on the SNMP service and select the Properties option.

In the Properties window, go to the Agent tab where you can configure the SNMP agent information. You can add contact and location details to specify the user or administrator’s contact name and physical location of the computer. Furthermore, you can enable or disable five services from the list from which you receive monitoring data and send it to the monitoring device. These services include Physical, Applications, Datalink and subnetwork, Internet, and End-to-end.

To configure some security-related settings for different SNMP servers, you can go to the Security tab in the Properties window. In the Accepted community names list, you can view and add SNMP hosts that are authenticated for sending SNMP requests. To add a community, click on the Add button and type the community name. You can provide None, Notify, READ ONLY, READ WRITE, or READ CREATE access to a particular community.

You can add a list of SNMP monitoring servers with IP addresses in the list of Accept SNMP packets from these hosts. This is to specify the servers from which SNMP packets are accepted. In case you enable Accept SNMP packets from any host option, no IP restrictions will be enforced on the SNMP agent to receive SNMP packets. This option is not safe and hence is not recommended on public computers.

IT admins can further configure some other settings related to SNMP and monitor all connected networking devices using SNMP management software and tools.

Hopefully, this article helped you learn about SNMP protocol and how you can enable and configure SNMP service in Windows 10.

Now read: Free Network and Internet Traffic Monitor Tools for Windows 11/10.

  • Работа с putty в windows
  • Работа с дисками в windows 10 в командной строке
  • Работа с postgresql из командной строки windows
  • Работа с докером в windows
  • Работа с дисковым пространством в windows 10