SNMP: ifAdminStatus и ifOperStatus

У меня есть вопрос о ifAdminStatus и ifOperStatus. Вот вывод состояния моих сетевых интерфейсов с использованием ifAdminStatus:

snmpwalk -Os -c public -v 1 192.168.1.1 1.3.6.1.2.1.2.2.1.7ifAdminStatus.1 = INTEGER: up(1)

ifAdminStatus.12 = INTEGER: down(2)
ifAdminStatus.13 = INTEGER: up(1)
ifAdminStatus.14 = INTEGER: up(1)

А вот тот же список с использованием ifOperStatus:

snmpwalk -Os -c public -v 1 192.168.1.1 1.3.6.1.2.1.2.2.1.8

ifOperStatus.12 = INTEGER: down(2)
ifOperStatus.13 = INTEGER: down(2)
ifOperStatus.14 = INTEGER: down(2)

Как видите, ifAdminStatus сообщает, что #13 и #14 работают, но ifOperStatus сообщает, что они оба не работают. Я точно знаю, что № 13 работает и передает пакеты через него (это мой интерфейс подключения к Интернету PPPoE). Согласно документации cisco "Если ifAdminStatus не работает(2), то ifOperStatus должен быть отключен(2)." Что здесь, похоже, не так...

Мой вопрос: почему сообщаемые статусы различаются и безопасно ли использовать только ifAdminStatus, чтобы узнать, запущен ли интерфейс, вместо ifOperStatus?

Благодарность!

Вот snmpwalk с дополнительной информацией об интерфейсах:

snmpwalk -Os -c public -v 1 192.168.1.1 1.3.6.1.2.1.2.2.1
[.....]
ifIndex.12 = INTEGER: 12    
ifIndex.13 = INTEGER: 13
ifIndex.14 = INTEGER: 14
[.....]
ifDescr.12 = STRING: etherip0
ifDescr.13 = STRING: ppp0
ifDescr.14 = STRING: tun1
[.....]
ifType.12 = INTEGER: ethernetCsmacd(6)
ifType.13 = INTEGER: ppp(23)
ifType.14 = INTEGER: other(1)

person PrimeSeventyThree    schedule 20.05.2012    source источник
comment
Я иду на риск и держу пари, что ваш общедоступный IP-адрес был 67.204.0.214, когда вы взяли захват snmpwalk. Если да, то этот адрес привязан к ifIndex 16, но у вас нет для него интерфейса в ifName. Наиболее вероятная причина в том, что у вас есть Linksys, и они просто не закодировали такую ​​функциональность в своем SNMP-агенте.   -  person This    schedule 21.05.2012


Ответы (1)


ifAdminStatus показывает, включен ли интерфейс для работы

ifOperStatus показывает, успешно ли интерфейс сформировал ссылку.

В приведенной вами документации только утверждается, что ifAdminStatus=down означает ifOperStatus=down. Это верно для ifIndex 12.

ifAdminStatus сообщает ifIndex 13 и 14 как up. Следовательно, указание, которое вы цитируете в документации Cisco, неприменимо. Рабочее состояние этих интерфейсов все еще может быть отключено, даже если они разрешены для работы. Одним из простых случаев было бы, если бы к ним не был подключен кабель.

РЕДАКТИРОВАТЬ

Все время, пока я отвечал на этот вопрос, я думал, что у вас есть маршрутизатор Cisco под управлением IOS. Судя по вашему snmpwalk, это на самом деле Linksys

sysDescr.0 = STRING: Linux Linksys E4200 2.6.24.111 #8614 
    Tue Dec 20 05:09:38 CET 2011 mips

Основываясь на доказательствах, которые я видел, вы просто не можете отслеживать ifOperStatus для вашего соединения PPPoE; они не закодировали столько функций в агенте SNMP на Linksys.

person This    schedule 20.05.2012
comment
Спасибо за ваш ответ. как я уже упоминал ранее, № 13 определенно работает - мое интернет-соединение проходит через этот интерфейс. и когда ifAdminStatus сообщает, что этот интерфейс не работает, у меня не должно быть подключения к Интернету. Что явно не так... - person PrimeSeventyThree; 21.05.2012
comment
Как вы пришли к выводу, что 13 - это ваш интерфейс PPPoE? Опубликуйте прогулку ifName; что давало бы исчерпывающую информацию. ifAdminStatus недостаточно, вы должны следить за ifOperStatus. - person This; 21.05.2012
comment
snmpwalk показывает ifDescr.13 = STRING: ppp0 (я обновил свой вопрос, добавив дополнительную информацию) - person PrimeSeventyThree; 21.05.2012
comment
Если вы используете интерфейс dialer, укажите информацию ifName и ifOperStatus для этого интерфейса. - person This; 21.05.2012