LinuxForum.Fans
Тема

Проблемы с snmp v3

Автор: Ravil 16 сообщений 4049 просмотров
#367781

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

text
 
Запрос:
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 впринципе функционирует. Может я просто не правильно трап посылаю?

#367782

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

text
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, если же сработает, значит собака порылась в другом месте.

#367783
allez написал:
Так вы попробуйте команду, отличающуюся от проверочной только одним параметром, а не дюжиной. :)
Вот такую:
text
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. Я попробовал следующую команду:

text
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"

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

#367789

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

#367828

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

#367918
"Ravil" написал:
Так у третьей версии же другой синтаксис и впринципе там уже нет community.

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

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

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

#368878
allez написал:
[quote="Ravil"]Так у третьей версии же другой синтаксис и впринципе там уже нет community.

Ой, тьфу на меня! Прошу прощения, лопухнулся малость. :)[/quote]
Так для snmp v3 не знаете, как правильно настроить систему, чтобы trap ловить?

#368898

Увы, не подскажу, так как с 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.

#368908
Ravil написал:
[quote=Macumazan]Как вариант перейти в debug mode и проделать все тоже самое.

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

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

#368910
Ravil написал:
[quote=allez][quote="Ravil"]Так у третьей версии же другой синтаксис и впринципе там уже нет community.

Ой, тьфу на меня! Прошу прощения, лопухнулся малость. :)[/quote]
Так для snmp v3 не знаете, как правильно настроить систему, чтобы trap ловить?[/quote]

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

#370025

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

text

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 его вижу. Но дальше ни в логах, ни где-то ещё его уже не видно

#370148

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

text

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 и вижу его в логах, но, то, что отсылает оборудование мне, я не вижу. Почему так, я не понимаю

text

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

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

#370150

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

#370160
Ravil написал:
Удалось узнать engine ID оборудования и принять trap :)

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

#370291
Macumazan написал:
[quote=Ravil]Удалось узнать engine ID оборудования и принять trap :)

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

Войдите или зарегистрируйтесь, чтобы ответить.