Я работаю в крупной организации с большим количеством сетевых устройств. Часто возникает необходимость знать к какому порту коммутатора подключено то или иное устройство с определенным mac или ip-адресом, а в случае какого-либо сбоя, куда оно было подключено. Я задался вопросом: можно ли получить эту информацию по snmp-протоколу? Оказалось, можно.
Также хотелось совместить эту информацию с информацией по коммутации портов коммутаторов. Поскольку я изучаю язык Java, то я решил написать веб-приложение на этом языке. Что я и сделал. В данный момент приложение поддерживает только устройства фирмы Cisco, так как они установлены в нашей организации, но может быть доработано и для поддержки устройств других производителей. В приложении используются следующие mib: CISCO-VTP-MIB, BRIDGE-MIB, IF-MIB, RFC1213-MIB.
Особенности приложения:
- поддержка всех трех версий протокола snmp;
- поддержка таблиц коммутации портов устройств;
- формирование таблицы результатов;
- периодический опрос устройств в соответствие с расписанием;
- сортировка таблиц по нескольким столбцам (при клике с нажатой клавишей shift на каждом последующем столбце после первого);
- аутентификация и роли пользователей.
Хотелось бы более подробно остановиться на пунктах 2,3.
Таблица коммутации
Таблица коммутации представлена в следующем виде:
- ip-адрес устройства;
- порт устройства;
- кросс (необязательно);
- розетка (необязательно).
Есть возможность выгрузки и загрузки таблицы в csv-формате.
Таблица результатов
Таблица результатов представлена в следующем виде:
- mac-адрес оконечного устройства (компьютера, принтера и т.д.);
- vlan;
- ip-адрес оконечного устройства (необязательно);
- ip-адрес коммутатора;
- порт коммутатора;
- кросс (необязательно);
- розетка (необязательно);
- время последнего обнаружения устройства.
Есть возможность опросить устройства и обновить таблицу результатов. Так же можно сделать выгрузку в csv-файл.
В статье я привел мини-обзор приложения, кому интересно можете перейти по ссылке на мой сайт.