Ubuntu 上的 SNMP 访问

Ubuntu 上的 SNMP 访问

我正在尝试使用 SNMP 在本地和远程监控一台机器。这是 snmpd.conf(Ubuntu 8.04.1):

#       sec.name  source          comunity
com2sec readonly  1.2.3.4    nicenandtight
com2sec readonly  5.6.7.8   reallysafe

group MyROGroup v1         readonly
group MyROGroup v2c        readonly
group MyROGroup usm        readonly

view all    included  .1                               
view system included  .iso.org.dod.internet.mgmt.mib-2.system

access MyROGroup ""      any       noauth    exact  all    none   none

syslocation my house
syscontact me <[email protected]>

exec .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro
smuxpeer .1.3.6.1.4.1.674.10892.1

includeAllDisks 95%

1.2.3.4 是本地机器的 IP,一切都在本地运行。5.6.7.8 是远程机器,最初我只是尝试从远程机器使用 snmpwalk 接触 SNMPD;

snmpwalk -v 2c -c reallysafe 1.2.3.4
Timeout: No Response from 1.2.3.4

我已将其添加到 iptables 作为第一条规则;

-A INPUT -p udp -m udp --dport 161 -j ACCEPT

有了如此宽松的 iptables 规则,我不明白为什么我甚至无法接触那台 Uubuntu 机器上的 SNMPD。表格下方有更具体的规则,但由于我无法连接,所以我添加了上述规则。TCPDump 显示传入的 UDP 数据包。这里可能出了什么问题?

答案1

早上好。您的 snmpd(不是防火墙)是否配置为允许传入连接?请尝试:

nestat -nlpu|grep snmp

它是否在监听 127.0.0.1 或 0.0.0.0 配置 snmpd:

/etc/snmp/snmpd.conf

我不确定 8.0.4 ubuntu 但在 10+ 中你必须添加

agentAddress udp:0.0.0.0:161

修订版2

防火墙也必须在输出中打开

iptables -A OUTPUT -p udp -m udp --sport 161 -j ACCEPT

您尝试通过互联网或同一网络访问系统

答案2

这对我来说是个新问题,SNMPD 已在 /etc/hosts.allow 和 iptables 中受到限制。我只需将远程主机的 IP 添加到其中的列表中,现在一切正常。

非常感谢大家的帮助。你们帮助我尝试了所有可能的途径,直到只剩下一条路。不过出于好奇,TCP 转储位于网络链的哪里,在 iptables 之前还是之后?大概是之后,那么在数据包到达 iptables 之前是否可以查看它们?

答案3

是否tcpdump还显示返回主机的 UDP 流量?(尝试类似的操作tcpdump host other.host.address and udp

如果是这样,也许你的 OUTPUT 防火墙规则阻止了 UDP 流量返回到另一台主机?你能发布一下 的输出吗iptables -nL

答案4

我也在 ubuntu10.4 中遇到了这个问题这个帖子对我帮助很大:

  • 如果您只想从本地主机轮询,那就完成了。但是,如果您想通过网络使用 SNMP... 您需要编辑 /etc/default/snmpd 并更改仅将其绑定到 127.0.0.1 的行。
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

相关内容