如何通过 Net-SNMP 有选择地使用多个接口?

Joh*_*ene 1 snmpd net-snmp

我有 Net-SNMP 5.7.2.1 的监控网络设置,用于侦听家庭网关上的多个以太网接口,但它只会从snmpd.conf配置文件中获取以下组合:

  • 单一IP地址
  • 单一 IP 地址,特定于协议
  • 每个独特的协议有一个IP地址

例如:

agentAddress  127.0.0.1:161
Run Code Online (Sandbox Code Playgroud)

或者

agentAddress  udp:127.0.0.1:161
Run Code Online (Sandbox Code Playgroud)

或者

agentAddress  udp:127.0.0.1:161,udp6:[::1],tcp:127.0.0.1:161
Run Code Online (Sandbox Code Playgroud)


但它不接受使用相同协议的多个 IP 地址,如下所示:

agentAddress  udp:127.0.0.1:161,udp:172.28.130.1:161
Run Code Online (Sandbox Code Playgroud)

如何使 SNMP 守护程序 ( snmpd ) 侦听两个(或更多)以太网接口

tee*_*s99 5

在深入研究 NetSNMP 代码后,它看起来像是逐行处理配置文件,如果发现某些内容,则会附加到代理地址数据。

因此,您可以在配置文件中添加具有多个代理地址的多行:

agentAddress  udp:127.0.0.1:29032
agentAddress  udp:127.0.0.1:22032
Run Code Online (Sandbox Code Playgroud)

我能够在我自己的使用 NetSNMP 构建的代理上对此进行测试...

$ snmpget -v3 -u myUser -l noAuthNoPriv 127.0.0.1:22032 1.3.6.1.4.1.1234.1.1.1
SNMPv2-SMI::enterprises.1234.1.1.1 = INTEGER: 2

$ snmpget -v3 -u myUser -l noAuthNoPriv 127.0.0.1:29032 1.3.6.1.4.1.1234.1.1.1
SNMPv2-SMI::enterprises.1234.1.1.1 = INTEGER: 2
Run Code Online (Sandbox Code Playgroud)