Главная > Управление сетью > firewall-cmd

firewall-cmd: Управление межсетевым экраном Firewalld

firewall-cmd — это клиент командной строки для демона firewalld. Он позволяет динамически управлять правилами межсетевого экрана вашей системы. Выполняет различные задачи межсетевого экрана, такие как открытие портов, добавление служб, настройка сетевых зон и различает применение правил времени выполнения и постоянных правил.

Обзор

firewall-cmd взаимодействует со службой firewalld для управления сетевым трафиком системы. Он позволяет применять правила времени выполнения и постоянные правила, а также предоставляет гибкую политику безопасности через различные сетевые зоны (zones). Это позволяет повысить безопасность сервера и разрешить или заблокировать доступ к определенным службам.

Основные функции

  • Управление портами и службами (добавление/удаление)
  • Настройка и управление сетевыми зонами (Zone)
  • Правила на основе IP-адресов и сетей (Rich Rules)
  • Применение правил времени выполнения и постоянных правил
  • Настройка маскировки (Masquerading) и переадресации портов

Основные опции

firewall-cmd позволяет запрашивать и настраивать правила межсетевого экрана с помощью различных опций.

Применение и управление правилами

Запрос информации

Сгенерированная команда:

Комбинируйте команды.

Описание:

`firewall-cmd` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Различные примеры настройки и управления правилами межсетевого экрана с помощью firewall-cmd.

Проверка текущих активных зон и правил

firewall-cmd --list-all

Проверяет все текущие настройки времени выполнения для зоны по умолчанию (public).

Проверка всех настроек определенной зоны

firewall-cmd --zone=internal --list-all

Проверяет все настройки для указанной зоны (например, internal).

Добавление службы HTTP (время выполнения)

sudo firewall-cmd --zone=public --add-service=http

Временно разрешает службу HTTP в зоне public. Исчезнет после перезагрузки.

Добавление службы HTTP (постоянно)

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

Постоянно разрешает службу HTTP в зоне public. Для применения изменений требуется --reload.

Перезагрузка правил межсетевого экрана

sudo firewall-cmd --reload

Применяет все постоянно установленные правила к текущему межсетевому экрану времени выполнения.

Добавление порта 8080/tcp (постоянно)

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

Постоянно разрешает порт TCP 8080 в зоне public. Требуется перезагрузка после применения.

Удаление службы SSH (постоянно)

sudo firewall-cmd --zone=public --remove-service=ssh --permanent

Постоянно удаляет службу SSH из зоны public. Требуется перезагрузка после применения.

Применение всех постоянных правил

sudo firewall-cmd --reload

Немедленно применяет все постоянно измененные правила.

Установка

firewall-cmd является частью пакета firewalld. Он предустановлен в большинстве современных дистрибутивов Linux или может быть легко установлен.

CentOS/RHEL/Fedora

sudo dnf install firewalld

Установка firewalld в дистрибутивах на базе Red Hat.

Ubuntu/Debian

sudo apt install firewalld

Установка firewalld в дистрибутивах на базе Debian.

Запуск и активация службы

sudo systemctl start firewalld
sudo systemctl enable firewalld

После установки запустите службу firewalld и включите ее автоматический запуск при загрузке системы.

Советы и примечания

Важные моменты и полезные советы при использовании firewall-cmd.

Правила времени выполнения vs. постоянные правила

  • Без опции `--permanent` правила применяются только к текущему сеансу и исчезают после перезагрузки.
  • Для постоянного применения используйте `--permanent`, а затем примените изменения с помощью команды `firewall-cmd --reload`.

Понимание зон (Zone)

  • firewalld управляет сетевыми интерфейсами, назначая их различным зонам безопасности. Каждая зона может иметь разный уровень безопасности.
  • Зона по умолчанию — `public`, которая используется для большинства внешних подключений. Существуют различные зоны, такие как `home`, `internal`, `trusted`.

Использование имен служб

  • Использование предопределенных имен служб, таких как `http`, `https`, `ssh`, вместо номеров портов (например, 80/tcp), улучшает читаемость и упрощает управление.
  • Список доступных служб можно получить с помощью команды `firewall-cmd --get-services`.

Резервное копирование и тестирование

  • Перед внесением важных изменений рекомендуется записать текущие настройки с помощью команды `firewall-cmd --list-all --zone=<zone>`.
  • После применения изменений обязательно проверьте, что соответствующая служба работает корректно.


Те же команды в категории