Коммутаторы позволяют настроить работу протокола SNMP для удаленного мониторинга и управления устройством. Устройство поддерживает протоколы версий SNMPv1, SNMPv2, SNMPv3. Настройка Настройка SNMPv1 отличается от настройки SNMPv2 только устанавливаемой версией в команде snmp group <Group> user <User> security-model <v1/v2c>.
Базовая настройка SNMP SNMPv2 на чтение и запись:
| Блок кода |
|---|
console(config)# snmp user ReadUser |
...
console(config)# snmp user WriteUser |
...
console(config)# snmp group ReadGroup user ReadUser security-model v2c |
...
console(config)# snmp group WriteGroup user WriteUser security-model v2c |
...
console(config)# snmp community index 1 name |
...
public security ReadUser console(config)# snmp community index 2 name |
...
private security WriteUser console(config)# snmp access ReadGroup v2c read iso_test |
...
console(config)# snmp access WriteGroup v2c read iso_test write iso_test |
...
console(config)# snmp view iso_test 1 included |
Примечание: Начиная с версии ПО 10.3.6, появилась возможность задать IP-адрес для доступа к SNMP community. Пример команды:
Далее опишем подробно, что делается каждой из этих команд:
snmp user ReadUser - Создание SNMP-пользователя ReadUser.
Далее добавим его в группу ReadGroup, для которой укажем используемый протокол SNMP и настроим права доступа (RO), и настроим для пользователя соответствие community public.
snmp user WriteUser - Создание SNMP-пользователя WriteUser.
Далее добавим его в группу WriteGroup, для которой укажем используемый протокол SNMP и настроим права доступа (RW), и настроим для пользователя соответствие community private.
snmp group ReadGroup user ReadUser security-model v2c - Создание группы ReadGroup. К ней привязываем пользователя ReadUser и указываем, что будет использоваться именно протокол SNMPv2.
snmp group WriteGroup user WriteUser security-model v2c - Создание группы WriteGroup. К ней привязываем пользователя WriteUser и указываем, что будет использоваться именно протокол SNMPv2.
snmp community index 1 name public security ReadUser - Создание community public для пользователя ReadUser.
snmp community index 2 name private security WriteUser - Создание community private для пользователя WriteUser.
snmp access ReadGroup v2c read iso_test - Разрешить SNMP-группе ReadGroup доступ на чтение OID, попадающих под правило обозрения iso_test (имя правила обозрения можно задать свое).
snmp access WriteGroup v2c read iso_test write iso_test - Разрешить группе WriteGroup доступ на чтение и запись OID, попадающих под правило обозрения iso_test (имя правила обозрения можно задать свое).
snmp view iso_test 1 included - Создать правило обозрения для SNMP под названием iso_test, разрешающее опрос OID, начинающихся с 1. (1 included), группам, к которым будет привязан этот view (команда snmp access group). snmp community index 1 name private security WriteUser 192.168.1.1
Примечание: На коммутаторах этих линеек по умолчанию установлен одинаковый EngineID 80.00.08.1c.04.46.53, поэтому необходимо указывать уникальные EngineID при настройке SNMP. Пример EngineID на основе MAC-адреса коммутатора:
| Блок кода |
|---|
console(config) |
...
# snmp engineid cc.9d.a2.66.24.c0 |
Примечание: Начиная с версии ПО 10.3.6, появилась возможность задать IP-адрес для доступа к SNMP community. Пример команды:
| Блок кода |
|---|
snmp community index 1 name private security WriteUser 192.168.1.1 |
Настройка отправки SNMP-trap на адрес 192.168.2.1:
| Блок кода |
|---|
console(config) |
...
# snmp user TrapUser |
...
console(config) |
...
# snmp community index 3 name publictrap security TrapUser |
...
console(config) |
...
# snmp group TrapGroup user TrapUser security-model v2c |
...
console(config) |
...
# snmp access TrapGroup v2c notify iso_test |
...
console(config) |
...
# snmp view iso_test 1 included |
...
console(config) |
...
# snmp targetaddr FirstHost param TrapParams 192.168.2.1 taglist TrapTag |
...
console(config) |
...
# snmp targetparams TrapParams user TrapUser security-model v2c message-processing v2c |
...
console(config) |
...
# snmp notify TrapNotify tag TrapTag type Trap |
Настроенные по умолчанию события для отправки SNMP Trap:
| Блок кода |
|---|
...
console#show snmp traps Trap Status ---------------------------------- -------- |
...
coldstart Enable warmstart Enable authentication-failure-traps |
...
Disable errdisable-storm-control |
...
Enable errdisable-loopback-detection |
...
Enable errdisable-udld Enable errdisable-port-security Enable errdisable-overheat Enable dry-contacts Disable Trap Enabled on queue number ------------------------ ----------------------- |
...
cpu-rate-limit |
...
disabled Trap Enabled on ports ------------------------ -------------------------------------- |
...
Link Status gi 1/0/1, gi 1/0/2, gi 1/0/3, gi 1/0/4, gi 1/0/5 |
...
gi 1/0/6, gi 1/0/7, gi 1/0/8, gi 1/0/9, gi 1/0/10 |
...
gi 1/0/11, gi 1/0/12, gi 1/0/13, gi 1/0/14, gi 1/0/15 |
...
gi 1/0/16, gi 1/0/17, gi 1/0/18, gi 1/0/19, gi 1/0/20 |
...
gi 1/0/21, gi 1/0/22, gi 1/0/23, gi 1/0/24, |
...
te 1/0/1
te 1/0/2, te 1/0/3, te 1/0/4, po 1, po 2
po 3, po 4, po 5, po 6, po 7
po 8, po 9, po 10, po 11, po 12
po 13, po 14, po 15, po 16, po 17
po 18, po 19, po 20, po 21, po 22
po 23, po 24, po 25, po 26, po 27
po 28, po 29, po 30, po 31, po 32
po 33, po 34, po 35, po 36, po 37
po 38, po 39, po 40, po 41, po 42
po 43, po 44, po 45, po 46, po 47
po 48, po 49, po 50, po 51, po 52
po 53, po 54, po 55, po 56, po 57
po 58, po 59, po 60, po 61, po 62
po 63, po 64
MAC learning disabled
MAC removing disabled |
Отправку трапов по событиям можно отключить/включить :
| Блок кода |
|---|
console(config)#snmp enable traps ?
coldstart coldStart trap
cpu CPU related configuration
dry-contacts Dry contacts related configuration
errdisable Errdisable traps
snmp SNMP related configuration
warmstart warmStart trap |
Трапы по событиям link-status и mac-adress-table можно отключить/включить отдельно для каждого порта:
| Блок кода |
|---|
console(config)#int gi0/1
console(config-if)#snmp trap ?
link-status Trap link status configuration
mac-address-table MAC address table traps |
Каждое событие возможно исключить/включить:
...
Link-status отдельно для каждого порта:
console(config)# interface gigabitethernet 0/1
...
Видео по настройке SNMP:
...