2013-08-16 74 views
2

我试图建立自己的SNMP代理(在Solaris 10.0),并添加了一行到我的snmpd.conf中:SNMP:为什么SET请求也执行GET请求?

pass .1.3.6.1.4.1.xxxx /home/snmp/snmp_agent.bash 

为了进行测试,在bash脚本做的唯一事情,就是写当前时间和参数到日志文件。 现在,当我使用net-snmp的执行一组请求,通过:

snmpset -v1 -c public node 1.3.6.1.4.1.1590.xxxx.1 i 1 

我注意到在日志文件中的两行。一个带有参数-g(这意味着一个GET),另一个带有-s(意味着一个SET)。为什么我用-g得到那个,我怎么能摆脱它?

这很烦人,我因为在我的MIB,我有一些OID都MAX-ACCESS = write-only,代理人给试图读取该OID时出错。

我看了网上关于这个问题(也许它不是一个问题),但没有发现任何东西。

回答

0

我相信Net-SNMP代理的内部工作只会传递脚本。 EG,这是使用“传递”扩展的要求,与“在线”上发生的事情无关。

+0

您的意思是“传递”选项负责将SET请求分成两个独立的脚本调用?这似乎确实发生了这种情况,但我不明白它的用途。有没有办法避免这个“功能”?谢谢! – Gijsbert