Как открыть порты и настроить фаервол в Linux через UFW, firewalld и iptables

Иван Корнев·16 августа 2026·3 мин

Чтобы понять, как открыть порты и настроить фаервол в Linux, нужно определить дистрибутив: в Ubuntu и Debian используют UFW, в RHEL и CentOS — firewalld, для тонкой настройки — iptables или nftables.

Оглавление

UFW (Uncomplicated Firewall)

UFW — стандартный и наиболее простой фаервол для Ubuntu, Debian и их производных.

Базовые операции

Перед настройкой правил необходимо активировать фаервол:

sudo ufw enable

Для разрешения входящих соединений используется команда allow с указанием порта и протокола:

sudo ufw allow 8080/tcp

Для проверки текущих правил и состояния фаервола:

sudo ufw status verbose

Ограничение доступа по IP

Порт можно открыть только для конкретного адреса:

sudo ufw allow from 203.0.113.1 to any port 8080

Блокировка портов

Для запрета доступа к порту используется ключевое слово deny вместо allow:

sudo ufw deny 8080/tcp

Firewalld

Firewalld используется по умолчанию в RHEL, CentOS, Fedora и ALT Linux. Он оперирует понятием «зон», а все настройки выполняются через утилиту firewall-cmd.

Открытие портов

Чтобы открыть порт навсегда, выполните команду с флагом --permanent, а затем перезагрузите правила:

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

Работа с сервисами

Вместо номеров портов можно разрешать предустановленные службы:

sudo firewall-cmd --add-service=http --permanent

Управление зонами

Узнать активные зоны и привязанные к ним интерфейсы можно командой:

firewall-cmd --get-active-zones

Для закрытия порта используется параметр --remove-port вместо --add-port.

Iptables и Nftables

Iptables — классический инструмент для тонкой настройки Netfilter, который постепенно заменяется на nftables в современных дистрибутивах.

Синтаксис iptables

Правила строятся по принципу «критерий + действие». Например, для открытия веб-порта:

-p tcp --dport 80 -j ACCEPT

При работе с iptables важно учитывать порядок правил в цепочке, так как обработка идёт сверху вниз.

Сохранение правил

Изменения в iptables не сохраняются после перезагрузки автоматически. Требуется использование утилит типа iptables-save или специальных сервисов.

Переход на nftables

Nftables является современной заменой iptables с улучшенной производительностью и единым синтаксисом для IPv4 и IPv6. Основной файл конфигурации обычно находится по пути /etc/nftables.conf, а управление осуществляется командой nft.

Общие рекомендации

  • Всегда проверяйте список открытых портов после настройки с помощью утилит ss -plunt или netstat.
  • Никогда не закрывайте порт SSH (обычно 22) до того, как убедитесь, что у вас есть альтернативный доступ к серверу (консоль хостинга), чтобы избежать блокировки.
  • Для большинства пользовательских задач рекомендуется использовать высокоуровневые надстройки (UFW или firewalld), а не редактировать правила netfilter напрямую.

Частые ошибки

  1. Закрытие порта SSH без резервного доступа. Блокировка порта 22 без настроенной консоли хостинга приводит к потере управления сервером.
  2. Потеря правил iptables после перезагрузки. Изменения не сохраняются автоматически — необходимо использовать iptables-save или аналогичные механизмы.
  3. Неправильный порядок правил в iptables. Обработка идёт сверху вниз, поэтому блокирующее правило в конце цепочки может не сработать, если выше есть разрешающее.
  4. Отсутствие перезагрузки firewalld. Правила с флагом --permanent требуют выполнения sudo firewall-cmd --reload для применения.

FAQ

Как проверить список открытых портов?

Используйте утилиты ss -plunt или netstat для просмотра активных соединений и слушающих портов.

Чем отличаются UFW и iptables?

UFW — высокоуровневая надстройка, рекомендуемая для большинства задач благодаря простому синтаксису. Iptables применяется для тонкой настройки Netfilter и требует понимания структуры цепочек и правил.

Как открыть порт только для определённого IP в UFW?

Используйте конструкцию sudo ufw allow from <IP-адрес> to any port <номер-порта>.

В чём разница между iptables и nftables?

Nftables — современная замена iptables с улучшенной производительностью и единым синтаксисом для IPv4 и IPv6. Конфигурация хранится в /etc/nftables.conf.