Коммутаторы позволяют настроить работу протокола SNMP для удаленного мониторинга и управления устройством. Устройство поддерживает протоколы версий SNMPv1, SNMPv2, SNMPv3. Настройка SNMPv1 отличается от настройки SNMPv2 только устанавливаемой версией в команде snmp group <Group> user <User> security-model <v1/v2c>.

Базовая настройка 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

Далее опишем подробно, что делается каждой из этих команд:

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). 


Примечание: На коммутаторах этих линеек по умолчанию установлен одинаковый 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#sh 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)# interface gigabitethernet 0/1

console(config-if)# snmp trap ?

link-status Trap link status configuration
mac-address-table MAC address table traps





  • Нет меток