Ubuntu

Ubuntu 上的 SNMP MIB - MIB 中的錯誤

  • October 19, 2018

我擔心 Ubuntu 的最終 MIB 文件集似乎存在語法錯誤。我是否使用了錯誤的 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 有

米布斯+全部

我認為這是必要的,如果按照某些建議我們評論這條線,我們在走樹時似乎沒有得到完整的 OID 集。

您使用的是哪個版本的 Ubuntu?

Ubuntu 可能snmp-mibs-downloader從 Debian 獲得它的軟體包,而 Debian 對可再分發性非常嚴格,因此snmp-mibs-downloader它從公共資源獲取它的 MIB,包括網際網路上的實際 RFC 和其他標准文件。

但是,其中一些標准文件包含拼寫錯誤和其他錯誤……在某些情況下,修復這些顯然需要發布相應標准文件的全新修訂版。這花費大量時間和精力。(可能有官方勘誤文件,但不一定是適合自動修補的格式。)

在 Debian 中,目前版本的snmp-mibs-downloader包含一個.diff文件,用於修復各種基於 RFC 的 MIB 中的許多錯誤,但並非總是如此。您包含的錯誤列表對我來說很熟悉…

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

所有這些以及更多內容已在 2016 年 9 月最初發布的 1.1+nmu1 版本中得到修復snmp-mib-downloader。如果您使用的版本早於該版本,並且沒有適用於您的 Ubuntu 版本的更新,請考慮在某些設備上下載 MIB具有更新版本軟體包的其他電腦,然後將生成的固定 MIB 複製到您需要的任何位置。

之後,應該只剩下一個錯誤:

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

此網頁有一個指向包含固定 SNMPv2-PDU MIB 文件的 pastebin 的連結。修改只是將命名的常量整數值max-bindings替換為其實際數值並註釋掉常量定義,同樣將BulkPDU的定義調整為完全自包含。這些更改使 net-snmp MIB 解析器感到高興。

或者,您可以只刪除 SNMPv2-PDU MIB 文件,因為它只是 SNMPv2 協議數據單元的正式定義,並且該定義已經內置到大多數 SNMP 工具中。

引用自:https://serverfault.com/questions/936119