Коммутаторы позволяют настроить работу протокола 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 private security ReadUser - Создание community public для пользователя ReadUser. snmp community index 2 name public 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 TrapUserconsole(config)# snmp community index 3 name publictrap security TrapUserconsole(config)# snmp group TrapGroup user TrapUser security-model v2c
console(config)# snmp access TrapGroup v2c notify iso_testconsole(config)# snmp view iso_test 1 included
console(config)# snmp targetaddr FirstHost param TrapParams 192.168.2.1 taglist TrapTagconsole(config)# snmp targetparams TrapParams user TrapUser security-model v2c message-processing v2cconsole(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, gi 2/0/1, gi 2/0/2, gi 2/0/3
gi 2/0/4, gi 2/0/5, gi 2/0/6, gi 2/0/7, gi 2/0/8
gi 2/0/9, gi 2/0/10, gi 2/0/11, gi 2/0/12, gi 2/0/13
gi 2/0/14, gi 2/0/15, gi 2/0/16, gi 2/0/17, gi 2/0/18
gi 2/0/19, gi 2/0/20, gi 2/0/21, gi 2/0/22, gi 2/0/23
gi 2/0/24, te 2/0/1, te 2/0/2, te 2/0/3, te 2/0/4
gi 3/0/1, gi 3/0/2, gi 3/0/3, gi 3/0/4, gi 3/0/5
gi 3/0/6, gi 3/0/7, gi 3/0/8, gi 3/0/9, gi 3/0/10
gi 3/0/11, gi 3/0/12, gi 3/0/13, gi 3/0/14, gi 3/0/15
gi 3/0/16, gi 3/0/17, gi 3/0/18, gi 3/0/19, gi 3/0/20
gi 3/0/21, gi 3/0/22, gi 3/0/23, gi 3/0/24, te 3/0/1
te 3/0/2, te 3/0/3, te 3/0/4, gi 4/0/1, gi 4/0/2
gi 4/0/3, gi 4/0/4, gi 4/0/5, gi 4/0/6, gi 4/0/7
gi 4/0/8, gi 4/0/9, gi 4/0/10, gi 4/0/11, gi 4/0/12
gi 4/0/13, gi 4/0/14, gi 4/0/15, gi 4/0/16, gi 4/0/17
gi 4/0/18, gi 4/0/19, gi 4/0/20, gi 4/0/21, gi 4/0/22
gi 4/0/23, gi 4/0/24, te 4/0/1, te 4/0/2, te 4/0/3
te 4/0/4, gi 5/0/1, gi 5/0/2, gi 5/0/3, gi 5/0/4
gi 5/0/5, gi 5/0/6, gi 5/0/7, gi 5/0/8, gi 5/0/9
gi 5/0/10, gi 5/0/11, gi 5/0/12, gi 5/0/13, gi 5/0/14
gi 5/0/15, gi 5/0/16, gi 5/0/17, gi 5/0/18, gi 5/0/19
gi 5/0/20, gi 5/0/21, gi 5/0/22, gi 5/0/23, gi 5/0/24
te 5/0/1, te 5/0/2, te 5/0/3, te 5/0/4, gi 6/0/1
gi 6/0/2, gi 6/0/3, gi 6/0/4, gi 6/0/5, gi 6/0/6
gi 6/0/7, gi 6/0/8, gi 6/0/9, gi 6/0/10, gi 6/0/11
gi 6/0/12, gi 6/0/13, gi 6/0/14, gi 6/0/15, gi 6/0/16
gi 6/0/17, gi 6/0/18, gi 6/0/19, gi 6/0/20, gi 6/0/21
gi 6/0/22, gi 6/0/23, gi 6/0/24, te 6/0/1, te 6/0/2
te 6/0/3, te 6/0/4, gi 7/0/1, gi 7/0/2, gi 7/0/3
gi 7/0/4, gi 7/0/5, gi 7/0/6, gi 7/0/7, gi 7/0/8
gi 7/0/9, gi 7/0/10, gi 7/0/11, gi 7/0/12, gi 7/0/13
gi 7/0/14, gi 7/0/15, gi 7/0/16, gi 7/0/17, gi 7/0/18
gi 7/0/19, gi 7/0/20, gi 7/0/21, gi 7/0/22, gi 7/0/23
gi 7/0/24, te 7/0/1, te 7/0/2, te 7/0/3, te 7/0/4
gi 8/0/1, gi 8/0/2, gi 8/0/3, gi 8/0/4, gi 8/0/5
gi 8/0/6, gi 8/0/7, gi 8/0/8, gi 8/0/9, gi 8/0/10
gi 8/0/11, gi 8/0/12, gi 8/0/13, gi 8/0/14, gi 8/0/15
gi 8/0/16, gi 8/0/17, gi 8/0/18, gi 8/0/19, gi 8/0/20
gi 8/0/21, gi 8/0/22, gi 8/0/23, gi 8/0/24, te 8/0/1
te 8/0/2, te 8/0/3, te 8/0/4
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 отдельно для каждого порта:
console(config)# interface gigabitethernet 0/1
console(config-if)# snmp trap ? link-status Trap link status configuration mac-address-table MAC address table traps