首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Snmpset不处理mib2c生成的代理

Snmpset不处理mib2c生成的代理
EN

Stack Overflow用户
提问于 2021-09-13 13:24:09
回答 1查看 192关注 0票数 0

我用mib2c从MIB文件中生成代码。当我尝试使用读-写访问设置对象时,它返回Error in packet. Reason: notWritable (That object does not support modification。我试图使用很少的调试标志运行我的子代理。我发现在snmpset请求上没有一个函数生成的代码被调用,只在snmpget上调用。完全相同的OID上的smnpget将返回有效值。我在任何地方都有RW访问的用户。我可以用同一个用户将值设置为sysName.0。我试着删除MIB文件并使用确切的had,但结果是一样的。

因为它甚至没有达到代码,我不知道做什么。

我尝试用两个表相同的方式生成它。一个表的索引作为隐含的DisplayString,第二个表的索引是两个整数的组合。

编辑:我发现它在/var/lib/snmp/中为我的每个代理创建了.conf文件。我尝试使用相同的名称和密码添加create_user,但是在代理重新启动后它就消失了。

EDIT2:代码是使用mib2c.mfd.conf生成的。我尝试了mib2c.iterate.conf,它从生成的代码中调用函数。它不适用于mib2c.mfd.conf,但看起来它将适用于mib2c.iterate.conf。我希望能够使它与mib2c.mfd.conf一起工作,这样我就不需要改变所有的子代理了。

来自我的子代理的输出,其中3.fw是索引:

代码语言:javascript
复制
agentx/subagent: checking status of session 0x44150
agentx_build: packet built okay
agentx/subagent: synching input, op 0x01
agentx/subagent: session 0x44150 responded to ping
agentx/subagent: handling AgentX request (req=0x1f9,trans=0x1f8,sess=0x21)
agentx/subagent:   -> testset
snmp_agent: agent_sesion  0xc4a08 created
snmp_agent: add_vb_to_cache( 0xc4a08, 1, MSE-CONFIGURATION-MIB::mseDpuConfigActivationAdminStatus.3.fw,  0x3d3d0)
snmp_agent: tp->start MSE-CONFIGURATION-MIB::mseDpuConfigActivationTable, tp->end MSE-CONFIGURATION-MIB::mseDpuConfigActivation.3,
agent_set: doing set mode = 0 (SET_RESERVE1)
agent_set: did set mode = 0, status = 17
results: request results (status = 17):
results:        MSE-CONFIGURATION-MIB::mseDpuConfigActivationAdminStatus.3.fw = INTEGER: prepare(1)
snmp_agent: REMOVE session ==  0xc4a08
snmp_agent: agent_session  0xc4a08 released
snmp_agent: end of handle_snmp_packet, asp =  0xc4a08
agentx/subagent: handling agentx subagent set response (mode=162,req=0x1f9,trans=0x1f8,sess=0x21)
agentx_build: packet built okay
agentx/subagent:   FINISHED
agentx/subagent: handling AgentX request (req=0x1fa,trans=0x1f8,sess=0x21)
agentx/subagent:   -> cleanupset
snmp_agent: agent_sesion  0xc7640 created
agent_set: doing set mode = 4 (SET_FREE)
agent_set: did set mode = 4, status = 17
results: request results (status = 17):
results:        MSE-CONFIGURATION-MIB::mseDpuConfigActivationAdminStatus.3.fw = INTEGER: prepare(1)
snmp_agent: REMOVE session ==  0xc7640
snmp_agent: agent_session  0xc7640 released
snmp_agent: end of handle_snmp_packet, asp =  0xc7640
agentx/subagent: handling agentx subagent set response (mode=162,req=0x1fa,trans=0x1f8,sess=0x21)
agentx_build: packet built okay
agentx/subagent:   FINISHED
agentx/subagent: checking status of session 0x44150
agentx_build: packet built okay
agentx/subagent: synching input, op 0x01
agentx/subagent: session 0x44150 responded to ping

用于生成代码的值/配置:

代码语言:javascript
复制
## defaults
@eval $m2c_context_reg = "netsnmp_data_list"@
@eval $m2c_data_allocate = 0@
@eval $m2c_data_cache = 1@
@eval $m2c_data_context = "generated"@ [generated|NAME]
@eval $m2c_data_init = 1@
@eval $m2c_data_transient = 0@
@eval $m2c_include_examples = 1@
@eval $m2c_irreversible_commit = 0@
@eval $m2c_table_access = "container-cached"@
@eval $m2c_table_dependencies = 0@
@eval $m2c_table_persistent = 0@
@eval $m2c_table_row_creation = 0@
@eval $m2c_table_settable = 1@
@eval $m2c_table_skip_mapping = 1@
@eval $m2c_table_sparse = 1@
@eval $mfd_generate_makefile = 1@
@eval $mfd_generate_subagent = 1@

SNMPd版本:

代码语言:javascript
复制
# snmpd --version
NET-SNMP version:  5.9
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-16 08:44:52

我发现,在从*_interface.c模板生成的文件中,存在反向检查。

代码语言:javascript
复制
#if !(defined(NETSNMP_NO_WRITE_SUPPORT) || defined(NETSNMP_DISABLE_SET_SUPPORT))
                                                      HANDLER_CAN_RONLY
#else
                                                      HANDLER_CAN_RWRITE
#endif /* NETSNMP_NO_WRITE_SUPPORT || NETSNMP_DISABLE_SET_SUPPORT */

我移除了!从条件和它开始工作。这两个定义都是未定义的,因此应该使用HANDLER_CAN_RWRITE,但由于检查错误,它使用了HANDLER_CAN_RONLY。

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

https://stackoverflow.com/questions/69163493

复制
相关文章

相似问题

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