Я устанавливаю Fedora Server 25 на виртуальную машину и использовал SaltStack для установки NextCloud через это пошаговое руководство. Проблема, с которой я сталкиваюсь, заключается в том, что брандмауэр слишком ограничивает и блокирует порты 22, 80 и 443. По предложению создателя пошагового руководства я отредактировал файл SaltStack "nextcloud.sls" следующим образом, но это не помогло:
#line108
FedoraServer:
firewalld.present:
- name: FedoraServer
- block_icmp:
- echo-reply
- echo-request
- default: False
- masquerade: True
- ports:
- 22/tcp
- 80/tcp
- 443/tcp
- 9090/tcp
Что я могу сделать, чтобы открыть эти порты, чтобы мне не приходилось останавливать службу firewalld при каждой загрузке? Спасибо.
РЕДАКТИРОВАТЬ: Итак, даже после удаления - firewalld
из скрипта nextcloud.sls (под install_network_packages: pk.installed:
брандмауэр по-прежнему запускается и блокируется все нужные мне порты. В Fedora Server должно быть что-то еще, что перекрывает сценарий SaltStack и включает брандмауэр ... ??
Я не знаю SaltStack, но у вас должна быть возможность постоянно открывать необходимые порты через firewall-cmd
. Например, чтобы постоянно открывать ssh
попробуйте следующее:
firewall-cmd --add-service=ssh; firewall-cmd --add-service=ssh --permanent
Для включения ICMP и других служб:
firewall-cmd --remove-icmp-block=echo-request firewall-cmd --remove-icmp-block=echo-request --permanent firewall-cmd --remove-icmp-block=echo-reply firewall-cmd --remove-icmp-block=echo-reply --permanent firewall-cmd --add-service=http firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https firewall-cmd --add-service=https --permanent firewall-cmd --add-port=9090/tcp firewall-cmd --add-port=9090/tcp --permanent
Предлагаю вам сначала попробовать без постоянные правила. Если все работает правильно, вы можете ввести постоянные правила и перезагрузить компьютер.
Почему брандмауэр находится на том же сервере, что и экземпляр NextCloud? Почему бы просто не контролировать трафик порта с помощью сетевого брандмауэра? Вы можете просто создать зону для этого сервера и контролировать, что входит и выходит из него на уровне сети.