Основные команды firewalld

Centos 7 идет в комплекте с новым брандмауэром — firewalld. Он отличается от привычного iptables. Основные команды.

Статус процесса:

Управление через systemctl, как и для других процессов: stop, start, disable, enable.

Перезагрузка правил firewalld через firewall-cmd:

 

Зоны

В firewalld используются наборы правил, которые обозначаются как зоны. Для разных сетей (для каждой зоны — свой уровень доверия) можно применить разные наборы правил. Условное назначение зон:

trusted — разрешены все входящие и исходящие соединения.
drop — разрешены только исходящие соединения, все входящие пакеты — drop (отбрасываются).
block — разрешены только инициированные ОС соединения, а все входящие соединения отклоняются (rejected) с ответом icmp-host-prohibited/icmp6-adm-prohibited.
public — применяется по-умолчанию, применяется для работы в общественных сетях. Степень доверия сети — низкая, разрешены только определенные входящие соединения.
external — зона для внешнего интерфейса роутера (masquerade/nat). Разрешены только определенные нами входящие соединения.
dmz — зона DMZ, разрешены только определенные входящие соединения.
work — зона рабочей сети, разрешены только определенные входящие соединения.
home — домашняя зона, разрешены только определенные входящие соединения
internal — внутренняя зона, разрешены только определенные входящие соединения

Узнаём зону по-умолчанию:

Список всех доступных зон:

Список активных зон:

Какие правила использует активная зона:

Получить список правил для какой-либо определённой зоны:

Посмотреть правила для всех зон:

Перевод интерфейса в другую зону:

До этого лучше убедиться в том, что SSH соединение разрешено новой зоной и не будет сброшено, в противном случае придётся подключаться к консоли/перезагружать сервер/ОС. Для возврата в исходное состояние достаточно просто перезагрузить firewalld. Для применения изменений на постоянной основе нужно редактировать файл настроек конкретного интерфейса (например, /etc/sysconfig/network-scripts/ifcfg-eth0), где указать зону постоянной привязки (например, ZONE=public). Настройки применяются после перезагрузки firewalld.

Выбор другой зоны по-умолчанию:

Сервисы

Список всех сервисов:

Описание сервисов хранится в файле: firewalld/services.

Включить поддержку сервиса зоной:

Данное изменение не будет активно после перезагрузки firewalld. Параметр —permanent сохранит изменение и после перезагрузки.

Посмотреть список permanent-сервисов:

Удалить сервис из зоны:

 

Посмотреть список сервисов в данной зоне:

Порты

Открыть порт:

диапазон портов: —add-port=2000-2500/tcp, —permanent — сохраняет настройки

Список открытых портов:

Полезные примеры

Перезагрузка правил со сбросом текущих соединений:

Включение режима блокировки входящих и исходящих пакетов:

—panic-off — отключение режима

Узнать включен ли данный режим:

Перенаправить входящие соединения на 22 порт другому хосту: