Ubuntu 上的 SNMP MIB - MIB 中的錯誤
我擔心 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 工具中。