1. Главная страница » Компьютеры

Cisco snmp trap настройка

Автор: | 16.12.2019

ShareIT — поделись знаниями!

Полезно

Узнать IP — адрес компьютера в интернете

Онлайн генератор устойчивых паролей

Онлайн калькулятор подсетей

Калькулятор инсталляции IP — АТС Asterisk

Руководство администратора FreePBX на русском языке

Руководство администратора Cisco UCM/CME на русском языке

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Популярное и похожее

Настройка Site-To-Site IPSec VPN на Cisco

Настройка Router-on-a-Stick на Cisco

Настройка GRE туннеля на Cisco

ACL check — анализ списков доступа сетевого оборудования Cisco

Поднимаем SNMP на L2/L3 устройствах Cisco

2 минуты чтения

Настройка SNMP на коммутаторах и маршрутизаторах Cisco позволит вам мониторить состояние девайсов и сохранить свои нервы/время, в случаях, когда они начинают сбоить (игра на опережение). В целом, выглядит это так: сетевое устройство будет отправлять информацию о CPU, памяти, температуре, I/O и прочих на NMS (Network Management System) сервер. Изи – поехали.

Настройка

Подключаемся по SSH на наш сетевой узел и входим в режим конфигурации:

Далее, необходимо создать группу (community), которая будет иметь права на чтение SNMP трапов (read – only). Назовем ее public:

SNMP – trap (трапы) – сообщения, которые отправит девайс, находящийся под мониторингом. Они нужны для того, чтобы информировать систему сбора трапов о наступлении различных событий.

Далее, аналогичным образом создаем частную группу (с правами на чтение и запись). Назовем ее private:

Сохраняем конфигурацию в NVRAM:

Важно! Проверьте сетевую связность между маршрутизатором и системой NMS, куда по плану роутер будет отправлять трапы.

Включаем трапы в Cisco IOS

Для передачи трапов в NMS, их необходимо включить. Сделать это не трудно – дайте в консоль девайса следующую команду (она включит все возможные виды трапов):

Если вам нужно конкретизировать, например, отправлять уведомления об окружении (температура, напряжение), или получать уведомление только о BGP, конкретизируйте это (полный список трапов можно найти на сайте вендора):

Настройка NMS хоста

И напоследок, самое главное 🙂 Укажем IP – адрес NMS – сервера, на который необходимо отправлять наши трапы. Опять же, если хотим отправлять все:

Где, конечно, вместо 192.168.0.2 нужно указать адрес вашей NMS (это может быть Nagios, MRTG, Zabbix, Cacti и многие другие). Так же, вы можете указать конкретные события, которые нужно отправлять на этот NMS:

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

Сегодня расскажу о том, как настроить Zabbix для реакции на важные для нас snmp трапы. Если вы не знакомы с протоколом SNMP, с чем его едят можно узнать здесь. Что такое Zabbix можно почитать здесь. Ну а в двух словах, SNMP протокол служит для мониторинга и управления устройствами по сети. А Zabbix — программный комплекс для сетевого мониторинга.
Принцип работы SNMP следующий: в сети имеется устройство/хост (например cisco 2811), параметры которого мы хотим мониторить, и присутствует компьютер/сервер, с которого мы хотим мониторить. Возможны следующие действия: сервер отправляет SNMP запрос на cisco 2811 и получает SNMP ответ с интересующими его параметрами. Или можно настроить cisco 2811 так, что если на ней случается какое-либо событие (например интерфейс перешел shutdown, или кто-то изменил конфиг или ещё что-то (список возможных событий довольно велик)) то хост (cisco 2811) посылает серверу сообщение (SNMP trap) в котором говорится о наступившем событии.

Первый вариант удобен для мониторинга не критичных, постоянно меняющихся параметров, например, загрузка сетевых интерфейсов, температура и т.п. Для этого достаточно периодически, например раз в минуту, запрашивать эти параметры у хоста. А вот запрашивать каждую минуту состояние интерфейса, или BGP сессии, которая пожет упасть раз в месяц — решение не рациональное. В данной ситуации нам помогут SNMP трапы. Будем считать что Zabbix у вас установлен. Итак, приступаем к настройке.

Настройка SNMP на Cisco 2811

На циске выполняем следующее:

где:
Loopback 0 — интерфейс с которого доступен SNMP сервер,
10.1.1.10 ip адрес SNMP сервера,
нужный_вам_трап — например: snmp-server enable traps snmp authentication linkdown linkup,

или просто: snmp-server enable traps — включаются все доступные трапы.
MyCommunity — комьюнити (а-ля пароль) к SNMP серверу (если используется snmp v1).

