The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Организация приема SNMP trap’ов и их отправки на коммутаторах DLink
В рамках поставленной задачи (узнавать о появлении новых MAC-адресов на портах
коммутаторов DLink) понадобилось организовать настройку SNMP-trap'ов на
коммутационном оборудовании с последующим приемом их на сервере и дальнейшей
обработкой в зависимости от пришедшего события.

Для начала надо установить и настроить демон, который будет принимать трапы от
оборудования и при нужном MIB вызывать наш обработчик. Установка net-snmp -
тема отдельная, выполняется из пактов или портов, и особых трудностей не вызывает.

Собственно приемом трапов занимается snmptrapd. Для обработки заданного трапа
пишем в snmptrapd.conf:

    traphandle 1.3.6.1.4.1.171.11.63.6.2.20.0.2 /scripts/trap.php

Теперь после рестарта демона snmptrapd, он начнет принимать приходящие трапы и
при наличии трапа с заданным MIB (1.3.6.1.4.1.171.11.63.6.2.20.0.2 - в нашем
случае), будет вызывать наш обработчик, который уже будет совершать необходимые
нам действия.
Обработчик SNMP-трапов

Принимать SNMP trap-ы на самом деле достаточно просто. Вот пример простого
обработчика SNMP-трапов на PHP:

      #!/usr/bin/php -q
      <?php
      $message = "";
      $fd = fopen("php://stdin", "r");
      while (!feof($fd)) $message .= fread($fd, 1024);
      ?>

Все что делает этот скрипт - получает в переменную $message текст, который
передается демоном snmptrapd. Текст приходит разделенный знаками конца строки.
Первая строка - это всегда имя хоста (который прислал трап), вторая - IP-адрес
этого хоста, третья - его uptime, четвертая - MIB пришедшего трапа. Остальные
строки в сообщении - это детальная информация касательно пришедшего трапа, если
она предусмотрена.


Для отправки Trap-ов на коммутаторе исполняем такие команды:

    create snmp community trap_com view CommunityView read_only
    create snmp host x.x.x.x v2c trap_com

Где х.х.х.х - IP-адрес сервера, котоырй будет принимать SNMP traps.

Далее надо включить опцию дабы коммутатор отсылал трап при появлении на порту
нового мака. Делается это через SNMP

    snmpset -v2c -c write_commenity switch_ip 1.3.6.1.4.1.171.11.63.6.2.1.2.19.0 i 3

Выключить эту опцию можно так

    snmpset -v2c -c write_commenity switch_ip 1.3.6.1.4.1.171.11.63.6.2.1.2.19.0 i 2

Узнать текущее состояние опции можно так

    snmpwalk -v2c -c read_commenity switch_ip 1.3.6.1.4.1.171.11.63.6.2.1.2.19


Вся информация справедлива для коммутаторов 3028. Для других моделей MIB-ы
могут сильно отличаться - к сожалению, DLink любит менять их от серии к серии.
Надо заметить, что опция отправки трапа при появлении нового мака на порту
доступна далеко не на всех моделях DLink-овых коммутаторов - например, 3010
такой возможности не поддерживает.
 
12.03.2010 , Автор: Andrey Sergienko , Источник: http://storinka.com.ua/snmp-trap-re... (доп. ссылка 1)
Раздел:    Корень / Администратору / Система / Просмотр состояния и мониторинг системы

Обсуждение [ RSS ]
 
  • 1, bliss, 22:30, 12/03/2010 [ответить] [смотреть все]
  • +/
    DLink DES-3010G поддерживает отправку трапов (mac-notification). В отношении OID'ов -- у каждого коммутатора свои приватные OID'ы, но собственно названия этих OID'ов должны совпадать, поэтому если профессионально подходить к делу, нужно получать не OID, а название этого OID. Тут нужно смотреть в сторону snmptt.
     
     
  • 2, erazer, 09:02, 13/03/2010 [^] [ответить] [смотреть все]
  • +/
    если поддерживает - укажите OID.
     
  • 3, bliss, 17:54, 13/03/2010 [ответить] [смотреть все]
  • +/
    А зачем вам OID? Настройте отправку трапов с DES-3010G на нужный сервер. На сервере настройте запустите snmptrapd. Вуаля -- сидите и читайте логи. Вы увидите трапы с DES-3010G прежде всего по айпишнику. Впрочем, чтобы не быть голословным, извольте...
    Feb  7 12:22:30 mon snmptrapd[6159]: xxx.xxx.xxx.xxx [UDP: [xxx.xxx.xxx.xxx]:161]: Trap , .1.3.6.1.2.1.1.3.0 = Timeticks: (669453) 1:51:34.53, .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.171.11.63.1.2.2.100.1.0.1, .1.3.6.1.4.1.171.11.63.1.2.2.100.1.2.1.1 = Hex-STRING: 01 00 23 54 D3 9D 4F 00 0A 00
    Выдержка из /var/log/daemon.log, относящаяся к трапу с DES-3010G. Айпишник заменен на 'xxx'. На фтп длинк.ру лежат МИБы коммутатора. Из них следует, что OID начиная с .1.3.6.1.4.1.171.11.63 относится к DES-3010.
     
  • 4, PavelR, 08:43, 16/03/2010 [ответить] [смотреть все]
  • +/
    Да-да... настроен snmptrapd, как-то добавлены MIB-ы, как не помню..

    Mar 16 10:47:09 debian snmptrapd[6369]: 2010-03-16 10:47:09 192.168.0.100(via UDP: [192.168.0.100]:1024) TRAP, SNMP v1, community public        DGS-1224T-DX-MIB::dgs-1224tdx Link
    Up Trap (0) Uptime: 38 days, 18:12:18.10     IF-MIB::ifIndex.15 = INTEGER: 15        DGS-1224T-DX-MIB::dgs-1224tdx.5.4.0 = STRING: "Port 15 copper link up"

     
  • 5, Nikita, 21:29, 31/05/2010 [ответить] [смотреть все]
  • +/
    Доброго времени суток! Совсем недавно столкнулся с протоколом SNMP. На компьютере ОС Mandriva 2009.1, установлен Net-SNMP. К компьютеру подсоединён коммутатор D-Link DES 1228p. Необходимо с помощью SNMP узнать работает он или нет (имеется в виду подаётся ли на него питание). Известен MAC-адрес. Какой командой это можно сделать?
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 05.02 Проброс 802.1q/access порта в Linux через IP-сеть
    - 25.01 Использование systemtap для устранения уязвимости в реализации /proc/pid/mem
    - 24.01 Мониторинг загрузки многоядерного сервера по каждому ядру в отдельности в Linux
    - 23.01 Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
    - 13.01 Интерактивный firewall в Linux
    - 08.01 Советы по увеличению автономной работы ноутбука с Debian/Ubuntu
    - 31.12 Бэкап и восстановление данных из БД memcachedb и других хранилищ на базе BerkeleyDB
    - 28.12 Получение инкрементальных diff-файлов для subversion
    - 27.12 Решение проблемы поддержки php-zip-extension в Fedora-16
    - 25.12 Настройка сетевого доступа в окружениях QEMU
    RSS | Следующие 15 записей >>


    АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Подробнее о проведении акции вы можете прочитать на странице сайта.


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList