我想让运行Ubuntu Server 14.04的Zenoss服务器上运行SNMPD。 我安装了它并configuration了它,但是当我启动它时,syslog中出现以下错误:
Aug 14 08:19:16 zenoss snmpd[9904]: Turning on AgentX master support. Aug 14 08:19:16 zenoss snmpd[9904]: Turning on AgentX master support. Aug 14 08:19:16 zenoss snmpd[9904]: Error opening specified endpoint "udp:127.0.0.1:161" Aug 14 08:19:16 zenoss snmpd[9904]: Server Exiting with code 1
如果我在命令行(sudo / usr / sbin / snmpd -f)运行SNMPD,它可以正常工作。 我做了一个netstat -oan | grep 161和没有其他的绑定到端口161.这是我的configuration文件(注释删除):
agentAddress udp:127.0.0.1:161 view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1 rocommunity public localhost rwcommunity private localhost rouser authOnlyUser sysLocation Virtual Machine sysContact IT Manager sysServices 72 load 12 10 5 trap2sink localhost public master agentx
和我的snmpd设置文件(注释删除):
export MIBS= SNMPDRUN=yes SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf' TRAPDRUN=no TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
问题似乎在这里:
-c /etc/snmp/snmpd.conf
从你的/ etc / default / snmpd中删除它,看起来像这样:
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux,mteTrigger,mteTriggerConf -p /var/run/snmpd.pid'
如果你想让snmpd在0.0.0.0(或所有接口)上进行监听,那么编辑:
/etc/snmp/snmpd.conf中
所以看起来像这样:
# Listen for connections from the local system only #agentAddress udp:127.0.0.1:161 # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161
重新启动SNMP。
这可能是一个权限问题。
在正常情况下,非root用户无法绑定到linux中的<1024端口。
但是,如果SNMPD在创build套接字/端点后丢弃它的权限,那么这不应该是你的问题。