Как включить snmp на коммутаторе
Пример настройки коммутатора SNR для управления и мониторинга с использованием протоколов SNMP v2 и v3
В данном примере приведен возможный вариант конфигурации SNMP v2\v3 для коммутаторов серии SNR-2900.
snmp-server enable
snmp-server securityip x.x.x.x
snmp-server community rw 0 usergroup
snmp-server user user usergroup authPriv des auth md5
snmp-server group usergroup authpriv read view access 1
snmp-server view view 1.3.6.1.2.1.1. include
access-list 1 permit host-source x.x.x.x
Пример запроса для SNMP v3
snmpwalk -v3 -u user -l authPriv -a md5 -A useruser -x des -X useruser y.y.y.y
Ниже собраны примеры, часто запрашиваемые в технической поддержке для управления коммутаторами по протоколу SNMP.
Так как примеров управления существует великое множество — данная заметка будет периодически обновляться и дополняться.
Включение/выключение порта:
snmpset -v2c -c private x.x.x.x .1.3.6.1.2.1.2.2.1.7. N i 2
x.x.x.x — IP коммутатора,
2 — состояние порта (1 — вкл., 2 — выкл.)
snmpwalk -v2c -c private x.x.x.x .1.3.6.1.2.1.17.4.3.1.1
Выполнение VCT (Virtual-cable-test) и получение состояния:
Запустить VCT на порту:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.3.2.1.18.N i 1
Получить состояние VCT:
snmpget -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.3.2.1.19.N
x.x.x.x — IP коммутатора,
Сохранение настроек коммутатора:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.6.0 i 1
x.x.x.x — IP коммутатора
Перезагрузка коммутатора:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.1.0 i 3
x.x.x.x - IP коммутатора
Получение загрузки CPU коммутатора:
snmpget -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.11.10.0
x.x.x.x — IP коммутатора
Включение/выключение Flow Control на порту:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7 .100.3.2.1.6. N i 1
x.x.x.x — IP коммутатора,
1 — состояние Flow Control (1 — вкл, 0 — выкл)
Создать VLAN
Создаём VLAN 4001 с названием «test»:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.5.1.1.4. 4001 i 1
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.5.1.1.2. 4001 s «test»
Установить native VLAN на порту (switchport access vlan xxx):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.3.2.1.16. N i M
x.x.x.x — IP коммутатора,
Включить AM (Access Management, IP-MAC-Port Binding) глобально:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.1.0 i 1
Выключить AM (Access Management, IP-MAC-Port Binding)глобально:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.1.0 i 2
Включить AM (Access Management, IP-MAC-Port Binding) ip-pool на порту N для IP-адреса y.y.y.y:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.2. N . y.y.y.y i 1
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.3. N.y.y.y.y i 1
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.6. N.y.y.y.y i 1
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.7. N.y.y.y.y i 1
Включить AM (Access Management, IP-MAC-Port Binding) mac-ip-pool на порту N для IP-адреса y.y.y.y и MAC-адреса zz-zz-zz-zz-zz-zz:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.2. N . y.y.y.y i 1
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.3. N.y.y.y.y i 2
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.5. N.y.y.y.y s « zz-zz-zz-zz-zz-zz »
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.7. N.y.y.y.y i 1
Выключить AM (Access Management, IP-MAC-Port Binding) на порту N для IP-адреса y.y.y.y
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.4.2.1.7. N.y.y.y.y i 2
Загрузка файлов на TFTP-сервер (Сохранение конфигурации на TFTP-сервер)
Перед сохранением конфигурации на TFTP-сервер, убедитесь в том, что пустой файл, в который будет сохраняться конфигурация, уже создан в папке TFTP-сервера.
1. Задаем IP-адрес TFTP-сервера:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.3.0 s « y.y.y.y »
2. Задаем имя файла на коммутаторе:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.4.0 s «startup.cfg»
3. Задаем имя файла на TFTP-сервере:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.5.0 s «backup-current.cfg»
4. Устанавливаем тип сервера (1-FTP, 2-TFTP):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.7.0 i 2
5. Запускаем процедуру загрузки (1-Upload, 2-Download):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.8.0 i 1
Проверка статуса выполнения команды:
snmpget -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.9.0
Результатом будет числовое значение текущего состояния:
Загрузка файлов с TFTP-сервера (Обновление ПО коммутатора)
1. Задаем IP-адрес TFTP-сервера:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.3.0 s « y.y.y.y »
2. Задаем имя файла на TFTP-сервере:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.4.0 s «6.2.138.103_nos.img»
3. Задаем имя файла на коммутаторе:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.5.0 s «nos.img»
4. Устанавливаем тип сервера (1-FTP, 2-TFTP):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.7.0 i 2
5. Запускаем процедуру загрузки (1-Upload, 2-Download):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.8.0 i 2
Проверка статуса выполнения команды:
snmpget -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.1.10.9.0
Результатом будет числовое значение текущего состояния:
Создание IP extended ACL
1. Включаем файрволл (firewall enable)
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.1.1 i 1
2. Создаём ACL c указанным номером (100-199)
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.1.1.4. 101 i 0
3. Создаём правило 1 и выбираем действие a (permit = 1, deny = 0)
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.4.101. 1 i 1
4. Выбираем протокол IP
2 — IGMP 4 — IP-IP
17 — UDP 47 — GRE
88 — EIGRP 89 — OSPF
103 — PIMv2 108 — PCP
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.5.101.1 i 6
5. Указываем source :
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.6.101.1 a y.y.y.y
Опционально wildcard (по умолчанию 255.255.255.255):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.7.101.1 a a.a.a.a
Для настройки any-source, задаем source 1.1.1.1 и wildcard 255.255.255.255
6. Указываем destination :
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.8.101.1 a z.z.z.z
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.9.101.1 a b.b.b.b
Для настройки any-destination, задаем destination 1.1.1.1 и wildcard 0.0.0.0
7. Указываем source port (для IP/TCP/UDP, любой s-port = 0):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.13.101.1 i 0
8. Указываем destination порт:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.15.101.1 i 135
9. Применяем правило:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.17.101.1 i 0
Создание MAC ACL
1. Включаем файрволл (firewall enable):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.1.1 i 1
2. Создаём ACL с указанным номером (700-799):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.1.1.4. 700 i 0
3. Создаём правило 1 и указываем действие (permit = 1, deny = 0)
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.4.700. 1 i 0
4. Указываем source MAC:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.5.700.1 s «xx-xx-xx-xx-xx-xx»
5. Указываем destination MAC (any-destination = 00-00-00-00-00-00)
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.6.700.1 s "00-00-00-00-00-00»
6. Применяем правило:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.7.700.1 i 0
Привязка ACL к порту
1. Создаём привязку с ID 1 (можно использовать любые значения) ACL 100 к порту 8:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.4.1.1.5.0. 8 . 1 .1 i 100
2. Чтобы включить traffic-statistics (порт 8, ID привязки 1):
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.10.1.4.1.1.6.0. 8 . 1 .1 i 1
QoS
1. Создаём class-map, привязываем к нему ACL и сохраняем его:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.2.1.2.N. < A.B.C>i 7
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.2.1.3.N. < A.B.C>s «X»
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.2.1.5.N. < A.B.C>i 0
N – количество символов в названии class-map
A.B.C. < …>– название class-map
X – номер или название ACL [a]
a = 97, b = 98, c = 99 и т. д.
0 = 48, 1 = 49, 2 = 50, 3 = 51 и т. д.
Например для class-map c1 и access-list 101:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.2.1.2 . 2.99.49 i 7
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.2.1.3. 2.99.49 s «101»
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.2.1.5. 2.99.49 i 0
2. Создаём policy-map с уникальным произвольным номером (например, 1) и сохраняем его:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.1.1.2. 10 s «PolicyMap1»
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.1.1.4. 10 i 0
N – номер policy map, любое уникальное число
3. Создаём связку policy-map и class-map и настраиваем параметры полисинга:
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.4.1.4. 10 .N. < A.B.C>b 1
N. < A.B.C>– то же самое, что и выше, название class-map.
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.4.1.5. 10 .N. < A.B.C>i 1024
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.4.1.6. 10 .N. < A.B.C>i 256
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.4.1.9. 10 .N. < A.B.C>b 0
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.4.1.15. 10 .N. < A.B.C>b 01
snmpset -v2c -c private x.x.x.x .1.3.6.1.4.1.40418.7.100.11.2.4.1.48. 10 .N. < A.B.C>i 0
4. Применяем policy-map к порту N:
snmpset -v2c -c private x.x.x.x 1.3.6.1.4.1.40418.7.100.11.2.11.1.4.0. N .1 s «PolicyMap1»
snmpset -v2c -c private x.x.x.x 1.3.6.1.4.1.40418.7.100.11.2.11.1.5.0. N .1 i 0
Управление ассоциациями с multicast vlan
snmpset -v2c -c … $IP_ADDRESS 1.3.6.1.4.1.40418.7.100.5.2.1.3.4090 s «$VLAN_ID» — любой влан, один либо последовательность, не переписывает список ассоциаций как таковой, просто задает список для дальнейшего сета
snmpset -v2c -c … $IP_ADDRESS 1.3.6.1.4.1.40418.7.100.5.2.1.4.4090 i 1 (1 — добавить, 0 — удалить вышезаданный список)
Настройка SNMP — достаточно интересная тема, так как протокол SNMP является мощным инструментом в руках системного администратора и критически необходимым в большой сети. Сетевым устройством будет выступать маршрутизатор CISCO.
Немного теории
Общие понятия
Своими словами, чтобы было понятнее - SNMP состоит из 3 частей:
- Агента, настроенного на сетевом устройстве;
- Программы-диспетчера, настроенной на компьютере (компьютер тут Network Management Station, NMS);
- Кроме этого на устройстве есть База Управляющей Информации (MIB), где собственно и хранятся нужные данные.
База заполняется автоматически сетевым устройством. Нужно только выбирать оттуда необходимые данные.
Взаимодействие между диспетчером и агентом происходит 2 разными способами:
- При наступлении определённых заранее событий на устройстве, агент самостоятельно отсылает данные о событии диспетчеру - ловушка SNMP;
- Диспетчер собирает статистику по заранее заданным параметрам, опрашивая с определённым интервалом агента - запрос SNMP GetRequest.
Это если на устройстве для диспетчера выдано право только на чтение (RO) базы MIB, если же выдано право на запись (RW), то есть дополнительная возможность:
- Диспетчер изменяет заранее заданные параметры в MIB, посылая запрос агенту - запрос SNMP SetRequest
Понятие строки сообщества - это пароль, который проверяется при попытке подключения к устройству по SNMP (для версии SNMP 1 и 2). То есть тут нет связки логин/пароль - есть строка сообщества, которая сразу и логин, и пароль.
Последнее, что тут нужно сказать, важный момент: агент и диспетчер используют разные порты. Агент принимает запросы на 161/UDP порту, отправляет информацию диспетчеру на 162/UDP порт.
Версии SNMP
Существует 3 версии SNMP:
- Версия 1 - основной стандарт;
- Версия 2c - доработанная в плане производительности версия 1, не включает в себя безопасность версии 2 и неофициально известна как SNMPv1.5. Доработка заключается в том, что параметры из MIB можно выбирать не по 1, а группой. Есть улучшенная поддержка ошибок, расширен список кодов ошибок;
Пример. Для CISCO путь будет 1.3.6.1.4.1.9, а для D-Link 1.3.6.1.4.1.171
Для загрузки MIB CISCO нужно использовать
CISCO IOS MIB Locator.
Подробнее о 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:
В параметр 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.
Теперь пробуем добавить этот параметр для мониторинга:
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, хотя команды на её создание не было.
И вот такая занятная строка в конфиге:
Понять что это такое можно выполнив команду:
Здесь чётко видно, что работа агента с запросами и работа агента с ловушками - 2 абсолютно разных процесса.
Настройка VM
Как видно из рисунка у пользователя 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, ловушки приходят:
Индексы интерфейсов
NMS записывает пропускную способность и другую статистику по интерфейсам устройства опрашивая SNMP агента. При этом для каждого интрефейса используется номер индекса. Уникальный номер индекса присваивается динамически при каждой загрузке устройства.
Хорошая практика держать индексы интерфейсов постоянными. Для этого нужно выполнить команду:
После выполнения команды индексы сохраняются в NVRAM и не зависят от перезагрузок устройства.
Установка Net-SNMP
А как же быть со средой Linux? Для Centos:
Далее, если выполнить:
Конфигурацию демона SNMP после установки нужно отредактировать. Если посмотреть файл /etc/ snmp / snmpd . conf, то в нём по умолчанию доступны ветви:
Соответственно запросы не подпадающие под эти ветви будут возвращаться с ошибкой как выше. Комментируем и оставляем:
Для построения отказоустойчивой информационной системы нам нужно всегда знать в каком состоянии она находиться. Для того чтобы развернуть полноценный мониторинг как cacti, zabbix или nagios, нам нужно настроить каждое оборудование таким образом, чтобы оно автоматически отсылало данные о своем состоянии.
Для коммутаторов и маршрутизаторов настроить такую отправку (по протоколу SNMP ) является очень важной задачей. Благодаря этому в чрезвычайных ситуациях можно будет легко «поднять» все накопленные данные за «проблемный» период и найти проблему, вызвавшую критическую ошибку.
Настройка SNMP v2 в Cisco
Включаем SNMP
В начале настройки нужно создать группу. В нашем случае будет community. Этой группе установим права только на чтение SNMP -traps. Дословный перевод SNMP -traps звучит как SNMP -ловушки.
Для включения SNMP нужно исполнить команду:
После этой настройки ваш коммутатор начнет отправлять служебную информацию. По сути, настройка закончена. Единственный минус всего этого только в том, что получать эту информацию будут все кто захочет. У Cisco есть возможность, средствами ACL , ограничить отправку SNMP -информации только определенному IP-адресу, что и будем делать. Ограничение по логину и паролю в SNMP есть только в версии 3, которая в моих коммутаторах 2960 не поддерживается. Настройка SNMP v3 на коммутаторах Cisco будет чуть ниже.
Если Вам нужно явно указать версию SNMP , то делается это так:
Настройка ограничения доступа к SNMP по IP-адресу
Чтобы настроить ограничение доступа, создадим простое (стандартное) правило ACL и ограничим только одним IP-адресом:
Понятно, что это слабо можно назвать защитой SNMP -трафика, но это лучше чем ничего. Да и к тому же SNMP мы пускаем только внутри предприятия, трафик которого не может уйти во вне, а вероятность появиться злоумышленнику на территории предприятия значительно ниже, чем во внешнем мире.
Настройка SNMP v3 в Cisco
Если Ваши коммутаторы Cisco поддерживают SNMP версии 3, то Вы можете использовать авторизацию по логину/паролю. Для этого команды включения SNMP в Cisco будут выглядеть так:
В качестве хеш-алгоритма для пароля может выступать как в нашем случае sha, так и md5 или aes.
Комментарии
Расписано понятно. Спасибо. Обладателям устройств компании Cisco однозначно поможет. Продолжайте в том же духе.
Настраиваем разрешенный пул Source IP-адресов на порте:
- ifindex - номер настраиваемого порта;
- ip - настраиваемый разрешенный Source IP-адрес;
- num - количество последующих разрешенных IP-адресов, включая указанный;
- status: '1' - создать правило, '2' - удалить правило.
Настраиваем разрешенную связку Source MAC-IP на порте:
- ifindex - номер настраиваемого порта;
- ip - настраиваемый разрешенный Source IP-адрес;
- source_mac - Source MAC для данного Source IP-адреса;
- status: '1' - создать правило, '2' - удалить правило.
Все OID также доступны для чтения. Например, режим работы Source IP либо Source MAC/IP можно посмотреть с помощью OID:
Разрешенные Source IP-адреса:
Разрешенные Source MAC-адреса:
Количество последующих разрешенных Source IP-адресов, включая указанный:
Передача файлов (с примером сохранения конфигурации на FTP/TFTP-сервер)
Задаем IP-адрес FTP/TFTP-сервера:
Задаем имя файла источника (в данном случае файла на коммутаторе):
Задаем имя файла назначения (в данном случае файла на TFTP-сервере):
Устанавливаем тип сервера:
Указываем логин/пароль для пользователя FTP-сервера (для случая, если используется FTP):
Запускаем процедуру передачи файла:
Проверка статуса выполнения команды:
- ip_addr - IP коммутатора;
- server_ip - IP адрес сервера;
- source_file - имя файла источника;
- destination_file - имя файла назначения;
- server_type - тип сервера (1 - FTP, 2 - TFTP);
- username - имя пользователя FTP;
- password - пароль пользователя FTP;
- direction - направление передачи файла по отношению к коммутатору (1 - Upload, 2 - Download).
Результатом будет числовое значение текущего состояния (0 - Error, 1 - OK, 2 - Uploading, 3 - Downloading, 4 - Idle).
Пример сохранения конфигурации на TFTP-сервер
Перед сохранением конфигурации на TFTP-сервер убедитесь в том, что пустой файл, в который будет сохраняться конфигурация, уже создан в папке TFTP-сервера.
Создание IP extended ACL
Включить/выключить файрвол (0 - firewall disable, 1 - enable):
Создаём IP extended ACL (100-199):
Создаём правило и выбираем действие (0 - deny, 1 - permit):
- 0 - IP
- 1- ICMP
- 2- IGMP
- 6 - TCP
- 17 - UDP
- 47 - GRE
Указываем Source IP:
Указываем Wildcard для Source IP (опционально, по умолчанию 0.0.0.0):
Для настройки Any Source необходимо задать произвольный SRC IP и SRC IP Wildcard 255.255.255.255.
Указываем Destination IP:
Указываем Wildcard для Destination IP (опционально, по умолчанию 0.0.0.0):
Для настройки Any Source необходимо задать произвольный DST IP и DST IP Wildcard 255.255.255.255.
Указываем Source Port (опционально, для TCP/UDP):
Указываем Destination Port (опционально, для TCP/UDP):
Создание MAC standard ACL
Включаем файрвол (0 - firewall disable, 1 - enable):
Создаём MAC standard ACL (700-799):
Создаём правило и выбираем действие (0 - deny, 1 - permit):
Указываем Source MAC:
Any Source - 00-00-00-00-00-00.
Указываем Destination MAC:
Any Destination - 00-00-00-00-00-00.
Привязка ACL к порту
Создаём процесс привязки ACL порту:
Включить/выключить traffic-statistics (опционально, по умолчанию выключен, 0 - выкл, 1 - вкл):
Читайте также: