У нас есть служба, сопоставленная с веб-приложением.
Итак, нам нужно разрешить 80 портов и 16700 для его серверной службы.
Во время входа в систему он будет подключаться к этой службе для аутентификации и других частей данных.
в брандмауэре мы разрешаем этим двум использовать
firewall-cmd --permanent --add-port = 16700 / tcp firewall-cmd --permanent --add-port = 80 / tcp
Если я отключу selinux или установлю разрешающий режим, он будет работать. Если я установил принудительное исполнение, он не работает.
Итак, я добавил ниже для порта 80. setsebool -P httpd_can_network_connect на
Но попытка входа в систему все еще не решена из-за порта 16700. И добавление этого 16700 к http_port_t тоже не работает. порт semanage -a -t http_port_t -p tcp 16700
И этого 16700 тоже нет в bool.
Есть предложения, как включить этот порт в selinux?
ОС: Redhat 7.4
semanage port -a -t http_port_t -p tcp 16700
- правильное действие, разрешающее порт в SELinux. Если это «не работает», вам нужно выяснить, почему. Проверьте сообщения об ошибках, которые вы могли получить, проверьте журнал аудита, проверьте остальные журналы, чтобы убедиться.
Конечно, вам также нужно открыть порт в брандмауэре, а вы, похоже, этого не сделали. Вы изменили конфигурацию на диске, но не действующий брандмауэр. Откройте порт с помощью:
firewall-cmd --add-port=16700/tcp
Лучше всего не использовать --permanent
за исключением команд, которые действительно этого требуют, например, добавления и удаления зон. Если вы допустили ошибку при добавлении порта и заблокировали себя, вы можете просто перезапустить брандмауэр (или виртуальную машину) для восстановления. Если вы добавили неправильное правило как постоянное, то как только брандмауэр перезапустится, вы будете заблокированы и у вас возникнут большие трудности с восстановлением. Убедившись, что работающий брандмауэр работает правильно, вы можете сохранить его с помощью firewall-cmd --runtime-to-permanent
.