如何有select地使用Net-SNMP的多接口?

我有这个监听networking设置的Net-SNMP 5.7.2.1监听我的家庭网关上的多个以太网接口,但它只会采取从snmpd.confconfiguration文件的以下组合:

  • 单个IP地址
  • 单个IP地址,协议特定
  • 单个IP地址每个唯一的协议

如:

agentAddress 127.0.0.1:161 

要么

 agentAddress udp:127.0.0.1:161 

要么

 agentAddress udp:127.0.0.1:161,udp6:[::1],tcp:127.0.0.1:161 

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

 agentAddress udp:127.0.0.1:161,udp:172.28.130.1:161 

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

我build议你可以修改systemd脚本,而不是在命令行上手动执行。

例如,位于/ usr / lib / systemd / system /中的当前snmpd.service包含以下内容:

 [Unit] Description=Simple Network Management Protocol (SNMP) Daemon. After=syslog.target network.target [Service] Type=notify Environment=OPTIONS="-LS0-6d" EnvironmentFile=-/etc/sysconfig/snmpd ExecStart=/usr/sbin/snmpd $OPTIONS -f ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target 

只需更改该“ExecStart”行来包含你想要的。

例如

 ExecStart=/usr/sbin/snmpd $OPTIONS -f udp:127.0.0.1 udp:192.168.1.135:161 udp6:[::1]:161 

注意:我还没有testing过这个格式,最后可能需要用“-f”或者其他的方法来testing和调整。 这是理所当然的,它应该工作,然后你有使用systemd(正在使用)的所有优点。

这个平台片段来自CentOS 7.3,因此snmpd.service的位置可能因发行版而异。 find你的,复制一个.bak文件并修改原来的 – testing – 享受。

显然,为版本Net-SNMP 5.7.2.1指定多个接口的唯一方式是在snmpd的命令行中指定多个IP地址。

我还没有find使用snmpdconfiguration( snmpd.conf )文件方法指定多个接口的可行解决scheme。

 # /usr/sbin/snmpd 127.0.0.1 192.168.1.1 

在那里(在命令行),你可以指定协议粒度(并继续在多个接口上使用相同的协议),如下所示:

 # /usr/sbin/snmpd .... udp:127.0.0.1 udp:192.168.1.135:161 udp6:[::1]:161