我正在使用 CentOS 6.4 64 位,以 root 身份运行。我正在尝试设置系统 snmpd 代理,以便它监听 161 以外的端口,例如 8001。我在 Debian 7.x 上成功实现了这一点,只需更改端口号即可/etc/snmp/snmpd.conf
:
agentAddress udp:127.0.0.1:8001
并使用 重新启动服务/etc/init.d/snmpd restart
。这很简单。但是,我尝试了几种方法,但在 CentOS 上却无法做到这一点,也就是说 snmpd 将无法启动。
当我尝试使用 snmpd.conf 中的那行运行它时,这些是 /var/log/messages 中写入的最后两行:
Oct 13 15:47:40 localhost snmpd[4775]: Error opening specified endpoint "udp:127.0.0.1:8001"
Oct 13 15:47:40 localhost snmpd[4775]: Server Exiting with code 1
另一方面,如果我直接运行该程序,它将启动并顺利打开端口 8001:
/usr/sbin/snmpd udp:127.0.0.1:8001
或者:
/usr/sbin/snmpd udp:8001
两种方法均可。
我已经在 Google 上搜索并阅读了/etc/sysconfig/snmpd
,但在这个文件中添加一些选项也不起作用。为了获得信息,我禁用了 iptables ( ipdatables -F
)。
有人能帮助我吗?
提前致谢,安东尼奥
答案1
如何让 snmpd 在 CentOS 6.x 上监听 161 以外的端口:
如果尚未安装,请安装以下 snmp 包:
sudo yum install net-snmp net-snmp-utils
选择适合您的端口号,并且不包含在/etc/services
。
假设我选择了 58001。
添加以下行/etc/snmp/snmpd.conf
:
agentAddress udp:58001
启动服务:
service snmpd start
和/或启用 snmpd 在系统启动时自动启动:
sudo chkconfig --add snmpd
sudo chkconfig snmpd on