SNMP提供授权问题:数据包

时间:2016-01-25 12:57:57

标签: snmp net-snmp jboss-eap-6

我已经使用以下参数启动了jboss EAP 6.4服务器:

    JAVA_OPTS:  -server -XX:+UseCompressedOops -verbose:gc -Xloggc:"/home/sshekhar/EAP-6.4.0/test02/standalone/log/gc.log" 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 
-XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Djava.awt.headless=true -XX:MaxPermSize=512m 
-XX:-UseGCOverheadLimit -Dcom.propFile=local_jboss -Dfile.encoding=UTF-8 -Dcom.sun.management.snmp.port=1610 
-Dcom.sun.management.snmp.acl.file=/home/sshekhar/.snmp/mibs/snmp.acl 
-Djboss.modules.system.pkgs=org.jboss.byteman,org.jboss.logmanager -Djava.awt.headless=true -Djava.util.logging.manager=org.jboss.logmanager.LogManager 
-Xbootclasspath/p:/home/sshekhar/EAP-6.4.0/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.4.Final-redhat-1.jar

服务器成功启动。

我正在运行命令:snmpwalk -c public -v 2c 127.0.0.1:1610

它给出了

Error in packet.
Reason: authorizationError (access denied to that object)

文件:/home/sshekhar/.snmp/mibs/snmp.acl设置了700个访问权限。

我是SNMP新手,我期待的是将JBoss 6.4配置为使用SNMP进行监控。

此外,文件中没有写入数据:/home/sshekhar/.snmp/mibs/snmp.acl

另外,我使用

创建了一个用户
net-snmp-create-v3-user -ro -A password -X password -a MD5 -x DES myUser

现在,当我尝试运行命令snmpwalk -c public -v3 -u myUser -a MD5 -x DES -X password -A password localhost:1610时 它给我错误说snmpwalk: Unknown user name

snmpwalk -v1 -c public localhost:1610没有结果

snmpwalk -v1 -c groupv3 localhost:1610提供End of MIB

任何人都可以帮助我理解可能出现的错误以及调试/解决问题的后续步骤应该是什么?

1 个答案:

答案 0 :(得分:1)

我担心我没有给你一个确切的答案,但我可以给你一些关于SNMP版本的背景 -

SNMPv1和SNMPv2c仅使用社区字符串进行身份验证

示例SNMPv1 walk如下(社区字符串是“public”:

snmpwalk -v1 -c public 192.168.1.1

示例SNMPv2c walk:

snmpwalk -v2c -c public 192.168.1.1

SNMPv3具有完全可配置的身份验证,最多使用:

  • 安全名称(又名用户名)
  • 安全级别(noAuthNoPriv,authNoPriv,noAuthPriv,authPriv)
  • 验证协议(例如SHA,AES)
  • 验证密钥(字符串)
  • 隐私协议(例如MD5,DES)
  • 隐私密钥(字符串)
  • (可选)上下文名称
  • (可选引擎ID

正如您所看到的,它可能非常复杂 - “安全级别”是有时需要指定的设置,它定义了您正在使用的SNMPv3安全模型的数量 - 如果您使用的是auth协议和密钥以及隐私协议和密钥,您需要使用authPriv;如果你没有使用这些,你需要使用noAuthNoPriv(只是安全名称)。

示例SNMPv3 walk如下:

snmpwalk -v3 -u some_username -a SHA -A 'some_auth_key' -l authPriv -x AES -X 'some_privacy_key' 192.168.1.1

基本上,我建议尝试设置SNMPv1或SNMPv2c,直到你可以正常工作 - 我不能说JBoss,但在大多数网络设备上,这只是选择一个SNMP版本(例如v2c)并指定只读社区字符串(例如“public”)。

当您/如果您要配置SNMPv3时,您可能只需要灵活处理我找到的一些不同设置(再次,在网络设备的上下文中),您将找不到一个可以工作的设置许多不同的设备供应商,你将不得不尝试一些不同的身份验证协议,不同的隐私协议等。

祝你好运!