1 (21.02.2014 05:10:55 отредактировано Ravil)

Есть система CentOS 6.5. Установил и запустил службу snmpd. Для snmp v3 создал пользователя. Затем попробовал отослать snmptrap v3 по локалхосту, но в логах snmptrapd.conf ничего не появилось. Но стоит мне послать snmptrap v2c так же по локалхосту, в логах всё фиксируется. Подскажите, почему так. Вот пример, какие команды я посылаю:

 
Запрос:
snmptrap -c public -v 2c 127.0.0.1 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "TEST"

В логи приходит:
 2014-02-21 08:58:59 localhost [UDP: [127.0.0.1]:37963->[127.0.0.1]]:
.1.3.6.1.2.1.1.3.0 = Timeticks: (7443883) 20:40:38.83   .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.3.3.3.3.3.3  .1.2.2.2.2.2.2 = STRING: "TEST"

Запрос:
snmptrap -v 3 -a SHA -A password -x AES -X password -l authPriv -u myuser 127.0.0.1 "" linkUp.0

В логи не приходит ничего

Стоит отметить, что я посылал snmpwalk v3 до оборудования, на котором настроено snmp v3 и получал ответ. То есть SNMP v3 впринципе функционирует. Может я просто не правильно трап посылаю?

2

Так вы попробуйте команду, отличающуюся от проверочной только одним параметром, а не дюжиной. ab
Вот такую:

snmptrap -c public -v 3 127.0.0.1 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "TEST"

Если не сработает, значит у вас что-то не так именно с SNMP 3, если же сработает, значит собака порылась в другом месте.

3

allez пишет:

Так вы попробуйте команду, отличающуюся от проверочной только одним параметром, а не дюжиной. ab
Вот такую:

snmptrap -c public -v 3 127.0.0.1 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "TEST"

Если не сработает, значит у вас что-то не так именно с SNMP 3, если же сработает, значит собака порылась в другом месте.

Так у третьей версии же другой синтаксис и впринципе там уже нет community. Я попробовал следующую команду:

snmptrap -v 3 -a SHA -A password -x AES -X password -l authPriv -u myuser 127.0.0.1 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "TEST"

Трап отправился, но в логах так же ничего

4

Подскажите, какие настройка должны быть в snmptrapd.conf, чтобы принимать trap?

5

Как вариант перейти в debug mode и проделать все тоже самое.

6

Ravil пишет:

Так у третьей версии же другой синтаксис и впринципе там уже нет community.

Ой, тьфу на меня! Прошу прощения, лопухнулся малость. ab

7

Macumazan пишет:

Как вариант перейти в debug mode и проделать все тоже самое.

А что это за debug mod такой?) я в linux раньше не работал, не ругайтесь за глупые вопросы)

8

allez пишет:
Ravil пишет:

Так у третьей версии же другой синтаксис и впринципе там уже нет community.

Ой, тьфу на меня! Прошу прощения, лопухнулся малость. ab

Так для snmp v3 не знаете, как правильно настроить систему, чтобы trap ловить?

9 (25.02.2014 10:39:29 отредактировано allez)

Увы, не подскажу, так как с SNMPv3 не работал. Но вот что нашлось в man snmptrapd.conf:

LOGGING
       format1 FORMAT

       format2 FORMAT
              specify  the format used to display SNMPv1 TRAPs and SNMPv2 notifications respectively. 
              Note that SNMPv2c and SNMPv3 both use the same SNMPv2 PDU format.

              See snmptrapd(8) for the layout characters available.

Если верить этому тексту, то SNMPv3 использует для работы с логами те же настройки, что и SNMPv2.

10

Ravil пишет:
Macumazan пишет:

Как вариант перейти в debug mode и проделать все тоже самое.

А что это за debug mod такой?) я в linux раньше не работал, не ругайтесь за глупые вопросы)

Как правило это добавление ключа  к параметрам запуска сервиса или программы. Нужно для вывода более подробной информации о работе. Например, для snmpd это ключ -D с нужными опциями. Такие вещи часто помогают найти какую-либо проблему.

11

Ravil пишет:
allez пишет:
Ravil пишет:

Так у третьей версии же другой синтаксис и впринципе там уже нет community.

Ой, тьфу на меня! Прошу прощения, лопухнулся малость. ab

Так для snmp v3 не знаете, как правильно настроить систему, чтобы trap ловить?

http://www.net-snmp.org/tutorial/tutori … ap-v3.html  вот тут об этом написано.

12 (03.03.2014 11:20:11 отредактировано Ravil)

Macumazan, я немного не понимаю, зачем указывать engine_id и нужно ли его указывать. На оборудовании snmp v3 настроен, snmpwalk дает ответ, но trap так и не удается принять, в логах ничего нет.

root@localhost snmptt]# cat /etc/snmp/snmptrapd.conf
# Example configuration file for snmptrapd
#
# No traps are handled by default, you must edit this file!
#
# authCommunity   log,execute,net public
# traphandle SNMPv2-MIB::coldStart    /usr/bin/bin/my_great_script cold

logoption f /var/log/snmptrap.log

createUser public SHA "password" AES "password"
authUser log,execute,net public

traphandle default /usr/sbin/snmptthandler
authcommunity log,execute,net public
disableAuthorization no

trap v1 работает, но мне нужно перейти на snmptrap v3. Главное trap v3 от оборудования то отсылается, я с помощью tcpdump его вижу. Но дальше ни в логах, ни где-то ещё его уже не видно

13

Macumazan, Интересно следующее:
1) при таких настройках snmptrapd.conf я отсылаю snmptrap v3 на localhost и вижу его в логах, но в таком случае, мне нужно каким-то образом узнать engine ID всех устройств, которые отсылают мне trap и записать их в конфиг (как узнать, я понятия не имею).

logoption f /var/log/snmptrap.log
disableAuthorization no

createUser -e 0x80001f88802d7f22502585015300000000 userv3 SHA "password" AES "password"
authUser log,execute,net snmpmonRO authPriv

2) При таких настройках snmptrapd.conf я отсылаю snmpinform v3 на localhost и вижу его в логах, но, то, что отсылает оборудование мне, я не вижу. Почему так, я не понимаю

logoption f /var/log/snmptrap.log
disableAuthorization no

createUser userv3 SHA "password" AES "password"
authUser log,execute,net snmpmonRO authPriv

14

Удалось узнать engine ID оборудования и принять trap ab

15

Ravil пишет:

Удалось узнать engine ID оборудования и принять trap ab

Мне не приходилось сталкиваться с engine ID. Либо я уже что-то забыл. Что это за ID ? ab

16

Macumazan пишет:
Ravil пишет:

Удалось узнать engine ID оборудования и принять trap ab

Мне не приходилось сталкиваться с engine ID. Либо я уже что-то забыл. Что это за ID ? ab

Я до конца сам так и не понял. Но, помоему, этот ID используется при шифровании (или при выработке ключа шифрования) и затем для расшифрования. Вообще третья версия поддерживает trap и inform. Оборудование по всей видимости шлет трап. А если мне нужно принимать трап от него, то мне нужно записать у себя в конфиге ID оборудования, что бы расшифровать трап. Если же оборудование шлет inform, то он использует ID сервера и соответственно нет необходимости создавать кучу записей в конфиге с кучей ID (если оборудования много). Но принять inform от оборудования у меня не получилось, а трап удалось.