🖧 Шпаргалка по Firewalld

Firewalld представляет собой управляемый динамический брандмауэр, с поддержкой сетевых зон для определения уровня доверия к сетям или интерфейсам, которые вы используете для подключения. Он поддерживает конфигурации IPv4, IPv6 и мосты Ethernet.

Кроме того, брандмауэр поддерживает текущую конфигурацию и постоянную конфигурацию отдельно. Таким образом, firewalld также предоставляет приложениям удобный интерфейс для добавления правил в брандмауэр.

Код firewalld написан на Python и выпущен под лицензией GPLv2.

firewalld не требует перезапуска службы для применения новой конфигурации. Поэтому нет необходимости перезагружать модули ядра. Единственным недостатком является то, что для корректной работы всего этого, настройка брандмауэра должна производиться через firewalld и его инструменты настройки (firewall-cmd или firewall-config). Firewalld может добавлять правила, используя тот же синтаксис, что и команды {ip,ip6,eb}tables (прямые правила).

Обслуживание также предоставляет информацию о текущей конфигурации брандмауэра через DBus, и таким же образом можно добавить новые правила, используя PolicyKit для процесса аутентификации.

Firewalld работает как фоновый процесс, который позволяет динамически изменять правила фильтрации пакетов через D-Bus без перезагрузки правил фильтрации пакетов и без разрыва установленных соединений.

Для управления брандмауэром используется утилита firewall-cmd который при создании правил опирается не на IP-адреса, сетевые интерфейсы и номера портов, а на имена сервисов (например, чтобы открыть доступ по SSH, нужно запустить «firewall-cmd — add — service=ssh» , чтобы закрыть SSH — «firewall-cmd —remove —service=ssh»).

Примечания и советы

    • Чтобы получить список всех служб, о которых знает firewalld, в удобном для чтения формате, используйте команду firewall-cmd –get-services | tr ” “n”
    • Файлы .xml служб firewalld по умолчанию можно найти в каталоге /usr/lib/firewalld/services.
    • Для всех команд, поддерживающих опцию –zone=, если зона не указана, будет использоваться зона по умолчанию.
    • Чтобы сделать изменения постоянными, добавьте опцию –permanent к вашим командам.
    • После внесения изменений вы должны выполнить команду firewall-cmd –reload, чтобы изменения были загружены.

 

КОМАНДАОПИСАНИЕ
firewall-cmd --get-default-zoneПоказать зону по умолчанию
firewall-cmd --set-default-zone=zoneУстановить зону по умолчанию
firewall-cmd --get-zonesПеречислить все доступные зоны.
firewall-cmd --get-active-zonesСписок всех активных зон
firewall-cmd --get-servicesПеречислить все службы, о которых знает firewalld
firewall-cmd --add-source=CIDR [--zone=zone]Направить весь трафик, поступающий с IP-адреса или сети/маски сети, в указанную зону.
firewall-cmd --remove-source=CIDR [--zone=zone]Удалить правило, маршрутизирующее весь трафик из зоны, исходящий из IP-адреса или сети/сетевой маски.
firewall-cmd --add-interface=interface [--zone=zone]Направить весь трафик, поступающий с интерфейса, в указанную зону.
firewall-cmd --change-interface=interface [--zone=zone]Ассоциировать интерфейс с зоной вместо его текущей зоны.
firewall-cmd --list-all [--zone=zone]Список всех настроенных интерфейсов, источников, служб и портов для зоны.
firewall-cmd --list-all-zonesПолучение всей информации для всех зон (интерфейсы, источники, порты, службы).
firewall-cmd --add-service=service [--zone=zone]Разрешить трафик для сервисов.
firewall-cmd --add-port=port/protocol [--zone=zone]Разрешить трафик на порт/протокольный порт.
firewall-cmd --remove-service=service [--zone=zone]Удалить службу из списка разрешенных для зоны.
firewall-cmd --remove-port=port/protocol [--zone=zone]Удалить порт/протокольные порты из списка разрешенных для зоны.
firewall-cmd --reloadОтменить конфигурацию времени выполнения и примените постоянную конфигурацию.

 

Исходный код  по ссылке ниже.

Руководства пользователя, Могу порекомендовать следующее.