我的 LAN 中有三个设备 ( A
、B
、C
) 都运行 snmpd。除了社区字符串之外,它们都具有相同的 snmpd 配置。它们都可以运行snmpwalk
到其他设备,除非尝试连接到 Device C
。
设备C
在通过127.0.0.1
其<LAN-IP>
地址调用自身时也可以工作。
snmpwalk -v 2c -c <community-string> 127.0.0.1 # OK
snmpwalk -v 2c -c <community-string> <LAN-IP> # OK
当 DeviceA
或B
尝试连接到 Device时C
,发生超时错误
snmpwalk -v 2c -c <community-string> <DEVICE-C-LAN-IP>
Timeout: No Response from <DEVICE-C-LAN-IP>
当打开调试运行时,我可以看到 6 个相同行的块,类似于:
Sending 54 bytes to UDP: [<DEVICE-C-LAN-IP>]:161->[0.0.0.0]:0
...
0048: 06 01 02 01 05 00 ......
最终以
Timeout: No Response from <DEVICE-C-LAN-IP>
设备C
确实有selinux
我暂时禁用的功能setenforce 0
。
我可以看到设备C
( )上也没有防火墙规则。iptables -L
我看到的唯一奇怪的事情是service snmpd status
在设备上调用时C
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
...
Feb 22 09:47:16 fedora-box systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Feb 22 09:47:16 fedora-box snmpd[25707]: Can't find directory of RPM packages
Feb 22 09:47:16 fedora-box snmpd[25707]: NET-SNMP version 5.9
Feb 22 09:47:16 fedora-box systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
因此服务已启动,但有一个简单的警告:Can't find directory of RPM packages
。不确定这是否是罪魁祸首。
任何帮助追踪此事的帮助将不胜感激。谢谢
更新
调试
snmpwalk -D ALL
我可以提出 6 个请求(没什么奇怪的),最后有以下内容
trace: snmp_synch_input(): snmp_client.c, 178:
snmp_synch: Response (ReqID: 366399853 - Cmd 161)
trace: snmp_synch_input(): snmp_client.c, 231:
snmp_synch: status = 2 errno = -24
Timeout: No Response from 192.168.70.10
trace: netsnmp_transport_cache_remove(): snmp_transport.c, 1237:
transport:cache:close: 0x55d19b3ef8e0
trace: _tc_find_transport(): snmp_transport.c, 1210:
transport:cache:find_transport: 0x55d19b3ef8e0
trace: netsnmp_transport_cache_remove(): snmp_transport.c, 1245:
transport:cache:close: 0x55d19b3ef8e0 not found in cache
网络统计
netstat -ltup | grep snmp
tcp 0 0 localhost:smux 0.0.0.0:* LISTEN 2446/snmpd
udp 0 0 0.0.0.0:snmp 0.0.0.0:* 2446/snmpd
地图
# nmap -v <DEVICE-C-LAN-IP>
Nmap scan report for device-c-hostname (<DEVICE-C-LAN-IP>)
Host is up (0.00069s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
22/tcp open ssh
9090/tcp open zeus-admin
=========
环境
- 设备A:Ubuntu 20.04
- 设备 B:CentOS 7(基于)
- 设备 C:Fedora 33
snmpd配置文件
agentAddress udp:161
rocommunity <community-string> 127.0.0.1
rocommunity <community-string> <LAN-SUB-NET>/24
答案1
呃。firewalld
在 Fedora 33 上默认安装并启用。
运行nmap
到设备C
是我需要查看某些内容的指针。
因此,如果您位于内部网络上,请禁用防火墙。或者设置一些规则来玩firewalld
。