首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu上的SNMP MIBs MIB中的错误

Ubuntu上的SNMP MIBs MIB中的错误
EN

Server Fault用户
提问于 2018-10-18 10:03:18
回答 1查看 17K关注 0票数 11

我担心Ubuntu的MIB文件集似乎有语法错误。我用错了吗?

我用过

代码语言:javascript
复制
sudo apt-get install snmp-mibs-downloader    
sudo download-mibs

为了安装一组看起来运行良好的大量MIB,我可以像预期的那样进行snmpwalk和snmptranslate。但是,每次运行这些命令时,我都会看到一些错误,这表明MIB有一些语法错误。

代码语言:javascript
复制
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

仅举一个例子:

代码语言:javascript
复制
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }

这里的错误是进口中缺少mib-2。

虽然我可以试着解决这些错误,但我担心我没有使用正确的MIB。这些错误肯定不应该发生吗?

我的snmp.conf

mibs +ALL

我认为这是必要的,如果像一些人建议的那样,我们在遍历树时似乎没有得到完整的OID集。

EN

回答 1

Server Fault用户

回答已采纳

发布于 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复制到您需要的任何位置。

在此之后,只剩下一个错误:

代码语言:javascript
复制
Bad operator (INTEGER): At line 73 in /usr/share/snmp/mibs/ietf/SNMPv2-PDU

本网页有一个链接到一个包含固定SNMPv2-PDUMIB文件的pastebin. --修改只是用它的实际数值替换了命名的常量整数值max-bindings,并注释掉了常量定义,并且同样地调整了BulkPDU的定义,使其完全独立。这些更改使解析器很高兴。

或者,您只需删除SNMPv2-PDUMIB文件,因为它只是SNMPv2协议数据单元的正式定义,而且该定义已经内置到大多数SNMP工具中。

票数 16
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/936119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档