info Примеры управления коммутаторами SNR по протоколу SNMP

 

Настройка SNMP на коммутаторах SNR

В данном примере приведен вариант минимальной конфигурации SNMP v2\v3.

!
snmp-server enable
snmp-server securityip disable
snmp-server community ro 0 public
snmp-server community rw 0 private

!

 

Пример запроса SNMP v2c

snmpwalk -v2c -c public ip_address

 

Примеры самых популярных в технической поддержке запросов для мониторинга и управления

(Так как примеров управления существует великое множество — данная заметка будет периодически обновляться и дополняться)

 

Включение/выключение порта

snmpset -v2c -c private ip_addr .1.3.6.1.2.1.2.2.1.7.ifindex i state

 

где:

ip_addr - IP коммутатора

ifindex - номер порта

state - состояние порта (1 - вкл, 2 - выкл)

 

Запрос таблицы MAC-адресов 

snmpwalk -v2c -c private ip_addr .1.3.6.1.2.1.17.4.3.1.1

 

где:

ip_addr - IP коммутатора

 

Получить результаты VCT (Virtual-cable-test)

Запустить VCT на порту:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.3.2.1.18.ifindex i 1

 

Получить состояние VCT:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.3.2.1.19.ifindex

 

где:

ip_addr - IP коммутатора,

ifindex - номер порта

 

Сохранение настроек коммутатора

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.6.0 i 1

 

где:

ip_addr - IP коммутатора

 

Перезагрузка коммутатора

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.1.0 i 3

 

где:

ip_addr - IP коммутатора

 

Получение загрузки CPU коммутатора

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.11.10.0

 

где:

ip_addr - IP коммутатора

 

Получение утилизации RAM коммутатора

Всего памяти:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.11.6.0

 

Использовано памяти:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.11.7.0

 

где:

ip_addr - IP коммутатора

 

Включение/выключение Flow Control на порту

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.3.2.1.6.ifindex i state

 

где:

ip_addr - IP коммутатора

ifindex - номер порта

state - состояние Flow Control (0 - выкл, 1 - вкл)

 

Создать VLAN

Создать VLAN:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.5.1.1.4.vlan_id i 1

 

Указать имя VLAN:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.5.1.1.2.vlan_id s name

 

где:

ip_addr - IP коммутатора

vlan_id - номер создаваемого VLAN`а

name - имя VLAN`а

 

Настройка режима switchport на порту

Указать режим:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.3.2.1.15.ifindex i mode

 

Указать нативный VLAN:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.3.2.1.16.ifindex i vlan_id

 

где:

ip_addr - IP коммутатора

ifindex - номер порта

mode - режим switchport (1 - access, 2 - trunk, 3 - hybrid)

vlan_id -  номер нативного VLAN’a

 

Настройка AM (Access Management, IP-MAC-Port Binding)

Включить/выключить AM глобально:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.1.0 i state

 

Настроить ip-pool на порту:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.2.ifindex.pool_ip i 1

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.3.ifindex.pool_ip i 1

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.6.ifindex.pool_ip i 1

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.7.ifindex.pool_ip i 1

 

Настроить mac-ip-pool на порту:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.2.ifindex.pool_ip i 1

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.3.ifindex.pool_ip i 2

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.5.ifindex.pool_ip s pool_mac

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.7.ifindex.pool_ip i 1

 

Удалить ip-pool с порта:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.4.2.1.7.ifindex.pool_ip i 2

 

где:

ip_addr - IP коммутатора

state - состояние AM (1 - включен, 2 - выключен)

ifindex - номер порта

pool_ip - IP адрес пула AM

pool_mac - MAC адрес пула AM

 

Передача файлов (с примером сохранения конфигурации на TFTP-сервер)

Задаем IP-адрес TFTP-сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.3.0 s server_ip

 

Задаем имя файла на коммутаторе:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.4.0 s switch_file

 

Задаем имя файла на TFTP-сервере:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.5.0 s server_file

 

Устанавливаем тип сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.7.0 i server_type

 

Запускаем процедуру передачи файла:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.8.0 i direction

 

Проверка статуса выполнения команды:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.9.0

Результатом будет числовое значение текущего состояния (0 - Error, 1 - OK, 2 - Uploading, 3 - Downloading, 4 - Idle)

 

где:

ip_addr - IP коммутатора

server_ip - IP адрес сервера

switch_file - имя файла на коммутаторе

server_file - имя файла на сервере

server_type - тип сервера (1 - FTP, 2 - TFTP)

direction - направление передачи файла по отношению к коммутатору (1 - Upload, 2 - Download)

 

Пример сохранения конфигурации на tftp-сервер

Перед сохранением конфигурации на TFTP-сервер, убедитесь в том, что пустой файл, в который будет сохраняться конфигурация, уже создан в папке TFTP-сервера.

snmpset -v2c -c private 192.168.0.10 .1.3.6.1.4.1.40418.7.100.1.10.3.0 s 10.0.0.1
snmpset -v2c -c private 192.168.0.10 .1.3.6.1.4.1.40418.7.100.1.10.4.0 s startup.cfg
snmpset -v2c -c private 192.168.0.10 .1.3.6.1.4.1.40418.7.100.1.10.5.0 s SW010.cfg
snmpset -v2c -c private 192.168.0.10 .1.3.6.1.4.1.40418.7.100.1.10.7.0 i 2
snmpset -v2c -c private 192.168.0.10 .1.3.6.1.4.1.40418.7.100.1.10.8.0 i 1
snmpget -v2c -c private 192.168.0.10 .1.3.6.1.4.1.40418.7.100.1.10.9.0

 

