无法在 UDP 162 上接收 snmp 陷阱

Unable to receive snmp-traps on UDP 162

在此先感谢您的帮助。

问题: 无法在 udp 162 端口上接收 snmp 陷阱。 场景:试图在 OpenNMS 中放置一个 nexus 5672 进行监控

已完成预检查:

  1. 我能够从我的 linux 节点上 snmpwalk nexus 5k 已安装 OpenNMS。
  2. 我什至可以执行 snmpgets。
  3. 我在 udp 161 上看到 snmp 流量,但它们主要是因为 opennms 正在执行的 snmp-get。
  4. 当我在 162 端口上执行 TCPDUMP 时无法看到任何东西:(

我检查过是否在本地设置了任何 ACL,但没有,iptables 作为服务已停止。

我已验证 snmp 配置已正确推送。

配置被推送到环回接口上,nexus 5k 上也没有 acl 组,nexus 5k 和 OpenNMS 托管之间没有防火墙 Linux 系统

请帮忙,我不知道我错过了什么。

好的,首先,SNMP 有两个概念,第一个是轮询数据以从传感器获取数据或从您的设备中发现元素。监控应用程序向您的 Nexus 设备发送请求。这就是您发出 snmpwalksnmpget 命令时所做的事情。 Nexus 设备有一个 SNMP 代理 运行,它正在侦听端口 161/UDP。 第二个是,您的 Nexus 设备可以向您的监控应用程序发送消息。使用 OpenNMS 的监控应用程序需要在端口 162/UDP 上有一个侦听器 运行,称为 SNMP TrapsSNMP Informs

因此,尝试调试无法使用 snmpget 或 snmpwalk 获取 SNMP Traps 的问题从一开始就无济于事。通信由 Nexus 设备初始化,OpenNMS 是陷阱的侦听器。

我会尝试通过以下步骤调试问题:

  • 确保 OpenNMS 已启用 Trapd 并正在监听正确的接口,例如ss -lnpu sport = :162
  • 确保您的 OpenNMS 服务器上没有防火墙阻止到 162/UDP 的流量,例如iptables -L
  • 通过使用 UDP 协议查看目标端口 162 的流量,使用 tcpdump 查看来自 Nexus 的 SNMP 陷阱是否到达 OpenNMS 服务器。
  • 如果您从 OpenNMS 服务器收到 SNMP 陷阱,您可以开始查看您的 OpenNMS 服务器的 trapd.log 并验证 IP 的社区设置是否正确。 OpenNMS 将使用为发件人 IP 地址配置的社区来处理陷阱

希望这对您有所帮助

已解决。 Linux 端和 OpenNMS SNMP 端的一切都很好。但是,网络设备错误地推送了 SNMP 配置。我将其更改为使用默认 VRF 而不是环回地址,然后它开始工作了。