SNMPv3: Удаленный snmptrap engineID, не найденный

Я испытываю затруднения при получении snmptrapd принять удаленные сообщения ПРЕРЫВАНИЯ SNMPv3.

Вот мой простой snmptrapd.conf:

root@snmptrapper:~# cat /tmp/testsnmptrapd.conf
createUser -e 0x80001f8880013da3af54da7882 skohrs MD5 PaSSWoRD DES
createUser -e 0x80001f888047483cc654cfeee8 skohrs MD5 PaSSWoRD DES
authUser log skohrs

Когда я запускаю сервис, я вижу, что он создает обоих пользователей. Однако, когда удаленное сообщение входит, оно не может соответствовать удаленному engineID:

root@snmptrapper:~# snmptrapd -f -C -c /tmp/testsnmptrapd.conf -Le -Dusm,usmUser,snmptrapd
registered debug token usm, 1
registered debug token usmUser, 1
registered debug token snmptrapd, 1
netsnmp_assert !"registration != duplicate" failed agent_registry.c:535 netsnmp_subtree_load()
netsnmp_assert !"registration != duplicate" failed agent_registry.c:535 netsnmp_subtree_load()
netsnmp_assert !"registration != duplicate" failed agent_registry.c:535 netsnmp_subtree_load()
usmUser: created a new user skohrs at 80 00 1F 88 80 01 3D A3 AF 54 DA 78 82
usmUser: created a new user skohrs at 80 00 1F 88 80 47 48 3C C6 54 CF EE E8
NET-SNMP version 5.4.1


usm: USM processing begun...
usm: match on user skohrs
usm: no match on engineID (80 00 1F 88 80 47 48 3C C6 54 CF EE E8 )
usm: match on user skohrs
usm: Verification succeeded.
usm: USM processing completed.
snmptrapd: input: a7
snmptrapd: Trap OID: DISMAN-EVENT-MIB::sysUpTimeInstance
snmptrapd: Running auth trap handlers
snmptrapd:auth: Comparing auth types: result=8, request=0, result=1
snmptrapd:auth: Calling VACM for checking phase 0:read
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 1:write
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 2:notify
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 3:log
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 4:execute
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 5:net
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 6:(null)
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 7:(null)
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Final bitmask auth: 0
snmptrapd:auth: Dropping unauthorized message

Если я отправляю ПРЕРЫВАНИЕ SNMPv3 от localhost, сообщение зарегистрировано:

usm: USM processing begun...
usm: match on user skohrs
usm: Verification succeeded.
usm: USM processing completed.
snmptrapd: input: a7
snmptrapd: Trap OID: DISMAN-EVENT-MIB::sysUpTimeInstance
snmptrapd: Running auth trap handlers
snmptrapd:auth: Comparing auth types: result=0, request=0, result=1
snmptrapd:auth: Calling VACM for checking phase 0:read
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 1:write
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 2:notify
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 3:log
snmptrapd:auth:   result: authorized
snmptrapd:auth: Calling VACM for checking phase 4:execute
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 5:net
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 6:(null)
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Calling VACM for checking phase 7:(null)
snmptrapd:auth:   result: not authorized
snmptrapd:auth: Final bitmask auth: 8
snmptrapd: Running pre-global trap handlers
snmptrapd:auth: Comparing auth types: result=8, request=8, result=1
snmptrapd: print_handler
snmptrapd: v2/3 format
2015-02-11 09:40:51 localhost [UDP: [127.0.0.1]:48403]:
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (55) 0:00:00.55        SNMPv2-MIB::snmpTrapOID.0 = OID: DISMAN-EVENT-MIB::sysUpTimeInstance
snmptrapd: Running trap specific handlers
snmptrapd: get_traphandler default (0)
snmptrapd: Running global handlers
snmptrapd:auth: Comparing auth types: result=8, request=8, result=1
snmptrapd: notification_handler

Вот snmptrap команда, которую я использую, в случае, если это - проблема:

root@client:~# snmptrap -v3 -a MD5 -A PaSSWoRD -x DES -X PaSSWoRD -u skohrs -mALL -l authPriv -Dusm snmptrapper 55 sysUpTime.0

Сетевая-snmp Wiki и страницы справочника не являются большим количеством справки. Я надеюсь, что кто-то здесь может предложить некоторое руководство.

0
задан 11 February 2015 в 17:57
1 ответ

Я обнаружил проблему, включив все опции отладки для snmptrapd с помощью -Dall:

root@snmptrapper:~# snmptrapd -f -C -c /root/testsnmptrapd.conf -Le -Dall

Проблема оказалась плохим контекстом, заданным в ~/.snmp/snmp.conf. Я создал этот файл в начале начальной установки SNMPv3.

root@client:~# cat ~/.snmp/snmp.conf
defContext none
defVersion 3
defSecurityName skohrs
defAuthType MD5
defAuthPassphrase PaSSWoRD
defPrivType DES
defPrivPassphrase PaSSWoRD
defSecurityLevel authPriv

Я неправильно понял, что defContext none - это не то же самое, что установка контекста на "". Когда я удалил этот маркер, удаленные сообщения SNMPv3 TRAP были зарегистрированы правильно.

.
0
ответ дан 5 December 2019 в 12:58