我担心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集。
发布于 2018-10-18 12:27:39
您使用的是哪种版本的Ubuntu?
Ubuntu可能是从Debian获得其snmp-mibs-downloader包的,Debian对可再发行性非常严格,因此snmp-mibs-downloader从公共来源获取MIB,包括实际的RFCs和互联网上的其他标准文档。
然而,这些标准文件中有一些包含打印错误和其他错误.在某些情况下,解决这些问题显然需要对适当的标准文件进行全新的修订。这将需要大量的时间和精力。(可能会有正式的勘误表文件,但这些文件不一定是适合自动修补的格式。)
在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
所有这些和更多的版本都是在1.1+nmu1 of snmp-mib-downloader中修正的,该版本最初于2016年9月发布。如果您使用的版本比该版本更早,并且您的Ubuntu版本没有可用的更新,请考虑将MIB下载到具有更新版本的软件包的其他计算机上,然后将得到的固定MIB复制到您需要的任何位置。
在此之后,只剩下一个错误:
Bad operator (INTEGER): At line 73 in /usr/share/snmp/mibs/ietf/SNMPv2-PDU本网页有一个链接到一个包含固定SNMPv2-PDUMIB文件的pastebin. --修改只是用它的实际数值替换了命名的常量整数值max-bindings,并注释掉了常量定义,并且同样地调整了BulkPDU的定义,使其完全独立。这些更改使解析器很高兴。
或者,您只需删除SNMPv2-PDUMIB文件,因为它只是SNMPv2协议数据单元的正式定义,而且该定义已经内置到大多数SNMP工具中。
https://serverfault.com/questions/936119
复制相似问题