Использование пакета Net-SNMP для отслеживания параметров маршрутизатора
SNMP (Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в TCP/IP-сетях. SNMP поддерживается устройствам маршрутизаторами, коммутаторами, серверами, рабочими станциями, принтерами, и др. Протокол обычно используется в системах сетевого управления для контроля подключенных к сети устройств на предмет условий, которые требуют внимания администратора. (Wikipedia)
Взаимодействие с сетевым оборудованием по протоколу SNMP
Для взаимодействия с сетевым оборудованием по протоколу SNMP используются утилиты пакета Net-SNMP.
Установка пакета Net-SNMP:
# zypper in net-snmp
- Описания MIB-модулей устанавливаются в каталог
/usr/share/snmp/mibs. - Для авторизации при обращении к маршрутизатору по протоколу SNMPv2 используется имя
сообщества
netlab. Для получения значения одного объекта из MIB испольуется утилита
snmpget:$ snmpget -v 2c -c <community-string> <address> <OID>
Например, для получения количества интерфейсов учебного маршрутизатора необходимо выполнить команду:
$ snmpget -v 2c -c netlab netlab-gw.cs.prv ifNumber.0
Для получения набора значений, соответствующих данным SNMP-таблицы используется утилита
snmpwalk. Например, для получения содержимого таблицыifTableнеобходимо выполнить команду:$ snmpwalk -v 2c -c netlab netlab-gw.cs.prv ifTable
Также возможен вывод данных SNMP-таблицы в виде текстовой таблицы:
$ snmptable -v 2c -c netlab netlab-gw.cs.prv ifTable
- Подробная информация об использовании утилит пакета Net-SNMP может
быть найдена в соответствующих справочных страницах
man. См. такжеman snmpcmdдля получения общего для всех утилит списка опций, определяющих форматы вывода данных.
Получение SNMP-уведомлений от сетевого оборудования
Для получения SNMP-уведомлений необходимо запустить сервис
snmptrapdиз состава пакета Net-SNMP. Перед запуском необходимо задать в файле/etc/snmp/snmptrapd.confимя сообщества, чьи уведомления будут приниматься:authCommunity log netlab-trap
Запуск сервиса
snmptrapd:# service snmptrad start
- После запуска сервиса сообщения о принятых уведомлениях будут
поступать в системный журнал
/var/log/messages. - Уведомления могут генерироваться сетевым оборудованием например в случае изменения состояния интерфейсов и др. Для отправки SNMP-уведомления необходимо обратиться к преподавателю.
Задания
- Используя описание модуля IF-MIB, изучить данные, предоставляемые
сетевым оборудованием в таблицах
ifTableиifXTable. - Разработать скрипт (или несколько скриптов), позволяющий собирать
данные об использовании заданного интерфейса в формате: время,
кол-во принятых байт, кол-во отправленных байт. Скрипт
предполагается выполнять периодически с помощью
cron. - Разработать скрипт, способный определить что скорость изменения счетчиков ipInDiscards и ipOutDiscards (см. IP-MIB) превысила заданное пороговое значение и отправить уведомление по email.
- Самостоятельно разобраться с конигурационным файлом сервиса
snmptrapd(man snmptrapd.conf) и реализовать отправку уведомления по email в случае получения SNMP-сообщения об изменении статуса интерфеса.
