воскресенье, 19 октября 2014 г.

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

Сегодня небольшая заметка о том как сохранять конфигурацию коммутаторов по SNMP. Потренируемся на кошках, т.е. на DES-3028, DES-3200-*/A1/B1 и DES-3200-*/C1. Ревизия C1 стоит особняком, а для остальных моделей отличий никаких нет.

Нам понадобится 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).

2 комментария:

  1. Добрый день!
    Подскажите пожалуйста OID сохранения для коммутатора DES 3010G A3

    ОтветитьУдалить
  2. У меня сейчас нет этой модели. Можно попробовать OID приведенные здесь либо спросить в нашем чатике: https://t.me/dlinkru

    ОтветитьУдалить