Открываем порт в Linux с помощью firewalld
Итак, вы купили VDS (виртуальный сервер), установили какой-то сервис, например ftp (File Transfer Protocol — протокол передачи файлов) и у вас не проходят соединения на сервер из внешней сети Интернет, но локально в консоли всё работает. Это означает, что порт скорее всего закрыт файрволом от внешних соединений в целях безопасности.
Почему так происходит
По умолчанию большинство портов закрыто межсетевым краном от внешних соединений в целях безопасности. Системный администратор должен стараться по-максимуму ограничивать доступ к сервисам из вне. Например, в большинстве случаев доступ к СУБД (Система управления базами данных) закрыт для внешних IP-адресов. Если какому-то серверу из вне нужен доступ, то его открывают только для заданного IP-адреса или подсети. Разумно ограничить доступы межсетевым экраном ко всем внутренним службам, которые не должны быть доступны любому пользователю Интернет.
Установка firewalld
firewall-cmd --state #смотрим состояние файрвол, если файрвола нет, то устанавливаем его yum install firewalld #скорее всего он у вас уже установлен systemctl enable firewalld #включаем автоматический запуск фарвол. Это нужно, чтобы он запускался после перезагрузки сервера. systemctl start firewalld #запускаем файрвол firewall-cmd --list-all #смотрим настройки public (active) target: default icmp-block-inversion: no interfaces: ens3 sources: services: dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Как проверить, что порт закрыт именно файрволом?
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 #делаем текущие настройки постоянными
При выполнении команд можно использовать опцию —permanent, чтобы настройки сразу сохранялись глобально. Но лучше так не делать, потому что вы не можете быть на 100% уверены, что ваши команды приведут к задуманному результату. Поэтому вы сначала добавляете настройки в текущую конфигурацию, перезагружаете файрвол, проверяете, что всё работает как требуется и только после тестирования сохраняете настройки глобально. Важно, конечно, не забыть их сохранить, а то после перезагрузки сервера будут проблемы.
Кстати, это распространённая ошибка системных администраторов, что сервер не устойчив к перезагрузкам. Некоторые системные администраторы любят хвастаться UPTIME в не сколько лет. Но у этого есть и обратная сторона, что они не могут быть уверены, что какие-то их команды не носят временный характер до ближайшей перезагрузки.
Открываем сервис для внешних соединений пользователям из заданной подсети
firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="ftp" accept'
iptables Как открыть порты в CentOS 7 Linux или ERR_CONNECTION_TIMED_OUT
В CentOS 7 в качестве фаервола выступает iptables. По-умолчанию он запущен. Чтобы посмотреть текущие правила, нужно ввести команду:
# iptables -L -v -n
В 7-й версии CentOS для управления iptables разработан новый инструмент под названием firewalld и все управление производится через него. firewalld это утилиты для конфигурирования iptables. Но firewalld больше подходит для рабочих станций, чем для серверных сред, поэтому для начала остановим и отключим firewalld.
# systemctl stop firewalld # systemctl disable firewalld rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service' rm '/etc/systemd/system/basic.target.wants/firewalld.service'
Установим утилиты для iptables:
# yum -y install iptables-services
Включим автозапуск iptables:
# systemctl enable iptables
В терминале Centos 6.3 последовательно выполните следующие команды:
#su # iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT # iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT # iptables -I INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT # iptables -I INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT # service iptables save
# systemctl restart iptables
FIREWALL ОТКРЫТЬ ПОРТ 80 443 НА LINUX CENTOS/RHEL 8/7

В сегодняшней статье я вам расскажу как открыть порт 80, 443 на Firewalld.
Firewalld это программное обеспечение для управления брандмауэрами используемый в системах CentOS и RHEL.
По умолчанию Firewalld включен, но его можно отключить временно либо навсегда, но не стоит этого делать так как безопасность сервера упадет в разы. Firewalld предназначит для фильтрации входящего и выходящего трафика на интерфейсах. Сегодня мы откроем самые востребованные порты 80 и 443, они предназначены для веб серверов.
ШАГ 1. Проверка состояния Firewalld.
Для проверки состояния используйте команду:
$. sudo service firewalld status
$. sudo systemctl status firewalld


ШАГ 2. Проверка открыт ли порт 80, 443.
Порт на Firewalld может быть уже открыт. Для того чтобы, проверить это используйте команду:
$. sudo netstat -an | grep 80 | grep -i listen
$. sudo netstat -an | grep 443 | grep -i listen