Создание IP extended ACL

Включить/выключить файрволл (0 - firewall disable, 1 - enable):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.1.1 i state

 

Создаём IP extended ACL (100-199):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.1.1.4.acl_id i 0

 

Создаём правило и выбираем действие (0 - deny, 1 - permit):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.4.acl_id.rule_id i action

 

Выбираем протокол:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.5.acl_id.rule_id i protocol_id

0 - IP      1- ICMP    2- IGMP
6 - TCP   17 - UDP   47 - GRE

 

Указываем source IP:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.6.acl_id.rule_id a src_ip

 

Указываем wildcard для source IP (опционально, по умолчанию 0.0.0.0):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.7.acl_id.rule_id a src_ip_wildcard

(для настройки any-source, задаем произвольный src_ip и src_ip_wildcard 255.255.255.255)

 

Указываем destination IP:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.8.acl_id.rule_id a dst_ip

 

Указываем wildcard для destination IP (опционально, по умолчанию 0.0.0.0):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.9.acl_id.rule_id a dst_ip_wildcard

(для настройки any-source, задаем произвольный dst_ip и dst_ip_wildcard 255.255.255.255)

 

Указываем source port (опционально, для TCP/UDP):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.11.acl_id.rule_id i 1

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.12.acl_id.rule_id i src_port

 

Указываем destination порт (опционально, для TCP/UDP):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.14.acl_id.rule_id i 1

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.15.acl_id.rule_id i dst_port

 

Применяем правило:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.4.1.17.acl_id.rule_id i 0

 

Создание MAC standard ACL

Включаем файрволл (0 - firewall disable, 1 - enable):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.1.1 i state

 

Создаём MAC standard ACL (700-799):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.1.1.4.acl_id i 0

 

Создаём правило и выбираем действие (0 - deny, 1 - permit):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.4.acl_id.rule_id i action

 

Указываем source MAC:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.5.acl_id.rule_id s src_mac

(any-destination - 00-00-00-00-00-00)

 

Указываем destination MAC:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.6.acl_id.rule_id s dst_mac

(any-destination = 00-00-00-00-00-00)

 

Применяем правило:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.3.5.1.7.acl_id.rule_id i 0

 

Привязка ACL к порту

Создаём процесс привязки ACL порту:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.4.1.1.5.0.port_id.1.1 i acl_id

 

Включить/выключить traffic-statistics (опционально, по умолчанию выключен, 0 - выкл, 1 - вкл):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.4.1.1.6.0.port_id.1.1 i stat_mode

 

Привязать/отвязать ACL к порту (0 - отвязать, 1 - привязать):

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.10.1.4.1.1.7.0.port_id.1.1 i action

 

QoS

Создаём class-map, привязываем к нему ACL и сохраняем его:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.2.1.2.length.{A.B.C..} i 7
snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.2.1.3.length.{A.B.C..} s acl_name
snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.2.1.5.length.{A.B.C..} i 0

 

где:

ip_addr - IP коммутатора

length – количество символов в названии class-map

acl_name - номер или название ACL

{A.B.C..} – название class-map

'a' = 97, 'b' = 98, 'c' = 99 и т. д.

'0' = 48, '1' = 49, '2' = 50, '3' = 51 и т. д.

 

Например, для class-map c1 и access-list 101:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.2.1.2.2.99.49 i 7
snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.2.1.3.2.99.49 s «101»
snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.2.1.5.2.99.49 i 0

 

Создаём policy-map и сохраняем его:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.1.1.2.policy_id s policy_name
snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.1.1.4.policy_id i 0

 

где:

ip_addr - IP коммутатора

policy_id – уникальный номер policy-map

policy_name - имя policy-map

 

Создаём связку policy-map и class-map и настраиваем параметры полисинга:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.4.1.4.policy_id.length.{A.B.C..} b 1

rate:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.4.1.5.policy_id.length.{A.B.C..} i rate

burst:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.4.1.6.policy_id.length.{A.B.C..} i burst

conform-action transmit:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.4.1.9.policy_id.length.{A.B.C..} b 0

exceed-action drop:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.4.1.15.policy_id.length.{A.B.C..} b 1
snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.11.2.4.1.48.policy_id.length.{A.B.C..} i 0

 

Применяем policy-map к порту с номером port_id:

snmpset -v2c -c private ip_addr 1.3.6.1.4.1.40418.7.100.11.2.11.1.4.0.port_id.1 s policy_name
snmpset -v2c -c private ip_addr 1.3.6.1.4.1.40418.7.100.11.2.11.1.5.0.port_id.1 i 0

 

Управление ассоциациями с multicast vlan

Указываем список vlan для ассоциации с multicast vlan и добавляем/удаляем его:

snmpset -v2c -c private ip_addr 1.3.6.1.4.1.40418.7.100.5.2.1.3.mvlan_id s vlan_list

snmpset -v2c -c private ip_addr 1.3.6.1.4.1.40418.7.100.5.2.1.4.mvlan_id i state

 

где:

ip_addr - IP коммутатора

mvlan_id - номер multicast vlan

vlan_list - список ассоциируемых vlan

state - добавить/удалить список (0 - удалить, 1 - добавить)