Открываем порт в Linux с помощью firewalld
Добавлено: Вс авг 15, 2021 10:07 pm
Как проверить, что порт закрыт именно файрволом?
Открываем порт для внешних соединений всем пользователям
Это очевидный, но не самый лучший вариант. Он подойдёт вам, если нужно открыть какой-то конкретный порт. Если же задача разрешить сервис, то лучше подойдёт команда:
Пока эти команды только изменили текущую конфигурацию файрвола, но эти настройки не вступили в силу. Чтобы они заработали, нужно перезагрузить файрвол мягко без разрыва текущих соединений
И если эти настройки нам нужны постоянно, то есть и после перезагрузки сервера, то нужно их сохранить
Открываем сервис для внешних соединений пользователям из заданной подсети
Код: Выделить всё
systemctl stop firewalld #отключаем файрволл и проверяем есть ли соединение из вне
systemctl start firewalld #включаем файрвол
Код: Выделить всё
firewall-cmd --add-port=21/tcp
firewall-cmd --remove-port=21/tcp #эту команду используйте, чтобы закрыть порт
Код: Выделить всё
firewall-cmd --add-service=ftp
firewall-cmd --get-services #эта команда выводит список всех возможных сервисов, которые можно добавлять в файрвол
firewall-cmd --remove-service=ftp #эту команду используйте, чтобы закрыть службу
Код: Выделить всё
firewall-cmd --reload #перезагружаем без разрыва текущих соединений
firewall-cmd --complete-reload #сбросит и текущие соединения
firewall-cmd --list-all #смотрим настройки
public (active)
target: default
icmp-block-inversion: no
interfaces: ens3
sources:
services: dhcpv6-client ftp ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
Код: Выделить всё
firewall-cmd --runtime-to-permanent #делаем текущие настройки постоянными
Код: Выделить всё
firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="ftp" accept'