Как в Windows 10 включить сетевой протокол SNMP
Обновив Windows 10 до сборки 1809 или выше, вы можете столкнуться с проблемами управления подключенными к локальной сети устройствами. Это не баг, просто начиная с версии 1809, в Windows 10 разработчиками отключен SNMP — сетевой протокол, используемый для мониторинга и управления различными сетевыми устройствами, начиная от коммутаторов и заканчивая клиентскими компьютерами.
Сам компонент SNMP, тем не менее, присутствует в системе, и вы без особых усилий можете его включить, причем разными способами.
Проверить, задействован ли он в Windows 10 очень просто, для этого нужно открыть оснастку «Компоненты Windows» и посмотреть, установлена ли галочка в чекбоксе SNMP-протокол.
Если да, открываем оснастку управления службами, находим там службу SNMP и убеждаемся, что она запущена.
Если служба неактивна, запускаем ее и устанавливаем тип запуска «Автоматически».
Если вы работаете в Windows 10 1903 , включить SNMP можно в Параметрах через раздел «Приложения и возможности». Откройте его, нажмите ссылку «Дополнительные возможности».
А затем «Добавить компонент».
В открывшемся списке найдите SNMP-протокол, кликните по нему и нажмите появившуюся кнопку «Установить».
Настройки должны вступить в силу сразу, но не исключено, что понадобится перезагрузка компьютера.
Как включить SNMP в Windows10, Windows 7, Windows Server.
На первый взгляд задача “включение 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 – службы :
Вывод команды будет следующим:
Как видим в строке состояния указано, что SNMP-протокол не представлен.
P.S. Бывали случае, когда в строке состояния указано Installed, но все равно службы SNMP нет. В этом случае все равно переходим к следующему 3 пункту.
3. Устанавливаем службу SNMP командой:
Видим процесс установки и получаем ответ:
4. Снова проверим состояние службы SNMP командой из пункта 2:
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.
Основы работы с SNMP
Сбор информации о сервере и инфраструктуре – очень важная часть работы системного администратора. Существует множество инструментов для сбора и обработки таких данных, и многие из них основаны на технологии SNMP.
SNMP (simple network management protocol, простой протокол сетевого управления) – это стандартный протокол для управления устройствами в IP-сетях. С его помощью серверы могут обмениваться информацией о своем текущем состоянии, а администратор может изменять предварительно определенные значения. Сам протокол очень простой, однако структура основанных на нём программ может оказаться сложной.
Данная статья ознакомит вас с основами протокола SNMP: базовыми понятиями, методами работы, случаями его применения, различными версиями протокола и т.д.
Базовые понятия
Протокол SNMP реализуется на прикладном уровне сетевого стека. Протокол был разработан для согласованного сбора информации из самых разных систем. SNMP использует стандартизированные методы запроса информации и пути.
Существует много различных версий протокола SNMP. Кроме того, протокол частично реализуется некоторыми сетевыми аппаратными устройствами. Наиболее распространённой является версия SNMPv1, но она имеет много уязвимостей; на самом деле, основными причинами её популярности являются её вездесущность и долгое время существования. Вместо неё рекомендуется использовать более безопасную версию SNMPv3.
Сеть на основе SNMP в основном состоит из SNMP-агентов. Агент – это программа, которая собирает информацию об аппаратном устройстве, систематизирует её в предварительно определенные записи, а также отвечает на запросы с помощью протокола SNMP.
Компонент, который запрашивает данные у агентов, называется менеджером SNMP. SNMP-менеджеры получают данные о всех управляемых устройствах и могут выдавать запросы для сбора информации и устанавливать некоторые свойства.
Менеджеры SNMP
Менеджер SNMP – это машина, которая запрашивает информацию, собранную агентами SNMP. Такая машина гораздо проще устроена, чем клиенты, поскольку она просто запрашивает данные.
Менеджером может быть любая машина, которая может отправлять запросы агентам SNMP, предоставляя валидные учётные данные (например, сервер мониторинга); иногда задачи менеджера выполняет сам администратор с помощью простых утилит для быстрого запроса данных.
Почти все команды SNMP предназначены для менеджера. Например:
GetRequest
GetNextRequest
GetBulkRequest
SetRequest
InformRequest
Response
Кроме того, менеджер может отвечать на Trap и Response.
Агенты SNMP
Агенты SNMP выполняют основную работу. Они отвечают за сбор данных о локальной системе, их хранение в удобном для запросов формате, обновление БД management information base (или просто MIB).
MIB – это иерархическая предварительно определенная структура, хранящая информацию, которую можно запросить или добавить. Она доступна для запросов SNMP, исходящих от хоста, предоставившего правильные учетные данные (т.е. менеджера SNMP).
Агент определяет, какие менеджеры могут получить доступ к данным. Также агент может выступать в качестве посредника и передавать информацию на устройства, не настроенные для SNMP-трафика.
Агенты SNMP отвечают на большинство команд протокола, среди которых:
GetRequest
GetNextRequest
GetBulkRequest
SetRequest
InformRequest
Также он может отправлять сообщения Trap.
Кратко о MIB
Management Information Base, или MIB – пожалуй, самый сложный компонент системы SNMP. Это иерархическая глобально стандартизированная база данных, которая следует стандартам агентов и менеджеров системы.
Проще всего структуру MIB можно представить в виде перевёрнутого дерева. Каждая ветвь получает порядковый номер (начиная с 1) и уникальную для этого уровня иерархии строку.
Чтобы сослаться на определённый узел, нужно отследить к нему путь в базе. Идентификаторы узла (номера и строки) можно использовать как адрес. Каждый узел в иерархии обозначается точкой. Таким образом, адрес содержит ряд идентификационных строк или чисел, разделенных точками. Такой адрес называется идентификатором объекта (или OID).
MIB предоставляет стандартные ветки, которые может использовать любое устройство. Однако при внедрении SNMP в свое устройство вы можете создавать пользовательские ветки.
Все стандартные ветки принадлежат одной родительской структуре. Эта ветка определяет информацию для спецификации MIB-2 (это пересмотренный стандарт для совместимых устройств).
Базовый путь к этой ветке:
- Часть 1.3.6.1 или iso.org.dod.internet – это OID, который определяет интернет-ресурсы.
- 2 или mgmt определяют подкатегории управления.
- 1 или mib-2 определяют спецификацию MIB-2.
Примечание: По этой ссылке вы найдёте очень удобный ресурс для ознакомления с деревом MIB. Аналогичный инструмент представлен Cisco и называется SNMP Object Navigator. Также похожее дерево можно найти здесь.
Запрашивая информацию устройств, вы заметите, что большинство адресов начинается с 1.3.6.1.2.1.
Команды протокола SNMP
Отчасти протокол SNMP популярен благодаря простым командам. Он выполняет всего несколько операций, но они достаточно гибки.
Следующие блоки данных протокола описывают точные типы сообщений, которые поддерживает протокол:
- Get: это сообщение менеджер отправляет агенту, чтобы запросить значение определённого OID. В ответ этот запрос получает сообщение Response, содержащее все необходимые данные.
- GetNext: это сообщение позволяет менеджеру запрашивать следующий последовательный объект в MIB. Так можно пересечь структуру MIB, не используя в запросах OID.
- Set: это сообщение менеджер отправляет агенту для того, чтобы изменить значение переменной. С помощью Set можно управлять информацией о конфигурации или иным образом изменять состояние удаленных хостов. Это единственная операция записи, которую поддерживает протокол.
- GetBulk: этот запрос работает как несколько запросов GetNext. Менеджер получит ответ максимальный объём данных (учитывая ограничения запроса).
- Response: агент отправляет это сообщение менеджеру, чтобы передать ему запрашиваемые данные. Если запрашиваемые данные нельзя передать, response будет содержать ошибку с дополнительной информацией. Сообщение response отправляется на любой из вышеперечисленных запросов, а также на сообщение Inform.
- Trap: это сообщение обычно отправляется агентом менеджеру, чтобы предоставить информацию о событиях, которые происходят на управляемых устройствах.
- Inform: такое сообщение менеджер отправляет агенту в ответ на trap. Если агент не получит такого сообщения, он будет повторно отправлять сообщения trap.
Версии протокола
С момента выхода протокол SNMP прошел через множество изменений. Первая реализация SNMP, сейчас известная как SNMPv1, появилась в 1988 году и состояла из RFC 1065, RFC 1066 и RFC 1067. Эта версия до сих пор широко поддерживается, однако она имеет множество проблем с безопасностью (например, аутентификация в виде обычного текста), поэтому её использование крайне нежелательно, особенно это касается незащищенных сетей.
Работа над версией 2 данного протокола началась в 1993 году. Эта версия предлагает ряд существенных улучшений представленных ранее стандартов. В этой версии была представлена модель безопасности на основе сторон, которая устраняет уязвимости, связанные с предварительным пересмотром. Тем не менее, новую модель безопасности оказалось достаточно сложно реализовать, потому популярной она не стала.
Поэтому появились дополнительные релизы версии 2, каждый из которых сохранил основную часть усовершенствований версии 2, но изменил модель безопасности. Версия SNMPv2c возобновила модель безопасности на основе сообществ (которая была использована в v1); это была самая популярная версия протокола v2. Другая реализация, SNMPv2u, основана на пользовательской модели безопасности, также не стала популярной.
В 1998 вышла третья версия SNMP (текущая). Она предлагает пользовательскую систему безопасности, которая позволяет устанавливать требования к аутентификации с помощью одной из этих моделей:
- NoAuthNoPriv: пользователи, подключающиеся на этом уровне, не имеют учётных данных для аутентификации; отправленные и полученные ими сообщения находятся в общем доступе.
- AuthNoPriv: на этом уровне для подключения нужно пройти аутентификацию, но сообщения не будут зашифрованы.
- AuthPriv: обязательная аутентификация, сообщения шифруются.
Кроме новых моделей аутентификации был реализован механизм контроля доступа, который управляет доступом пользователей к веткам. Версия 3 также может использовать протоколы безопасности SSH или TLS.
Как снимать информацию по системе через snmp
Данная заметка будет как предверие следующей в которой я буду подробно рассматривать, как не устанавливая агенты на рабочих местах (если такое возможно) посредством SNMP получать информацию с систем которая будет передаваться в центр единого мониторинга GLPI, либо использовать такие средства по сбору статистики, как Cacti (уже сейчас собираю), MRTG и Dude (от Микротика). А сейчас просто задокументирую в шагах как на Windows станциях включить SNMP и произвести съем информации.
И так – дальнейшие действия провожу с правами Администратора:
Windows 7 x86 Professional – настройка службы SNMP и как с OpenSUSE снимать информацию с системы через это самое snmp
Пуск – Панель управления – Просмотр (Мелкие значки) – Программы и компоненты – Включение или отключение компонентов Windows —
либо через консоль командной строки:
Start /w ocsetup SNMP
Start /w ocsetup WMISnmpProvider
Далее переходим в службы системы:
Пуск – Панель управления – Просмотр (Мелкие значки) – Администрирование – Службы – находим службу с названием: “Служба SNMP” —
Тип запуска: Автоматически
С системной учетной записью
Контактное лицо: указываю себя, как администратора подконтрольной сети где находятся рабочие станции, т.е. ekzorchik
Службы: отмечаю галочками – Физическая, Приложения, Канал данных и подсети, Интернет, Узел-узел
Имя сообщества: ekzorchik
Адреса назначения ловушки: 10.7.8.154, 127.0.0.1
Посылать ловушку проверки подлинности
Приемлемые имена сообществ: ekzorchik – READ ONLY (права)
Принимать пакеты SNMP только от этих узлов: 10.7.8.154, 127.0.0.1
После перезапускаем службу для активации внесенных настроек , либо через GUI интерфейс, либо через консоль командной строки:
C:\Users\ekzorchik>net stop snmp
Служба «Служба SNMP» останавливается..
Служба «Служба SNMP» успешно остановлена.
C:\Users\ekzorchik>net start snmp
Служба «Служба SNMP» запускается.
Служба «Служба SNMP» успешно запущена.
Местонахождение всех настроек в реестре по ключу:
HKLM\SYSTEM\CurrentControlSet\services\SNMP
, можно экспортировать данный ключ (формат reg) и после посредством групповых политик или скриптом распространить по клиентским машинам.
Пример моих настроек выдернутых из реестра:
Windows Registry Editor Version 5.00
Теперь с системы с которой будем слать запрос на подключение к данной рабочей станции ставим пакет net-snmp и проверяем какую информацию можем получить : (точно такой же пакет ставится и на Ubuntu 12.04.5 Server amd64 на котором развернут GLPI, а сейчас я проверяю с рабочей системы OpenSUSE 13.2 что могу извлечь, но это без разницы, все не так уж важно)
> sudo zypper install net-snmp
И вот она снимаемая информация с рабочей станции под управлением Windows 7 по такому же принципу и для Windows XP, Windows 7, Windows 8, Server 2003, Server 2008, Server 2012
> snmpwalk -v 1 -c ekzorchik 10.7.8.150 | head -n 10
SNMPv2-MIB::sysDescr.0 = STRING: Hardware: x86 Family 18 Model 1 Stepping 0 AT/AT COMPATIBLE — Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.1
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1812) 0:00:18.12
SNMPv2-MIB::sysContact.0 = STRING: Ekzorchik
SNMPv2-MIB::sysName.0 = STRING: W7X86. .local
SNMPv2-MIB::sysLocation.0 = STRING: Work
SNMPv2-MIB::sysServices.0 = INTEGER: 79
IF-MIB::ifNumber.0 = INTEGER: 16
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
Работает, что мне сообственно и требовалось. Данная заметка своего рода шпаргалка шагов для будующих описывательных инструментов которыми я пользуюсь в повседневности. Что еще сказать, до новых встреч – с уважением автор блога – ekzorchik.
One comment
Замечательно! Как раз прочитал Вашу статью на хабре о сцепке (Zabbix, батнике и OpenHardwareMonitorReport(этот почему-то выдает инфу только о проце и материнки у меня) ), а тут новая статья о том как вести мониторинг без агентов. Очень интересно. Спасибо за Ваши труды!
Comments are closed.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.