Сохранение конфигурации коммутаторов по SNMP

Сохранение конфигурации коммутаторов по SNMP
Сохранение конфигурации коммутаторов по SNMP

Сегодня небольшая заметка о том как сохранять конфигурацию коммутаторов по SNMP. Потренируемся на кошках, т.е. на D-link DES-3028, DES-3200-*/A1/B1 и DES-3200-*/C1. Ревизия C1 стоит особняком, а для остальных моделей отличий никаких нет.Напомню что SNMP это простой протокол сетевого управления, который используется в оборудовании которое требует внимание системного администратора. Например: Маршрутизаторы, серверы, коммутаторы, рабочие станции, принтеры и другое оборудование. Нам понадобится OID и значение, которое нужно отправить по данному адресу. Для старых ревизий используем OID 1.3.6.1.4.1.171.12.1.2.6.0, для C1 — 1.3.6.1.4.1.171.12.1.2.18.4.0.

В документации можно увидеть следующие значения ключей:

other (1) — none of the following.
cfg-id1 (2) — save configuration ID1.
cfg-id2 (3)- save configuration ID2.
log (4) — save log.
all (5) — save both (active configuration and log)

На практике нам потребуется (2) (сохранить конфигурацию) и (5) (сохранить и конфигурацию и log коммутатора). Для ревизии C1 эти значения будут, соответственно, (2) и (4).

Немаловажно еще знать и как именно реагирует конкретная модель на SNMP-запрос. Старые ревизии при получении команды сначала исполняют ее, а затем возвращают результат. При этом на такую операцию, как сохранение конфигурации, требуется время. Это время больше стандартного snmp-таймаута. Поэтому отправляющая сторона считает, что команда не дошла и принимает повторную попытку отправки. При настройках по умолчанию команда будет отправлена трижды. При этом коммутатор сохранит конфигурацию все три раза, но его процессор будет нагружен больше обычного и на коммутаторе может сработать защитный механизм Safeguard Engine. На ревизии C1 поведение отличается — коммутатор сразу пришлет ответ, а уже потом начнет сохранять конфигурацию. Поэтому риск многократного сохранения существенно ниже (учитываем, что может потеряться обратный ответ, что приведет к повтору команды).

Таким образом, нам нужно добиться отправки запроса в единственном экземпляре. Для этого будем использовать ключ -r со значением 0, где 0 — это количество дополнительных запросов. Если же мы хотим все таки получить ответ на команду для старых ревизий, то дополнительно потребуется увеличить таймаут ожидания ответа при помощи ключа -t.

Примеры команд для DES-3028, DES-3200-*/A1/B1

Сохранить все и дождаться ответа:

snmpset -v2c -c private -t 20 -r 0 10.90.90.90 1.3.6.1.4.1.171.12.1.2.6.0 i 5

 Сохранить только конфигурацию, не дожидаясь ответа:
snmpset -v2c -c private -r 0 10.90.90.90 1.3.6.1.4.1.171.12.1.2.6.0 i 2

Примеры команд для DES-3200-*/C1:

Сохранить все:
snmpset -v2c -c private -r 0 10.90.90.90 1.3.6.1.4.1.171.12.1.2.18.4.0 i 4
Сохранить только конфигурацию:
snmpset -v2c -c private -r 0 10.90.90.90 1.3.6.1.4.1.171.12.1.2.18.4.0 i 2

Успешность выполнения запроса можно посмотреть в журнале коммутатора (show log).

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.