SNMP(net-snmp)端口配置

SNMP(net-snmp)端口配置

我在 CentOS 上设置 net-snmp,设置非默认端口时出现问题。基本上,如果我将其设置为 161 或端口 32768 或更高,它就可以正常工作,但对于 10000 到 32767 之间的任何端口,它都不起作用。

知道是什么原因造成的吗?它只针对一台服务器,在其他类似配置的服务器上运行良好。

以下是日志/var/log/messages

May  3 11:15:27 oninfra01 snmpd[27709]: Error opening specified endpoint "5161"
May  3 11:15:27 oninfra01 kernel: type=1400 audit(1336058127.584:57070): avc:  denied  { name_bind } for  pid=27709 comm="snmpd" src=5161 scontext=unconfined_u:system_r:snmpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=udp_socket
May  3 11:15:27 oninfra01 kernel: type=1400 audit(1336058127.584:57071): avc:  denied  { name_bind } for  pid=27709 comm="snmpd" src=5161 scontext=unconfined_u:system_r:snmpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=udp_socket
May  3 11:15:27 oninfra01 snmpd[27709]: Server Exiting with code 1

答案1

SELINUX 再次来袭。

添加允许它的规则或禁用 selinux。

#getenforce

#setenforce permissive

这可能对为 selinux 创建新规则有用,但如果您不理解它,最好禁用它,它会再次咬人。

# grep snmp /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp

答案2

在 SELinux 中允许 snmp 有更多端口的方法如下

semanage port -a -t snmp_port_t -p tcp 10000-32767
semanage port -a -t snmp_port_t -p udp 10000-32767

(命令可能需要一段时间才能运行,这是正常的,因为 SELinux 会编译其规则集)

检查是否正常:

semanage port -l | grep snmp

相关内容