Зачастую, включение SNMP-агента (сервера) не вызывает вопросов, но, как оказалось, могут быть нюансы.
В Windows 11 (22H2) достаточно запустить PowerShell в привилегированном режиме и выполнить команду
Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0"
и, возможно1),
Add-WindowsCapability -Online -Name "WMI-SNMP-Provider.Client~~~~0.0.1.0"
Далее заходим в «Службы», находим «Служба SNMP» и открываем свойства.
И вот тут у меня возникла проблема – служба есть, запускается и останавливается, а закладок «Агент SNMP», «Ловушки» и «Безопасность» – нет! Долго копался, но оказалось, что надо перезагрузить Windows… Скорее всего этот нюанс так же верен и для серверной версии и прочих.
Теперь, когда появились эти чертовы закладки, нужно только добавить сообщество «public»2) в режиме «read only» и выбрать «Принимать пакеты SNMP только от этих узлов», добавив адрес менеджера. Все, это v2c, детка, поэтому только так.
На этом божественном девайсе нужно отключить сообщество по умолчанию, добавить сообщество с настройками авторизации и шифрования и, собственно, выбрав третью версию протокола, включить его.
/snmp community set [ find default=yes ] disabled=yes add authentication-password="AuThPwd" authentication-protocol=SHA1 encryption-password="EncrPws" encryption-protocol=AES name=security-public security=private /snmp set enabled=yes location=Corridor trap-community=security-public trap-generators="" trap-version=3
Прочие настройки можно не трогать, они в данном контексте роли не играют.
Настройки SNMP для локального использования на Raspberry Pi 4 Model B с Raspberry Pi OS 11 (bullseye)3):
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro && chmod +x /usr/bin/distro
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.default && nano /etc/snmp/snmpd.conf
и добавляем, не забыв поправить первые две строчки, следующее
sysLocation anyString
sysContact My Name <my@email.zone>
sysServices 72
master agentx
agentaddress 127.0.0.1
# sec.name source community
com2sec readonly default public
# groupName securityModel securityName
group rogrp v2c readonly
# name incl/excl subtree mask(optional)
view allview included .1 80
# group context sec.model sec.level prefix read write notif
access rogrp "" any noauth exact allview none none
#OS Distribution Detection
extend distro /usr/bin/distro
#Hardware Detection
# (uncomment for x86 platforms)
#extend manufacturer '/bin/cat /sys/devices/virtual/dmi/id/sys_vendor'
#extend hardware '/bin/cat /sys/devices/virtual/dmi/id/product_name'
#extend serial '/bin/cat /sys/devices/virtual/dmi/id/product_serial'
# (uncomment for ARM platforms)
extend hardware '/bin/cat /sys/firmware/devicetree/base/model'
extend serial '/bin/cat /sys/firmware/devicetree/base/serial-number'
Выше результат объединения идей из файла конфигурации по умолчанию, файла, поставляемого с LibreNMS, и статьи на IBM.
Такая конфигурация актуальна только при локальном доступе! Если доступ осуществляется по сети, необходимо настраивать третью версию протокола, которая поддерживает авторизацию и шифрование.
systemctl enable snmpd && systemctl restart snmpd
Обсуждение