1

我将 snmptrap 编译为“独立”应用程序以在嵌入式设备上运行。使用 IPv4 发送陷阱就像一个魅力,但是当使用 IPv6 地址作为目标时,日志中会显示以下内容:

tdomain: tdomain_transport_full("snmptrap", "udp6:[fd64:3ef5:bb33::2]", 0, "[NIL]", "[NIL]")
tdomain: Found no domain from specifier "udp6"

我编译了我的 net-snmp (v5.7.2) 库

--enable-ipv6
--with-mib-modules="mibII/ipv6 host notification snmpv3mibs"
--with-transports="UDPIPv6 TCPIPv6"

并将命令行应用程序执行为:

snmptrap -v 1 -M ./mibs/ -c public 'udp6:[fd64:3ef5:bb33::2]' '1.2.
3.4.5.6' '172.16.11.144' 6 99 '55' 1.11.12.13.14.15  s "teststring"

谁能指出我解决这个问题的正确方向?

干杯,弗兰克

4

1 回答 1

0

确保 ipv6[ fd64:3ef5:bb33::2 ] 地址是可访问的,并且您已经使用 --ipv6 enable 成功编译了 net-snmp 库,

编译后,您已指示 snmpd 使用 udp 和 udp6 协议。

您可以使用 Wireshark调试SNMP协议

或者,您也可以尝试其他客户端发送 IPv6 pdu 以确保您的客户端发送正确的数据。

于 2013-07-29T16:08:49.053 回答