Назад | Перейти на главную страницу

Конфигурация порта SNMP (net-snmp)

Я настраиваю net-snmp на CentOS, и у меня возникает проблема с настройкой порта, отличного от порта по умолчанию. В принципе, если я настрою его как 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

Один из способов разрешить больше портов для snmp в SELinux - это

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

SELINUX снова наносит удар.

Добавьте разрешающее правило или отключите selinux.

#getenforce

#setenforce permissive

Это может сработать, если вы создадите новое правило для selinux, но лучше отключить его, если вы его не понимаете, оно снова укусит.

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