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 + ALL

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

5
задан 18 October 2018 в 13:03
1 ответ

Какую версию 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. .

7
ответ дан 3 December 2019 в 01:23

Теги

Похожие вопросы