![如何让 SNMP 代理接受来自网络中其他主机的连接?](https://linux22.com/image/1116573/%E5%A6%82%E4%BD%95%E8%AE%A9%20SNMP%20%E4%BB%A3%E7%90%86%E6%8E%A5%E5%8F%97%E6%9D%A5%E8%87%AA%E7%BD%91%E7%BB%9C%E4%B8%AD%E5%85%B6%E4%BB%96%E4%B8%BB%E6%9C%BA%E7%9A%84%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我已经在系统中配置了 SNMP 代理,其 IP 地址为 192.168.1.1。我已使用以下命令在其中配置了 SNMP 代理教程
我修改了如下几行
在文件中/etc/snmp/snmpd.conf
rocommunity public 127.0.0.1
rocommunity public 192.168.1.0/24
rocommunity public 192.168.2.0/24
在文件中/etc/default/snmpd
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
当我尝试从 IP 地址为 192.168.1.1 的系统使用 snmpwalk 命令时,它运行正常。
例如:命令输出的一部分:
iso.3.6.1.2.1.1.1.0 = STRING: "Linux devenv 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (74328) 0:12:23.28
iso.3.6.1.2.1.1.4.0 = STRING: "Me <[email protected]>"
iso.3.6.1.2.1.1.5.0 = STRING: "devenv"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
但当我尝试通过不同的系统使用带有 ip 的 snmpwalk 时,192.168.2.1
它给出了No response from 192.168.1.1
。请帮忙。
snmpwalk -c public -v1 192.168.1.1 | less
PS 我在 IP 地址为 192.168.2.1 的机器上配置了相同的步骤。或者还有其他要使用的程序。
编辑1。
netstat
这里是截图吗
答案1
编辑文件/etc/snmp/snmpd.conf
。更改以下行:
agentAddress udp:127.0.0.1:161
到:
agentAddress udp:161
然后重新启动 snmpd:
sudo service snmpd restart
它现在应该监听所有接口:
$ sudo netstat -ulnp | grep 161
udp 0 0 0.0.0.0:161 0.0.0.0:* 8517/snmpd
答案2
我的解决方案
agentAddress udp:161
...
# rocommunity public default -V systemonly
rocommunity public 172.25.7.169/32
...并重新启动 snmp
它使 snmp 监听所有接口但只应答 172.25.7.169(我的监控服务器)
答案3
您也可以做类似的事情,全部组合在这里:agentAddress udp:172.16.0.3:161,udp6:[2001:470:0:4000::3]:161,udp6:[2001:470:0:10::3]:161