Настраиваем SNMP сервер.

Смотрим, нет ли ошибок в /var/log/snmptrap.log, если нет, идём на циску и пытаемся инициировать событие, например погасить интерфейс. Смотрим, что появилось в /var/log/snmptrap.log и snmptrapmy.log.
У меня в snmptrapmy.log появилось следующее:
CISCO_HOST_NAME 10.1.1.5 linkDown Vlan10 «administratively down».
Vlan 10 — это имя интерфейса, который мы хотим мониторить.
Отлично! Трапы приходят! (Если ничего не пришло, проверьте свой файервол). Теперь настроим Zabbix.

Настройка Zabbix

В заббиксе создайте новый хост с ip-адресом 0.0.0.0 и с именем snmptraps. Добавьте его в любую группу, например Zabbix Servers.


Теперь создайте Item с такими параметрами:
Description: GetTraps,
Type: Zabbix trapper,
Key: snmptraps,
Type of information: Text,
Сохраните.


В разделе Item, хоста snmptraps, перед столбцом Description, появится столбец Log и маленькая иконка.


Щёлкните на ней, и выберите «Create Log Trigger».


Создайте триггер с такими параметрами:
Description: LinkStatus,
Item: GetTrap,
Expression: 10.1.1.5 linkDown Vlan10 (не забудьте нажать кнопочку add)
Severity: по_вкусу
Сохраните.


Теперь в Configuration->Actions создайте новый экшен на только что созданный триггер. Настройте его так:


Всё, можно проверять, погасите на циске интерфейс, и через некоторое время должен сработать ваш только что настроенный экшен.

Чтобы добавить реакцию zabbix на любой другой трап, воспроизведите это событие на хосте, посмотрите, что запишется в snmptrapmy.log на SNMP сервере, и укажите полученный OID в триггере zabbix. Как только zabix получит трап (который ему передаёт скрипт snmptrap.sh), он проверяет, есть ли в полученной строке указанный в триггере шаблон, и, если есть, то триггер срабатывает. Сработанный триггер вызывает привязанный к нему Action, который отправляет уведомление администратору о случившемся событии.

Если не работает:

Если трапы на SNMP сервере не логируются, выяснить в чём проблема можно отправив трапы вручную, с помощью программы snmptrap: на другом компьютере, установите программу snmptrap и выполните следующее:

Отправленный трап должен записаться в /var/log/snmptrap.log на SNMP сервере. Если его там нет, проверьте, запущен ли snmptrapd и как там дела с правилам вашего файервола и пингуется ли ваш SNMP сервер 🙂

Более подробно про настройку Zabbix можно почитать здесь.

UPD:

для того чтобы, правильно светился hostname:

из файла snptrap.sh
1)удаляем строчку:
HOST="snmptraps";
2) изменяем:
$ZABBIX_SENDER -z $ZABBIX_SERVER -p $ZABBIX_PORT -s $HOST -k $KEY -o "$str"
на
$ZABBIX_SENDER -z $ZABBIX_SERVER -p $ZABBIX_PORT -s $hostname -k $KEY -o "$str"
3) прописываем в /etc/hosts:

127.0.0.1 localhost
192.168.1.1 zabbix.local
10.10.10.1 Router-1
10.10.10.2 Router-2
10.10.10.3 Router-3

Спасибо kbish за дополнения.

Настройка SNMP — достаточно интересная тема, так как протокол SNMP является мощным инструментом в руках системного администратора и критически необходимым в большой сети. Сетевым устройством будет выступать маршрутизатор CISCO.

Как читать эту статью?

Чтобы была польза, было понятно и хоть что-то отложилось в голове. Нужно прочесть теорию, скачать все программы, сделать все настройки, которые использую здесь я. Далее читать и выполнять по шагам то, что выполняю я, сравнивать результат. Желательно написать комментарий, в нём рассказать что получилось. Иначе данная статья окажется бесполезным набором букв.

Немного теории

Общие понятия

Своими словами, чтобы было понятнее — SNMP состоит из 3 частей:

  1. Агента, настроенного на сетевом устройстве;
  2. Программы-диспетчера, настроенной на компьютере;
  3. Кроме этого на устройстве есть База Управляющей Информации (MIB), где собственно и хранятся нужные данные.

База заполняется автоматически сетевым устройством. Нужно только выбирать оттуда необходимые данные.

Взаимодействие между диспетчером и агентом происходит 2 разными способами:

  1. При наступлении определённых заранее событий на устройстве, агент самостоятельно отсылает данные о событии диспетчеру — ловушка SNMP;
  2. Диспетчер собирает статистику по заранее заданным параметрам, опрашивая с определённым интервалом агента — запрос SNMP GetRequest.

