当我想在 NMS 上创建一个 SNMPv3 用户时,需要为每个用户输入一个引擎 ID,它是来自 SNMP 代理服务器的标识符字符串,所以我输入了一个临时 ID。例如:
createUser -e "0x80001370017f000101" "mytrapuser1" SHA "user1authpass" AES "user1encypass"
authUser log,execute,net mytrapuser1
我可以使用以下命令成功地将陷阱从代理服务器发送到 NMS:
snmptrap -v 3 -a SHA -A user1authpass -x AES -X user1encypass -l authPriv -u mytrapuser1 -e 0x80001370017f000101 {NMS-server-ip} 39 12.0.4.0
现在,一切看起来都很好。
但是当我想使用 java SNMP4j 在代理服务器上使用创建的用户 mytrapuser1 发送陷阱时,我不知道如何将请求的引擎 ID 指定为 0x80001370017f000101,这导致在代理上发送陷阱失败或请求的引擎 ID 不能在 NMS 上进行匹配。
我的问题:
1. 我应该为 SNMP4j 设置一个指定的引擎 ID 来发送陷阱吗?
2. 如果#1 不是,如何提前获取Agent server 的engine id,然后我可以用它在NMS server 上创建用户?
3. 如果有什么我理解错误或使用错误?
有没有人可以帮帮我,非常感谢。