0
我在同時運行SNMP管理器和接收器的應用程序中使用SNMP4j 1.11.3。在這種情況下,當Java進程啓動時,V3陷阱接收器正在從配置中正常加載所有v3用戶,但是一旦SNMP v3管理器開始向設備發出獲取/設置請求,陷阱接收器就會停止接收陷阱並說「RFC3414§3.2。 4未知安全名稱「,當它試圖解密v3陷阱時。管理員清除SNMP v3陷阱用戶
由於看起來snmp4j使用單體SecurityModels來保存USM用戶集合,因此當管理器創建新的snmp會話和addusmuser時,它將清除USM用戶的陷阱,這就是爲什麼陷阱接收器無法處理陷阱。
SNMP管理器請求代碼的初始化是如下
Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
USM usm = new USM(SecurityProtocols.getInstance(),
new OctetString(MPv3.createLocalEngineID()), 0);
SecurityModels.getInstance().addSecurityModel(usm);
snmp.getUSM().addUser(securityName, new UsmUser(securityName,
authProtocol,
authPassphrase,
privProtocol,
privPassphrase));
我怎麼能避免這個問題,我在想什麼?經濟運行管理器和接收器運行在不同的線程上。
乾杯, Reddy。