Это если на устройстве для диспетчера выдано право только на чтение (RO) базы MIB, если же выдано право на запись (RW), то есть дополнительная возможность:

  • Диспетчер изменяет заранее заданные параметры в MIB, посылая запрос агенту — запрос SNMP SetRequest;

Понятие триггера — если значение параметра, который мониторится со стороны диспетчера, изменяется, то диспетчер выполняет заранее определённое действие (например, посылает сообщение на электронную почту).

Понятие строки сообщества — это пароль, который однозначно идентифицирует агента для версии 1/2, то есть тут нет связки логин/пароль — есть строка сообщества, которая сразу и логин, и пароль.

Последнее, что тут нужно сказать, важный момент: агент и диспетчер используют разные порты. Агент принимает запросы на 161/UDP порту, отправляет информацию диспетчеру на 162/UDP порт.

Версии SNMP

Существует 3 версии SNMP:

  • Версия 1 — основной стандарт;
  • Версия 2c — доработанная в плане производительности версия 1, не включает в себя безопасность версии 2 и неофициально известна как SNMPv1.5. Доработка заключается в том, что параметры из MIB можно выбирать не по 1, а группой (параметры выбираются последовательно, перебором);
  • Версия 3 — доработана только безопасность по отношению к 2c, а именно шифрование и аутентификация.

В плане реализации работы между версиями разница небольшая, но поскольку только версия 3 безопасна, то именно она является актуальной, а версии 1 и 2c хотя всё ещё боевые, но считаются устаревшими. Хотя на практике из-за простоты повсеместно используется SNMP v2c.

База MIB

Структура базы непривычна для понимания, здесь просто нужно запомнить и со временем ничего непривычного не будет. Это структура перевёрнутого дерева, где ствол — 1 (иногда пишут .1), а ветви обозначаются цифрами начиная тоже с 1 и далее. Уровней вложенности может быть много, в ветке новые ветки и так далее. Большинство веток заканчиваются параметрами. Параметры внутри ветки также нумеруются с 1. Путь к параметру состоит из цифр начиная с со ствола и проходит через ведущие к параметру ветки. Цифры разделяются точками. Такой путь называется OID (Object ID). Важно отметить, что это стандарт — нумерация чётко прописана в данном стандарте и одинакова для всех производителей оборудования, но конкретный производитель может добавлять свои уникальные ветви, которые присутствуют только в его оборудовании.

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

Почитать о MIB CISCO. OIDs полезных параметров придётся искать в интернете/документации.

Пример. Путь к стандартной ветке system, где хранятся такие, например, параметры как описание системы (sysDescr) и время прошедшее с запуска системы (sysUpTime) — 1.3.6.1.2.1.1. Путь к параметру sysDescr — 1.3.6.1.2.1.1.1, добавилась ещё 1, так как это первый параметр ветки. Путь к sysUpTime — 1.3.6.1.2.1.1.3 — третий параметр.

Проприетарные ветки производителей всегда располагаются по строго заданному пути iso.org.dod.internet.private.enterprises или в цифровом выражении 1.3.6.1.4.1.

Пример. Для CISCO путь будет 1.3.6.1.4.1.9, а для D-Link 1.3.6.1.4.1.171

Для загрузки MIB CISCO нужно использовать
CISCO IOS MIB Locator или прямая ссылка: ftp://ftp.cisco.com/pub/mibs/

Подробнее о SNMP можно прочитать в 4 части курса CCNA.

Тестовая среда

Настраиваться будет маршрутизатор CISCO c3725, запущенный из под GNS3 и данные будут поступать в виртуальную машину (VM) Hyper-V. Агент SNMP уже является частью внутренней прошивки (IOS) маршрутизатора, а вот в качестве диспетчера будет использоваться бесплатное ПО — PowerSNMP Free Manager. CISCO рекомендует Free SNMP MIB Browser, не пробовал, не знаю. Соединяются маршрутизатор и VM посредством Облака GNS3. Для этого указываем в свойствах Облака внутренний виртуальный коммутатор, к которому подсоединена сетевая карта VM:

  • IP F0/0 маршрутизатора — 192.168.137.2/24
  • IP компьютера — 192.168.137.40/24
  • IP vEthernet (HUB1) — 192.168.137.1/24

На этом этапе считается, что все предварительные настройки уже выполнены.

SNMPv1/SNMPv2c

Версии настраиваются одинаково, так как версия не указывается при создании SNMP агента (строки сообщества), а лишь при создании ловушек. При создании строки сообщества задаётся лишь или право на чтение (RO), или право на запись (RW).

