我有一个具有读写权限的MIB对象。 MIB部分如下所示:
EnableHalt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION "implemented in NetSnmpcodsMr.c file."
DEFVAL { 0 }
::= { Scalars 4 }
当我对这个物体做一套时,我得到:
$ sudo snmpset -v 2c -c public localhost 1.3.6.1.4.1.8072.2.2.4.0 i 1
Error in packet.
Reason: noAccess
Failed object: NET-SNMP-MIB::netSnmp.2.2.4.0
当我做的时候:
$ snmpget -v 2c -c public localhost 1.3.6.1.4.1.8072.2.2.4.0
NET-SNMP-MIB::netSnmp.2.2.4.0 = INTEGER: 1
一切都很好!
在snmpd.conf中我添加了一行:
rwcommunity public localhost
仍然没有访问问题。我在Ubuntu上使用net snmp 5.4.2.1
我做错了什么?请建议谢谢吉尔
答案 0 :(得分:6)
你提出这个问题已经九个月了,但是如果它有用的话......
您的社区字符串是否正确?您将其指定为“public
”,这是默认的只读社区字符串。也许它应该是“private
”,而不是默认的读写社区字符串。
答案 1 :(得分:1)
吉尔,
如果该对象是只读的,那么您可能会收到notWritable而不是noAccess。
http://www.tcpipguide.com/free/t_SNMPVersion2SNMPv2MessageFormats-5.htm
所以我认为它仍然是Net-SNMP配置问题,您可以发布到Net-SNMP邮件列表或查看存档,
李克强答案 2 :(得分:1)
尝试:
snmpget -v 2c -c public localhost 1.3.6.1.4.1.8072.2.2.4.0 NET-SNMP-MIB::netSnmp.2.2.4.0
答案 3 :(得分:0)
修改snmpd.conf文件,在文件末尾添加以下行。提供写入权限。
rwcommunity public
答案 4 :(得分:0)
noAccess(与notWritable相对)可能是由snmpd.conf中的VACM视图配置引起的。查看 com2sec ,组,视图和访问指令。它们分别将社区字符串和源地址/子网映射到安全名称;添加安全名称作为VACM组的成员;将OID子树定义为命名视图;最后指出一组给定的其他参数的访问级别以及安全模型和安全级别。如果获取返回noError但设置返回noAccess,那么很可能其中一个指令已将您的社区字符串或您的IP地址配置为只读访问,否则将成为读写变量。