Политика SELinux Zabbix сервера
У меня есть Zabbix сервер, работающий на RHEL 7, и когда я использую веб-интерфейс (на той же коробке), он говорит, что Zabbix сервер не работает.
Если я отключаю SELinux и ничего не меняю, веб-интерфейс сообщает, что Zabbix-сервер успешно работает.
Любые идеи о том, как я могу пропустить Zabbix? Я уже добавил порты 10050 и 10051 в FirewallD, и SELinux не позволит мне добавить их во второй раз.
5 ответов
Я наконец-то понял. Zabbix Server имеет bool SELinux, позволяющий httpd взаимодействовать с портом 10051. Чтобы установить его, введите команду sudo setsebool httpd_can_connect_zabbix 1
,
Это позволит веб-интерфейсу показывать, включен ли Zabbix сервер или нет, без необходимости отключать SELinux!
Ни один ответ не дал правильного совета о том, как обновить правило SELinux, а также как сохранить настройки после перезагрузки сервера, для этого сделайте следующее:
# setsebool -P httpd_can_network_connect on # setsebool -P httpd_can_network_connect = true
Это было сделано на RHEL7.
Пытатьсяgetsebool -a
чтобы показать все параметры, активные или нет для selinux:
httpd_can_network_connect=on
- SELinux
https://www.zabbix.com/forum/showthread.php?t=47375&highlight=selinux Вы отключили его - ОК
- Брандмауэр
Попробуйте также отключить брандмауэр
- Конфигурация PHP внешнего /zabbix сервера
Распространенная проблема - когда zabbix_server прослушивает только IP, а не localhost (netstat -tanp | grep:10051), но frontend настроен для localhost:10051, проверьте и настройте сервер frontend/zabbix должным образом
# grep ZBX_SERVER /etc/zabbix/web/zabbix.conf.php
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
# telnet localhost 10051
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Если сервер прослушивает все интерфейсы (включая localhost), я могу также использовать localhost в конфигурации внешнего интерфейса:
# netstat -tanp | grep :10051 | grep LISTEN
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 825/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 825/zabbix_server
Вам не нужноsudo setenforce 0
Не использоватьunreserved_port_t
в противном случае/var/log/zabbix/zabbix_agentd.log
вывод
31542:20220614:214432.987 using configuration file: /etc/zabbix/zabbix_agentd.conf
31542:20220614:214432.987 listener failed: bind() for [[-]:10050] failed: [13] Permission denied
Вместо этого переключитесь наzabbix_agent_port_t
semanage port --add --type zabbix_agent_port_t --proto tcp 10050 || \
semanage port --modify --type zabbix_agent_port_t --proto tcp 10050
тогда как для сервера zabbix используйтеzabbix_port_t
для порта 10051.