Зачастую, включение 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
Обсуждение