Как получить ловушки snmp v3 без определенного enginedID?

Я использую snmptrapd на Linux из пакета net-snmp. Я пытаюсь сделать какой-нибудь Perl-скрипт для обработки snmp-ловушек. У меня уже есть такой скрипт, и он работает с ловушками snmp v1, v2c и ловушками snmpv3, но только когда я явно указываю engineID как в конфигурации, так и в ловушке отправки команд. Но когда я настраиваю маршрутизатор cisco для отправки мне ловушки linkDown, он использует MAC-адрес с некоторыми дополнительными байтами в качестве engineID. И я вижу, что ловушка прибывает на интерфейс в wireshark, но snmptrapd ничего не делает. Можно ли настроить snmptrapd для приема всех ловушек аутентифицированными пользователями без указания engineID?

Вот мой snmptrapd.conf

# Example configuration file for snmptrapd
#
# No traps are handled by default, you must edit this file!
#
createUser -e 0x0102030405 myuser MD5 mypassword DES myotherpassword
createUser -e 0x0102030405 myuser2 MD5 mypassword DES myotherpassword
createUser -e 0x0102030406 myuser2 MD5 mypassword DES myotherpassword
createUser cisco SHA cisco123 DES cisco123
authUser log,execute myuser
authUser log,execute myuser2
authUser log,execute cisco
authCommunity   log,execute public
perl do "/usr/local/share/snmp/snmptrapdhandler.pl";

Я использую Fedora 21 Linux,

$ uname -a
Linux 4.1.13-100.fc21.x86_64 #1 SMP Tue Nov 10 13:13:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

и net-snmp версия net-snmp-5.7.2-23.fc21.x86_64

2 ответа

Потребовалось много времени, чтобы понять это, чтобы иметь возможность использовать snmptrapd без необходимости ID двигателя. Это работает с новым коммутатором Cisco Nexus (nx-os) и надеется, что это поможет кому-то еще:

format2 %V\n% Agent Address: %A \n Agent Hostname: %B \n Date: %H - %J - %K - %L - %M - %Y \n Enterprise OID: %N \n Trap Type: %W \n Trap Sub-Type: %q \n Community/Infosec Context: %P \n Uptime: %T \n Description: %W \n PDU Attribute/Value Pair Array:\n%v \n -------------- \n

/etc/snmp/snmptrapd.conf:

traphandle default /etc/snmp/send_to_email_script # make sure it is executable
traphandle default /etc/snmp/snmp-traphandle_script # can be any program
doNotLogTraps no
authUser log,execute,net ${snmp_user} # username variable
createUser ${snmp_user} MD5 ${snmp_auth} AES-128 ${snmp_auth}

Примером пользователя может быть:

# createUser networkmonitor MD5 cisco1234! AES-128 cisco1234!

На коммутаторе cisco убедитесь, что этот пользователь существует с тем же именем пользователя / паролем и priv/auth. Также добавьте snmp host (именно так вы отправляете ловушку в snmptrapd):

# snmp-server host ip_address traps version 3 priv networkmonitor

Удостовериться ip_address это не ip коммутатора, а ip получателя snmptrapd

Мы получаем ловушки без указания engine-id с устройств cisco с snmpv3. Но мы используем MD5/DES на устройстве cisco.

Linux 02asdf 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

ii  snmp                                  5.7.3+dfsg-1ubuntu4     amd64                   SNMP (Simple Network Management Protocol) applications
ii  snmp-mibs-downloader                  1.1                     all                     Install and manage Management Information Base (MIB) files
ii  snmpd                                 5.7.3+dfsg-1ubuntu4     amd64                   SNMP (Simple Network Management Protocol) agents
ii  snmpsim                               0.2.4-1                 all                     SNMP agent simulator
ii  snmptrapd                             5.7.3+dfsg-1ubuntu4     amd64                   Net-SNMP notification receiver
ii  snmptt                                1.4-1                   all                     SNMP trap handler for use with snmptrapd
Другие вопросы по тегам