Назад | Перейти на главную страницу

SNMP MIB в Ubuntu - ошибка в MIB

Я обеспокоен тем, что в окончательном наборе файлов MIB для Ubuntu, похоже, есть синтаксические ошибки. Я использую неправильные MIB?

я использовал

sudo apt-get install snmp-mibs-downloader    
sudo download-mibs

чтобы установить обширный набор MIB, которые, кажется, работают хорошо, я могу snmpwalk и snmptranslate в значительной степени, как и ожидалось. Однако каждый раз, когда я запускаю эти команды, я вижу несколько ошибок, указывающих на то, что в MIB есть несколько синтаксических ошибок.

Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }
Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB
Expected "::=" (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Expected "{" (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB

Возьмем только один пример:

Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }

ошибка здесь в том, что mib-2 отсутствует в импорте.

Хотя я мог бы попытаться разобраться и исправить эти ошибки, я обеспокоен тем, что использую неправильные MIB. Разумеется, этих ошибок не должно быть?

В моем snmp.conf

mibs + ВСЕ

Я думаю, что это необходимо, если, как некоторые советуют, мы прокомментируем эту строку, мы не получим полный набор OID при обходе дерева.

Какую версию Ubuntu вы используете?

Ubuntu, вероятно, получит snmp-mibs-downloader пакет от Debian, а Debian очень строго относится к распространяемости, поэтому snmp-mibs-downloader получает свои MIB из общедоступных источников, включая актуальные RFC и другие документы стандартов в Интернете.

Однако некоторые из этих документов стандартов содержат опечатки и другие ошибки ... и в некоторых случаях для их исправления, очевидно, потребуется выпустить совершенно новую редакцию соответствующего документа стандартов. И который потребует много времени и усилий. (Вместо этого могут быть официальные документы об ошибках, но они не обязательно имеют формат, подходящий для автоматического исправления.)

В Debian текущая версия snmp-mibs-downloader включает .diff файл, который применяется для исправления ряда ошибок в различных MIB на основе RFC, но так было не всегда. Список включенных вами ошибок мне знаком ...

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=584657

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689483

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689485

Все это и многое другое было исправлено в версии 1.1 + nmu1 из snmp-mib-downloader, который был первоначально выпущен в сентябре 2016 года. Если вы используете более старую версию, а для вашей версии Ubuntu нет доступных обновлений, рассмотрите возможность загрузки MIB на другой компьютер, на котором установлена ​​более новая версия пакета, и затем копирование полученных фиксированных MIB туда, где они вам нужны.

После этого должна остаться всего одна ошибка:

Bad operator (INTEGER): At line 73 in /usr/share/snmp/mibs/ietf/SNMPv2-PDU

Эта веб-страница имеет ссылка на pastebin, содержащий фиксированный файл MIB SNMPv2-PDU. Модификация просто заменяет указанное постоянное целочисленное значение max-bindings с его фактическим числовым значением и комментирует определение константы, а также настраивает определение BulkPDU, чтобы оно было полностью автономным. Эти изменения радуют синтаксический анализатор MIB net-snmp.

В качестве альтернативы вы можете просто удалить файл MIB SNMPv2-PDU, поскольку это просто формальное определение единиц данных протокола SNMPv2, и это определение уже встроено в большинство инструментов SNMP.