Пример. В маршрутизаторе настроен пока только интерфейс F0/0, ведущий к облаку (и VM). Введём команду создания агента (строки сообщества):

Создалось 2 группы на чтение — TEST v1 и TEST v2c. Удалим сообщество и группы:

Теперь создадим сообщество с правом на запись:

Снова введём команду:

Опять создалось 2 группы — v1 и 2c, только уже с правом и на чтение, и на запись:

На диспетчере SNMP для работы можно будет выбрать или 1, или 2 версию агента.

Настройка маршрутизатора

Полная настройка версий 1 и 2:

  • Команда 1 — создание списка доступа (SNMP_ACL).
  • Команда 2 — разрешает взаимодействие было только с указанным компьютером (192.168.137.40).
  • Команда 3 — возврат из режима конфигурирования списка доступа (config-std-nacl)# в режим глобальной конфигурации (config)#.
  • Команда 4 — создаём Агент SNMP (строку сообщества TEST) только для чтения (ro) — диспетчер сможет считывать значения параметров, но не сможет записывать новые значения и наконец, привязываем список доступа.
  • Команда 5 — указываем куда отсылать данные при срабатывании ловушки (192.168.137.40) и версия 1, для версии 2 будет — 2c вместо 1, имя сообщества (TEST).
  • Команда 6 — включаем ловушки и определяем какие именно ловушки нас интересуют (snmp).

В параметр snmp входят следующие ловушки:

Просмотреть полный перечень возможных ловушек можно командой:

Их там огромное количество:

Настройка VM

Нажатие кнопки Find покажет отсутствие доступных агентов в сети и срабатывание ловушки authentication:

Происходит так потому, что по умолчанию в программе стоит сообщество public, наш агент был опрошен, но отказал в доступе. Меняем public на TEST, агент опять не добавляется — широковещательный запрос. В свойствах ставим IP 192.168.137.2 и сообщество TEST, после чего агент успешно добавляется.

Ещё раз, строка сообщества (community) — это просто пароль, только называется по-другому.

Теперь погасим интерфейс F0/0 и снова включим:

С небольшой задержкой, ведь связанный интерфейс выключался, прилетают сообщения ловушек, смотрим:

OID отвечающий за состояние F0/0: 1.3.6.1.4.1.9.2.2.1.1.20.1 — первый полезный параметр. Следует обратить на то, что параметр находится в проприетарной ветке оборудования CISCO.

Теперь пробуем добавить этот параметр для мониторинга:

Параметр успешно добавился. Выставляем интервал опроса параметра и триггер: если значение параметра не равно up, то отправить сообщение на e-mail:

Задаём параметры e-mail и гасим F0/0. По истечению таймера состояние параметра изменилось на Timeout error, письмо не пришло — программа не оправляет сообщения по таймауту. Выставил опрос на минимум — 1 секунда, включил/выключил F0/0 ещё раз и вот долгожданное письмо:

SNMPv3

Подробно настройка описана в курсе CCNA R&S 6.0 BRIDGING COURSE. Тут будет посложнее, но и поинтереснее — мозги гарантированно заскрипят 🙂

Настройка маршрутизатора

Удаляем всё что относится к предыдущей настройке кроме списка доступа. Далее, разбил настройку на 2 части, потом будет понятно почему.

Общие шаги
  • Шаг 1. Настройте ACL-список (уже сделано);
  • Шаг 2. Настройте представление SNMP;
  • Шаг 3. Настройте группу SNMP;
  • Шаг 4. Настройте пользователя как члена группы SNMP.
Часть 1

Агент SNMPv3 настраивается по-другому нежели SNMPv1/SNMPv2:

Вместо строки сообщества создаётся пользователь с паролем (cisco123) и шифрованием (aes 128, ключ шифрования snmp321) — следует запомнить, что первым указывается пароль пользователя (auth sha cisco123) и вторым ключ шифрования (aes 128 snmp321). Это важно.

Предварительно для пользователя создаётся группа, а ещё ранее вид. Вид определяет с какой частью дерева MIB предстоит работать.

Ещё раз по командам:

  • Команда 1 — создание вида (SNMP-RO) для работы с веткой MIB (system).
  • Команда 2 — создание вида (SNMP-RO) для работы с веткой MIB (mib-2), mib-2 входит в system — эта команда только для примера, что можно добавлять несколько веток.
  • Команда 3 — создание группы (TEST) версии 3 (v3) с аутентификацией и шифрованием (priv) только для чтения (read) для вида (SNMP-RO) и списком доступа (SNMP_ACL).
  • Команда 4 — создание пользователя (ADMIN) в группе (TEST) версии 3 (v3) аутентификацией по алгоритму (sha), паролем (cisco123) и шифрованием (priv) по алгоритму (aes 128) и ключом шифрования (snmp321).
  • Команда 5 — включаем ловушки и определение типов ловушек (snmp).

