操作系统:Debian 5.0.3
SNMPD版本:5.4.1
我的 snmpd.conf 文件中有以下两行:
接口 eth0
代理地址 udp:161
我的系统日志中出现以下错误:
10 月 5 日 18:04:44 webdb003 snmpd[29864]: /etc/snmp/snmpd.conf: 第 434 行: 错误: 缺少 TYPE 参数
10 月 5 日 18:04:44 webdb003 snmpd[29864]: net-snmp: 配置文件中存在 1 个错误
10 月 5 日 18:04:44 webdb003 snmpd[29864]: 打开指定端点“udp:161”时出错
10 月 5 日 18:04:44 webdb003 snmpd[29864]: 服务器退出,代码为 1
这文档这里说这是正确的语法。但是,如果我将其更改为 agentaddress 127.0.0.1:161,则在连接到本地主机时,我可以正确地 snmpwalk MIB 列表。我的问题是,我也希望它能够在公共地址上进行 snmpwalk,而不必指定公共地址,因为我必须将此配置文件推送到我的所有服务器,而且我真的不想因为 IP 地址差异而为每个服务器编写一个配置文件。
答案1
您可能需要仔细检查 /etc/default/snmpd 中是否有任何内容覆盖您的配置。我认为默认情况下,本地环回地址 (127.0.0.1) 是在 SNMPDOPTS 指令中传递的。
我可能记错了,我只记得上次在 Debian 系统上为 Cacti 安装时必须更改它,但我认为那是之前的版本。
答案2
请尝试以下操作:
agentaddress 0.0.0.0:161
使用地址“0.0.0.0”告诉大多数应用程序/库绑定到所有地址。
答案3
snmpd
当我尝试在禁用 IPv6 的系统上启动时出现此错误。
我通过更改以下行解决了该问题/etc/snmp/snmpd.conf
:
agentAddress udp:161,udp6:[::1]:161
以下内容:
agentAddress udp:161