
SNMP (Simple Network Management Protocol) — это классический протокол для мониторинга и сбора информации о сетевых устройствах (серверах, сетевом оборудовании, рабочих станциях, принтерах и т. д.). SNMP — довольно легкий и быстрый протокол, для передачи данных он использует UDP-порты 161 и 162. В этой статье мы покажем, как установить и настроить службу SNMP на Windows Server 2022/2019 и Windows 10/11.
Как установить службу SNMP на Windows Server 2022/2019
В Windows Server службу SNMP можно установить с помощью Server Manager. Выберите Добавить роли и функции -> Характеристики. Нажмите Служба SNMP (при необходимости также проверьте Поставщики SNMP WMI).
Нажмите Следующий -> Установить и дождитесь окончания установки.
Установка SNMP Agent на Windows Server Core
В Windows Server Core вы можете установить SNMP с помощью веб-интерфейса Windows Admin Center или PowerShell.
Если вы используете Центр администрирования Windows, подключитесь к узлу Windows Server и выберите Роли и функции -> Служба SNMP.
Поскольку в Windows Server Core нет графического интерфейса, а управление хостом Server Core осуществляется из командной строки, вы можете установить службу SNMP с помощью PowerShell.
Для установки ролей и функций на Windows Server можно использовать команду Install-WindowsFeature PowerShell.
Проверьте, не установлена ли служба SNMP:
Get-WindowsFeature SNMP*
Установите роль SNMP и провайдера WMI:
Install-WindowsFeature SNMP-Service,SNMP-WMI-Provider -IncludeManagementTools
Убедитесь, что службы SNMP запущены:
Get-Service SNMP*
В нашем примере служба SNMP запущена, а SNMPTRAP остановлен.
Включение службы SNMP в Windows 10/11
Службу SNMP можно использовать не только на Windows Server, но и на настольных компьютерах Windows 10 и 11. В Windows 10/11 служба SNMP является частью функций по требованию (как RSAT или OpenSSH).
Вы можете установить SNMP через Настройки панель. Перейдите к Приложения -> Дополнительные функции -> Добавить необязательную функцию -> Посмотреть характеристики.
Выберите Простой протокол сетевого управления (SNMP) и Поставщик WMI SNMP в списке доступных компонентов. Чтобы начать установку, нажмите кнопку Next (вам потребуется подключение к Интернету с серверами Microsoft).
Чтобы установить службу 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 \\munfs01\Distr\Win11\FoD
Как настроить службу SNMP в Windows?
Настроить параметры службы SNMP можно с помощью команды services.msc
консоли. Найдите Служба SNMP в списке и откройте ее свойства.
Обратите внимание, что служба SNMP имеет несколько дополнительных вкладок:
- Агент
- Ловушки
- Безопасность
The Агент Вкладка содержит основную информацию об устройстве (контактная информация администратора, местоположение). Здесь же можно выбрать тип информации, которую устройство может отправлять при опросе по SNMP.
В ранних версиях протокола SNMP (SNMP 1 и SNMP 2) для аутентификации используется строка сообщества. В Безопасность На вкладке можно создать несколько строк подключения.
Вы можете выбрать один из пяти доступных уровней доступа для сообщества:
- ТОЛЬКО ЧТЕНИЕ — позволяет получать информацию с устройства
- READ WRITE — получение информации и редактирование конфигурации устройства
- NOTIFY — позволяет получать SNMP-ловушки
- READ CREATE — чтение данных, изменение и создание объектов
- НЕТ
Вы можете создать несколько строк сообществ. Для этого введите имя и выберите права доступа. Для мониторинга состояния сервера достаточно привилегии READ ONLY.
В Принимайте SNMP-пакеты от этих хостов список, вы можете ввести имена или IP-адреса узлов, которым разрешено запрашивать устройство. Если вы не хотите использовать список разрешенных устройств, оставьте Принимать SNMP-пакеты от любых хостов здесь.
Сайт Ловушки вкладка позволяет задать список узлов, на которые агент SNMP должен отправлять SNMP-ловушки. SNMP-ловушка — это широковещательный UDP-пакет, используемый для асинхронного уведомления менеджера (например, уведомление о критическом событии).
Не забудьте создать правила, разрешающие входящий и исходящий трафик для SNMP-запросов и ловушек в брандмауэре Windows Defender. Вы можете включить правила брандмауэра с помощью PowerShell.
В Microsoft Defender 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
Существует SNMP-ловушка в списке служб Windows. Она используется для получения сообщений от других 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 "MUN_DCn2" -PropertyType REG_SZ
Вы должны создать отдельный ключ с именем сообщества в HKLM\SYSTEM\CurrentControlSet\services\SNMP\Parameters\TrapConfiguration для каждой SNMP-ловушки.
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\services\SNMP\Parameters\TrapConfiguration\public1"
Установите разрешения сообщества:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities" -Name "public1" -Value 4 -PropertyType DWord
- 1 — НЕТ
- 2 — УВЕДОМЛЕНИЕ
- 4 — ТОЛЬКО ДЛЯ ЧТЕНИЯ
- 8 — ЧИТАТЬ ПИСЬМО
- 16 — ЧИТАТЬ СОЗДАТЬ
Для каждого сообщества можно задать список хостов, от которых ему разрешено принимать запросы:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers" -Name "1" -Value "mun-mon1.woshub.com" -PropertyType REG_SZ
Перезапустите службу SNMP, чтобы применить новые настройки из реестра:
Get-Service SNMP|Restart Service
Если вы хотите развернуть параметры службы SNMP на нескольких компьютерах/серверах Windows в вашем домене, используйте привилегии групповой политики для изменения реестра.
Чтобы убедиться в том, что SNMP работает, воспользуйтесь функцией snmpwalk инструмент (есть в любом дистрибутиве Linux):
# snmpwalk -v 2c -c public1 -O e 192.168.12.200
В этом примере мы опрашиваем наш Windows-хост с помощью SNMPv2.
Утилита вернула базовую информацию о хосте (syscontact, sysname, syslocation) и множество данных о состоянии сервера Windows.