Snmp 走(下一步)整个代理MIB空间?

Snmp 走(下一步)整个代理MIB空间?,snmp,Snmp,发现SNMP代理功能的最佳实践是什么 我的期望是,通过在mib-2.system(例如,snmpwalk-v1-c public host)上从GET_NEXT开始,我可以简单地遍历整个代理。但是,这似乎对大多数代理都不起作用,它只会遍历系统mib本身,而不会继续遍历其他mib 我的Cisco路由器做的和我预期的差不多,它遍历系统MIB,包括sysORTable,它有很多很多条目。完成后,它会从IF-MIB开始,大概会遍历所有可用的MIB(我说“大概”是因为我的路由器开始减速,然后停止,不得不重

发现SNMP代理功能的最佳实践是什么

我的期望是,通过在mib-2.system(例如,
snmpwalk-v1-c public host
)上从GET_NEXT开始,我可以简单地遍历整个代理。但是,这似乎对大多数代理都不起作用,它只会遍历系统mib本身,而不会继续遍历其他mib

我的Cisco路由器做的和我预期的差不多,它遍历系统MIB,包括sysORTable,它有很多很多条目。完成后,它会从IF-MIB开始,大概会遍历所有可用的MIB(我说“大概”是因为我的路由器开始减速,然后停止,不得不重新启动!)

SNMP框架中的意图似乎是代理将通过sysORID中代理能力宏的OID在sysORTable中公布其能力。这似乎很合理,因为它不仅传达了可用的MIB,还传达了它们的实现方式。然而,我看到Cisco并没有完全遵循RFC2580,他们在sysORID中放置了一个MIB的OID,其中包含各种产品型号的代理功能宏。然后在sysDesc中,它们包括来自MIB的文本,用于标识特定产品的AGENT-CAPABILITIES宏的名称和其他标识信息(例如日期)。其他代理只使用sysORID中实现的mib的oid


我正在建立自己的代理。我一直在考虑如何让我的工具实现我想要的功能,但我想知道我想要的功能是否已经普遍实现了?我想知道,如果MIB包含大表,这是否明智——这可能不切实际(例如,我的路由器在上面崩溃)。然而,对于一个简单的代理来说,最实际的做法似乎是遍历所有可用的MIB。

您想要做的就是SNMP遍历,除非您喜欢重新发明轮子或有特定需要,已经做了很多次

snmpd的默认配置文件有一个分配给
公共
社区的
systemonly
视图,它对来自任何非本地主机IP地址的请求强制执行该视图。它限制您只能看到
1.3.6.1.2.1.1
1.3.6.1.2.1.25.1
树下的OID

要删除此限制,请在
/etc/snmp/snmpd.conf
中查找类似以下内容的行

rocommunity public  default   -V systemonly
删除
-V systemonly
位,然后用
sudo systemctl stop snmpd
重新启动
snmpd