这肯定不是防火墙问题,因为 src 和 tgt 机器之间没有防火墙。我只是设置 snmp 以供 nagios 服务器查询。我的 snmpd.conf 如下所示(我在 Ubuntu 9.10 上使用 net-snmp):
com2sec nagiossrv 10.10.10.10 public
group Nagios v1 nagiossrv
view all included .1
access Nagios any noauth exact all none none
当我尝试走它的时候:
t:/etc/nagios3# snmpwalk -v1 -c public 10.10.10.10 system 超时:10.10.10.10 无响应
知道我的配置哪里出了问题吗?
答案1
通常,当您得到这样的沉默时,特别是来自 snmpwalk 或 snmpget 的消息,这意味着设备没有收到您的查询,没有使用您认为的 snmp 版本,没有配置为接受来自您的 IP 地址的查询,或者没有接受您的社区。
确认 snmp 已打开、版本和社区正确、任何基于查询的限制都允许从您的 IP 地址进行查询,并且您正在查询设备和您认为的 MIB 部分。
对于大多数 snmp v1 设备来说,一个好的基本的查询是:
# snmpwalk -v 1 -c public $IP .1
...根据需要替换“public”和$IP。
虽然它可能不完全是您想要的,但这是我在 cacti 查询的 Linux 节点上使用的 snmpd.conf 文件:
syslocation System Location
syscontact [email protected]
# sec.name source community (password)
com2sec Mybox localhost public
com2sec cacti <you ip> public
com2sec Outside default public
# group.name sec.model sec.name
group RWGroup v2c Mybox
group ROGroup v1 cacti
group ROGroup v2c cacti
group Others v2c Outside
view all included .1 80
view system included system fe
# context sec.model sec.level prefix read write notif
access ROGroup "" any noauth exact all none none
access RWGroup "" v2c noauth exact all all all
access Others "" v2c noauth exact system none all
答案2
首先,您是否检查过 snmpd 是否运行正常?
Netstat 或 lsof -i udp:161 可以告诉你。也可以看看日志 ;)
来自 man snmpd.conf:
访问组上下文 {any|v1|v2c|usm} 级别前缀读写通知
您似乎缺少一个字段。在我自己的配置中,我设置了“”作为没有特定上下文的第三个字段。
那么你可以尝试这个:
访问 Nagios "" 任何 noauth 精确 全部 无 无
答案3
Ubuntu(至少在 9.10 中)会覆盖 snmpd 默认值,并且只监听本地主机。要更改此设置,请编辑/etc/default/snmpd
并从
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
到
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'
答案4
我知道它已经很老了,但是对于像我这样连续三天在互联网上疯狂搜索才找到以下解决方案的人来说,这是可行的:
snmpwalk -v1 -c -t60 public 10.10.10.10 system