ipv6 的 snmp/snmptrap 支持

ipv6 的 snmp/snmptrap 支持

我只有 IPv6(不是双栈)系统,我想知道如何
从该系统发送 snmptrap? - 配置 snmpd 以便能够访问它?

我的意思是,snmp 是否可以在纯 IPv6 环境中使用?

答案1

根据你必须指定UDP6

发送:trap2sink udp6:[::1]:162在 snmpd.conf 中这将发送到本地主机 IPv6。

接收:snmptrapd udp6:162

答案2

首先启动 snmptrapd 来监听 IPv6:

/usr/sbin/snmptrapd -On -Lsd -f -p /run/snmptrapd.pid udp:162,udp6:162

然后发送一个陷阱:

/usr/bin/snmptrap -Lo -v2c -c public udp6:[2001:db:8::beef]:162 "" .1.3.6.1.2.1.31337.0

答案3

作为 root,我发出命令/usr/sbin/snmptrapd udp:162,udp6:162并启动 snmptrapd。使用命令验证这一点ps -u root | fgrep snmptrapd。然后,发送一个陷阱。就我而言,我的 IPv6 地址是 2601:602:8500:1b2:5a74:16a3:770f:40ce,所以我的命令是snmpinform -v 2c -m ALL -c public 2601:602:8500:1b2:5a74:16a3:770f:40ce 145 coldStart.0。我必须使用 -m ALL 因为我的 MIB 文件的设置方式有问题 - 我需要解决这个问题。如果您收到错误消息“coldStart.0:未知对象标识符(未找到子 id:(顶部)-> ColdStart)”,那么您可能会遇到与我相同的问题 - 请告诉我。如果您没有收到错误消息,请忽略 -m ALL 选项。 ColdStart.0 是标准 OID 之一。我不知道这个测试的 OID 是什么。我什么关心的是数字145。每次我发出命令时snmpinform,选择不同的数字,最好更大。这将使您在跟踪日志文件时变得更加轻松。

这不是最好的解决方案。最好的解决方案是使用

snmpTrapdAddr upd6:162

/etc/snmp/snmptrapd.conf 文件中的参数,这就是我首先来到这里的原因。

如果我正确设置了 snmptrapd,那么 /var/log/syslog 中将会有一个条目,如下所示:

Jan 10 02:04:35 jeffs-desktop snmptrapd[405089]: 2021-1-10 2:4 0.0.0.0 Cold Start

相关内容