如何设置 snmpd 以侦听替代端口(161 除外)?

Ant*_*los 4 linux centos snmp

我正在以 root 身份在 CentOS 6.4 64 位上工作。我正在尝试设置系统 snmpd 代理,以便它侦听 161 以外的端口,例如 8001。我通过更改端口号在 Debian 7.x 上成功获得了它/etc/snmp/snmpd.conf

agentAddress  udp:127.0.0.1:8001
Run Code Online (Sandbox Code Playgroud)

并使用/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
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我直接运行程序,它会启动并愉快地打开端口 8001:

/usr/sbin/snmpd udp:127.0.0.1:8001
Run Code Online (Sandbox Code Playgroud)

或者:

/usr/sbin/snmpd udp:8001
Run Code Online (Sandbox Code Playgroud)

两种方式都有效。

我在谷歌上搜索并阅读了有关/etc/sysconfig/snmpd,但在此文件中添加一些选项也不起作用。有关信息,我禁用了 iptables ( ipdatables -F)。

有人可以帮我吗?

提前致谢, 安东尼奥

Ant*_*los 5

如何在 CentOS 6.x 上让 snmpd 监听 161 以外的端口:

如果尚未安装,请安装这些 snmp 软件包:

sudo yum install net-snmp net-snmp-utils
Run Code Online (Sandbox Code Playgroud)

选择一个适合您且不包含/etc/services.

假设我选择了 58001。

在 中添加以下行/etc/snmp/snmpd.conf

agentAddress udp:58001
Run Code Online (Sandbox Code Playgroud)

启动服务:

service snmpd start
Run Code Online (Sandbox Code Playgroud)

和/或在系统启动时启用 snmpd 的自动启动:

sudo chkconfig --add snmpd
sudo chkconfig snmpd on
Run Code Online (Sandbox Code Playgroud)