Тут надо вспомнить 3 уровня безопасности SNMPv3:

  • auth — group using the authNoPriv Security Level (MD5/SHA-1 аутентификация, без шифрования данных);
  • noauth — group using the noAuthNoPriv Security Level (без аутентификации и шифрования);
  • priv — group using SNMPv3 authPriv security level (MD5/SHA-1 аутентификация, шифрование данных DES/3DES/AES)

Для использования authPriv требуется прошивка с поддержкой криптографии (k9).

Теперь проверим что получилось:

По соображениям безопасности пользователи SNMP не показываются в конфигурации.

Часть 2

Подробная настройка получателя ловушек SNMPv3:

  • Команда 6 — указываем хост куда отсылать данные при срабатывании ловушки (192.168.137.40) версии 3, без шифрования и аутентификации (noauth) для пользователя (ADMIN).

Проверяем, пользователь как был так и остался, а вот в группах SNMP и в конфигурации интересные изменения:

Появилась новая группа TEST, хотя команды на её создание не было.

И вот такая занятная строка в конфиге:

Понять что это такое можно выполнив команду:

Помимо группы для ловушек были автоматически созданы дополнительные виды: //blog.ine.com/2008/07/19/snmpv3-tutorial/

Здесь чётко видно, что работа агента с запросами и работа агента с ловушками — 2 абсолютно разных процесса.

Настройка VM

Для начала погасим и включим интерфейс S0/0 (один из дополнительных интерфейсов, интерфейсы по умолчанию на маршрутизаторе выключены), прилетают сообщения ловушек, диспетчер определяет ловушки как версию 2+:

Как видно из рисунка у пользователя ADMIN для ловушек нет шифрования и пароля.

Дальше добавляем агента с указанием версии и атрибутов:

И пробуем добавить параметр 1.3.6.1.4.1.9.2.2.1.1.20.2 — состояние интерфейса S0/0 для мониторинга.

И то же самое для F0/0 — 1.3.6.1.4.1.9.2.2.1.1.20.1. В чем дело? А дело в том, что параметр находится в ветке private, а эту ветку мы не добавляли в вид для работы, добавим:

Состояние интерфейса отображается корректно. С агентом версии 3 всё.

Настройка ловушек v3 с паролем и шифрованием

Удаляем получателя ловушек :

Проверяем пользователя, группы, виды, конфигурацию, если что-то удалилось — восстанавливаем (на самом деле удалиться ничего не должно, но когда настраивал, то первые раза 3 каждый раз получалось по-разному). Теперь:

И заново всё проверяем. Автоматически создались виды, пользователь на месте с теми же параметрами, нет новой группы TEST, так как параметры аутентификации и шифрования совпадают с созданной ранее, исходной группой TEST. В конфигурации параметр для автоматически созданных видов дописался к строке группы:

Если теперь погасить/поднять интерфейс, то ловушки не приходят диспетчеру.

Пробуем добавить пользователя для ловушек версии 3, в программе есть такая возможность. Для этого нужно ввести помимо прочего Engine ID. Его можно найти просмотрев пользователя SNMP либо выполнив команду:

Программа ожидает ввода Engine ID в виде 80-00-00-09-03-00-C2-01-25-D0-00-00, автоматического преобразования нет. Вносим реквизиты пользователя, снова гасим/поднимаем интерфейс S0/0, ловушки приходят:

Открываем сообщение ловушки и видим, что пароль и шифрование задействованы:

Установка Net-SNMP

А как же быть со средой Linux? Для Centos:

Далее, если выполнить:

Конфигурацию демона SNMP после установки нужно отредактировать. Если посмотреть файл /etc/ snmp / snmpd . conf, то в нём по умолчанию доступны ветви:

Соответственно запросы не подпадающие под эти ветви будут возвращаться с ошибкой как выше. Комментируем и оставляем:

Затем рестартуем сервис:

Самые основные и нужные команды пакета:

  • snmpget — SNMP GET запрос;
  • snmpwalk — получает часть дерева значений с помощью SNMP GetNext запросов;
  • snmpset — SNMP SET запрос.

На этом рассмотрение базовой работы SNMP завершено.

Если тема заинтересовала, то предлагаю выполнить лабу по SNMP.

Читайте также:  Oppo a83 характеристики отзывы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *