net-snmp无法将数字OID值转换为文本MIB名称

时间:2017-11-28 18:21:54

标签: snmp net-snmp

当我运行任何命令时,例如:

# snmptranslate .1.3.6.1.4.1.28318.1.1.3
SNMPv2-SMI::enterprises.28318.1.1.3
# snmpwalk 58.196.58.149 1.3.6.1.4.1.28318.1.1.3
SNMPv2-SMI::enterprises.28318.1.1.3.1.0 = STRING: "89-14-a8-52-a4-46"
SNMPv2-SMI::enterprises.28318.1.1.3.2.0 = STRING: "058.196.58.149/255.255.255.252"
SNMPv2-SMI::enterprises.28318.1.1.3.3.0 = STRING: "058.196.58.149"
SNMPv2-SMI::enterprises.28318.1.1.3.6.0 = STRING: "137.010.060.016"
SNMPv2-SMI::enterprises.28318.1.1.3.7.0 = STRING: "137.010.060.017"
SNMPv2-SMI::enterprises.28318.1.1.3.8.0 = INTEGER: 0
SNMPv2-SMI::enterprises.28318.1.1.3.9.0 = INTEGER: 0
SNMPv2-SMI::enterprises.28318.1.1.3.10.0 = STRING: "reserved"

我希望net-snmp.1.3.6.1.4.1.28318.1.1.3翻译为文本MIB格式。我不知道如何调试它。

我在/etc/snmp/snmp.conf

中有这个
# cat /etc/snmp/snmp.conf
mibdirs /usr/share/snmp/mibs
defVersion 2c
defCommunity public

我的所有MIB都在/usr/share/snmp/mibs。我知道1.3.6.1.4.1.28318.1.1.3.0对应于代表mac地址的文本MIB名称mac

知道如何调试出错的地方并解决问题吗?

1 个答案:

答案 0 :(得分:0)

问题是net-snmp即使在MIB目录中指定了MIB,也不会加载它们。

通过将mibs添加到/etc/snmp/snmp.conf文件中,修复了它:

# cat /etc/snmp/snmp.conf
mibdirs /usr/share/snmp/mibs
mibs +MYMIB
defVersion 2c
defCommunity public

OID已正确翻译。这也可以通过执行以下操作进行调试:

$ snmptranslate -m +MYMIB -IR -On hello
MYMIB::hello = STRING: "WORLD"

将在上方正确输出或显示问题。请注意,如果在-m +MYMIB文件中,则/etc/snmp/snmp.conf不必存在。