Как видно на снимках 80 порт уже открыт, а 443 закрыт, так как список пустой.
ШАГ 3. Открываем порт 80, 443.
Для открытия порта используйте команду:
$. sudo firewall-cmd —zone=public —add-port=80/tcp —permanent
$. sudo firewall-cmd —zone=public —add-port=443/tcp —permanent
$. sudo firewall-cmd —reload

Как видно из снимка, мы попытались открыть порт 80, но он уже есть в правилах Firewall, а от 443 порт получилось открыть. Обязательно после добавления плавил в Firewall перезапускаем саму службу Firewall.
ГОТОВО! Мы успешно открыли порты 80, 443.
Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.
Последнее обновление: 20 Июня 2023 г.
Как открыть порты в брандмауэре Centos 7
Благодаря статье CentOS в компьютерных сетях для малого и среднего бизнеса написано Фицо, Решил установить Centos 7 на одном из моих тестовых компьютеров установка была довольно простой, также я следил за статьей Что делать после установки CentOS 7? Быстрый гид поставить его в строй. Centos Он сопровождал меня в студенческие годы, поэтому он вызывает определенные воспоминания и ностальгию по его использованию снова.
- 1 Проблема
- 2 Открытие портов в брандмауэре Centos 7
- 2.1 Временно открытые порты
Проблема
Уже с Centos 7 установлен У меня возникла проблема, я не мог открыть некоторые порты в брандмауэре, которые необходимы для выполнения некоторых из моих повседневных задач. Путешествуя здесь и там, помимо чтения официальной документации, мне удалось прийти к решению.
Открытие портов в брандмауэре Centos 7
Utilice este comando para encontrar la (s) zona (s) activa (s):
firewall-cmd --get-active-zonesРезультат будет паблик, дмз или какой-то другой. Обращаться следует только на необходимые участки.
В случае dmz вы можете постоянно открывать порты с помощью следующей команды:
firewall-cmd --zone=dmz --add-port=8080/tcp --permanentDe lo contrario, sustituya dmz por su zona, por ejemplo, si su zona es pública:
firewall-cmd --zone=public --add-port=8080/tcp --permanentPara que los cambios surtan efectos debemos reiniciar el firewall con el siguiente comando:
firewall-cmd --reloadВременно открытые порты
Это решение позволяет выбранным портам оставаться открытыми постоянно. Если вы хотите, чтобы порты оставались открытыми временно, необходимо выполнить следующие шаги:
В случае dmz вы можете временно открыть порты с помощью следующей команды:
firewall-cmd --zone=dmz --add-port=8080/tcpDe lo contrario, sustituya dmz por su zona, por ejemplo, si su zona es pública:
firewall-cmd --zone=public --add-port=8080/tcpPara que los cambios surtan efectos debemos reiniciar el firewall con el siguiente comando:
firewall-cmd --reloadВозможно, кто-то не будет знать, что такое зоны dmz, поэтому полезно объяснить:
Что такое зоны DMZ?
Цитата из документации tp-link:
DMZ (демилитаризованная зона) — это концептуальный проект сети, в котором серверы общего доступа размещаются в отдельном изолированном сегменте сети. Цель DMZ — гарантировать, что серверы общего доступа не смогут взаимодействовать с другими сегментами внутренней сети в случае взлома сервера.
Брандмауэр особенно важен при реализации DMZ, так как он отвечает за обеспечение наличия надлежащих политик для защиты локальных сетей DMZ при сохранении доступности демилитаризованной зоны (DMZ).
Из-за нетривиального характера реализации DMZ использование DMZ не рекомендуется, если вы не очень знакомы с сетями. DMZ редко является требованием, но обычно рекомендуется администраторами сети, заботящимися о безопасности.
Короче говоря, DMZ будет принимать только те предварительно выбранные соединения. Это своего рода публичный доступ, но в котором соединения ограничены.
С помощью этих шагов вы можете открыть нужные порты в брандмауэре Centos.Помните, что важно принять необходимые меры предосторожности, чтобы неавторизованные третьи лица не получили доступ к нашему компьютеру через эти порты. Надеемся, что это будет полезно, и не забываем оставлять нам свои впечатления.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Из Linux » Учебники / Руководства / Советы » Как открыть порты в брандмауэре Centos 7