使用 net-snmp 实用程序时与模块有关的错误

使用 net-snmp 实用程序时与模块有关的错误

我使用的是 Linux 发行版(版本 5.3.2.2)附带的 net-snmp 软件包,但想使用最新版本的 net-snmp(5.7)进行一些工作,因此尝试编译和安装新源。它似乎运行正常,但现在我在使用 net-snmp 实用程序(snmpget、snmpset snmpwalk 等)时收到大量错误,

例如:

$ snmptranslate -On SNMPv2-MIB::system.sysDescr
MIB search path: /home/me/.snmp/mibs:/usr/local/share/snmp/mibs
Cannot find module (SNMPv2-SMI) At line 6 in /usr/local/share/snmp/mibs/SNMPv2-MIB.txt
Cannot find module (SNMPv2-TC): At line 9 in /usr/local/share/snmp/mibs/SNMPv2-MIB.txt
Cannot find module (SNMPv2-MIB): At line 9 in (none)
:
<a lot of similar lines>
:
Cannot find module (NET-SNMP-VACM-MIB): At line 9 in (none)
.1.3.6.1.2.1.1.1

由此我推测也许是我在“MIB 搜索路径”中缺少 mib,因此我查看了第一个错误“找不到模块(SNMPv2-SMI)”,但它似乎在正确的目录中:

$ ls /usr/local/share/snmp/mibs/*SNMPv2-SMI*
/usr/local/share/snmp/mibs/SNMPv2-SMI.txt

列表中其他的结果也是相同的..所以我想知道是否有人知道为什么可能找不到模块,即使它们似乎在搜索路径中?

答案1

5.7 版本中有一个错误,可能会导致此错误消息在不应该显示时显示。请尝试使用 5.7.1.rc3 版本(或等待一周,直到最终的 5.7.1 版本发布)。

答案2

正如另一个办公室黑帮所暗示的那样,这个问题可能是由于 5.7 版本中的错误造成的。当然。。您在使用 Net-SNMP 实用程序时遇到的问题可能是由多种因素造成的。让我们深入研究一下。。

1.检查MIB搜索路径:

验证您指定的 MIB 搜索路径是否正确。使用 net-snmp-config 命令检查配置的 MIB 目录:

net-snmp-config --default-mibdirs

确保路径 /usr/local/share/snmp/mibs 包含在 MIB 搜索路径中。

2. MIB 目录所有权和权限:

确保目录 /usr/local/share/snmp/mibs 中的 MIB 文件具有正确的所有权和权限。运行 snmp* 实用程序的用户应该可以读取它们。

3.重新编译 MIB:

安装新版本的 Net-SNMP 后,最好重新编译 MIB 文件以确保它们与新版本兼容。您可以运行以下命令执行此操作:

sudo net-snmp-config --create-snmpv3-user -ro -A authpass -X privpass -a MD5 -x DES myuser

代替验证密码私钥使用您想要的身份验证和隐私密码,以及我的用户使用所需的用户名。此命令会生成必要的配置文件和 MIB。

4.检查 MIB 名称和文件名:

验证您在命令中使用的 MIB 名称是否正确并与 MIB 目录中的文件名匹配。MIB 名称区分大小写,因此请确保它们完全匹配。

5.MIB编译错误:

检查 Net-SNMP 编译和安装过程中是否有任何错误。检查 ./configure、make 和 make install 命令的输出,查找与 MIB 相关的任何错误消息。

6.MIB加载配置:

确保正确配置 Net-SNMP 配置文件 (snmp.conf) 以加载 MIB。此文件通常位于 /etc/snmp/ 或 /usr/local/share/snmp/。检查它是否包含以下行:

mibs +ALL

+ALL 选项告诉 Net-SNMP 加载所有可用的 MIB。确保此行未注释(如果有 #,请删除)。

7.环境变量:

检查是否设置了与 Net-SNMP 相关的任何环境变量。这些变量(例如 MIBS)会影响 MIB 加载行为。确保没有冲突的环境变量会覆盖您的 MIB 搜索路径。

8.缓存问题:

如果您以前使用过旧版本的 Net-SNMP,则可能存在缓存的 MIB 信息。请尝试清除缓存,方法是删除/var/net-snmp或者/var/net-snmp/snmpapp.conf然后重新测试。

完成这些步骤后,尝试再次运行 Net-SNMP 实用程序。如果问题仍然存在,您可能需要提出一个新问题,其中包含有关您正在使用的特定命令和配置的更多详细信息和其他信息,以便我可以更深入地了解。

和平!!

相关内容