У меня есть клиентская машина, которая отправляет snmpinform. На другой машине я запускаю сервер snmptrapd.
Я хотел явно указать идентификатор механизма контекста и идентификатор авторитетного механизма.
При отправке команды я могу использовать -e для авторизованного идентификатора механизма, -E для контекстного идентификатора механизма.
Но проблема в том, как я могу указать эти значения в файле snmptrad.conf.
Фрагмент snmptrapd.conf:
createUser -e 0x000006D70000000000000000 FMS
authUser log,execute,net FMS noauth
engineID 000006D7C0A800C800000000
Моя команда для snmpinform:
snmpinform -v 3 -d -n "" -l noAuthNoPriv -u FMS -E 0x000006D70000000000000000 -e 80001f8804303030303036443743304138303043383030303030303030 192.168.0.200 162 1.3.6.1.4.1.1751.2.119.1.1.1.0
На выходе тайм-аут (пришло сообщение об ошибке). Дальнейшие исследования с wirehark показали, что в отчете он дает как авторитетные, так и контекстные идентификаторы движка с одинаковыми значениями.
Я пробовал несколько обходных путей без какого-либо использования
Не указал опцию -e при отправке snmpinform. Он обнаружил авторитетный идентификатор механизма, и вывод остается прежним (сообщение об ошибке и тайм-аут).
Не дал -E вариант. snmpinform: неизвестное имя пользователя
obv: Кажется, это совершенно другое поведение. Он способен правильно декодировать идентификатор механизма контекста и идентифицировать имя пользователя. Но отчет с другим идентификатором механизма контекста.
Не давал опцию -e при создании пользователя и при отправке давал только -e (идентификатор авторизованного движка). Тогда это работало отлично.
obv: идентификаторы авторитетного и контекстного движка одинаковы. Итак, это сработало отлично.
Что делать, если я хочу указать оба идентификатора двигателя в файле conf?
Как я могу указать авторитетный идентификатор двигателя в файле snmptrapd.conf в виде шестнадцатеричного числа? Ожидается текстовая строка. Что делать, если у меня есть непечатаемые символы.
Спасибо, что терпеливо читаете :-)