Сильные мира сего, на днях, прислали распоряжение с требованием обновить софт с версии 12 на версию 15 на ряде устройств произведённых кампанией Cisco Systems, Inc. Наверно им не знаком принцип “работает не трогай, я сказал!!111”.
Ну делать нечего. Скачали свежий IOS. Залили его в коммутаторы и роутеры. Ввели reload at 02:01 (ничего необычного, да).
В общем все прошло гладко за исключением одного – мониторинг просигналил о том, что ряд линков теперь в состоянии down, что явно расходилось с действительностью, так как я своими глазами видел, что линки светятся… Видимо обновление софта повлияло на индексы интерфейсов, подумал я и оказался прав.
Что характерно, раньше такое поведение не наблюдалось, хотя этот коммутатор неоднократно перезагружался…
Чтоб такого избежать в дальнейшем необходимо произнести заклинание ifindex persist
Либо глобально для всех интерфейсов:
R(config)# snmp-server ifindex persist
Либо локально на интерфейсе:
R(config)# interface type slot/port
R(config-if)# snmp ifindex persist
Определить номер интерфейса можно командой
R# show snmp mib ifmib ifindex type slot/port
Или с помощью snmpwalk:
admin@cacti:~$ snmpwalk -v2c -c community 172.22.254 ifDescr
IF-MIB::ifDescr.1 = STRING: TenGigabitEthernet1/1
IF-MIB::ifDescr.2 = STRING: TenGigabitEthernet1/2
IF-MIB::ifDescr.3 = STRING: TenGigabitEthernet1/3
IF-MIB::ifDescr.4 = STRING: TenGigabitEthernet1/4
IF-MIB::ifDescr.5 = STRING: TenGigabitEthernet1/5
IF-MIB::ifDescr.6 = STRING: TenGigabitEthernet1/6
IF-MIB::ifDescr.7 = STRING: TenGigabitEthernet1/7
IF-MIB::ifDescr.8 = STRING: TenGigabitEthernet1/8
IF-MIB::ifDescr.9 = STRING: GigabitEthernet2/1
IF-MIB::ifDescr.10 = STRING: GigabitEthernet2/2
IF-MIB::ifDescr.11 = STRING: GigabitEthernet2/3
IF-MIB::ifDescr.12 = STRING: GigabitEthernet2/4
IF-MIB::ifDescr.13 = STRING: GigabitEthernet2/5
IF-MIB::ifDescr.14 = STRING: GigabitEthernet2/6
IF-MIB::ifDescr.15 = STRING: GigabitEthernet2/7
IF-MIB::ifDescr.16 = STRING: GigabitEthernet2/8
IF-MIB::ifDescr.17 = STRING: GigabitEthernet2/9
IF-MIB::ifDescr.18 = STRING: GigabitEthernet2/10
IF-MIB::ifDescr.19 = STRING: GigabitEthernet2/11
IF-MIB::ifDescr.20 = STRING: GigabitEthernet2/12
IF-MIB::ifDescr.21 = STRING: GigabitEthernet2/13
IF-MIB::ifDescr.22 = STRING: GigabitEthernet2/14
IF-MIB::ifDescr.23 = STRING: GigabitEthernet2/15
IF-MIB::ifDescr.24 = STRING: GigabitEthernet2/16
IF-MIB::ifDescr.25 = STRING: GigabitEthernet2/17
IF-MIB::ifDescr.26 = STRING: GigabitEthernet2/18
IF-MIB::ifDescr.27 = STRING: GigabitEthernet2/19
IF-MIB::ifDescr.28 = STRING: GigabitEthernet2/20
IF-MIB::ifDescr.29 = STRING: GigabitEthernet3/1
IF-MIB::ifDescr.30 = STRING: GigabitEthernet3/2
IF-MIB::ifDescr.31 = STRING: GigabitEthernet3/3
IF-MIB::ifDescr.32 = STRING: GigabitEthernet3/4
IF-MIB::ifDescr.33 = STRING: GigabitEthernet3/5
IF-MIB::ifDescr.34 = STRING: GigabitEthernet3/6
IF-MIB::ifDescr.35 = STRING: GigabitEthernet3/7
IF-MIB::ifDescr.36 = STRING: GigabitEthernet3/8
IF-MIB::ifDescr.37 = STRING: GigabitEthernet3/9
IF-MIB::ifDescr.38 = STRING: GigabitEthernet3/10
IF-MIB::ifDescr.39 = STRING: GigabitEthernet3/11
IF-MIB::ifDescr.40 = STRING: GigabitEthernet3/12
IF-MIB::ifDescr.41 = STRING: GigabitEthernet3/13
IF-MIB::ifDescr.42 = STRING: GigabitEthernet3/14
IF-MIB::ifDescr.43 = STRING: GigabitEthernet3/15
IF-MIB::ifDescr.44 = STRING: GigabitEthernet3/16
IF-MIB::ifDescr.45 = STRING: GigabitEthernet3/17
IF-MIB::ifDescr.46 = STRING: GigabitEthernet3/18
IF-MIB::ifDescr.47 = STRING: GigabitEthernet3/19
IF-MIB::ifDescr.48 = STRING: GigabitEthernet3/20
Статья на сайте Cisco.