Firewalld — демон управления брандмауэром для Linux, обеспечивающий динамическое изменение правил без перезагрузки соединений. Абстрагирует iptables или nftables (зависит от версии), предоставляя более удобный CLI (firewall-cmd) и D-Bus API.
Как работает
Firewalld организует правила через зоны (zones) — наборы правил для разных типов сетевых соединений:
- public — для публичных сетей (по умолчанию для внешних интерфейсов)
- trusted — все соединения разрешены (для LAN или VPN)
- drop — все входящие отбрасываются без ответа
- block — все входящие отклоняются с icmp-host-prohibited
Динамическое изменение: firewall-cmd --add-port=80/tcp --zone=public применяется мгновенно без разрыва текущих соединений. Для постоянного сохранения: добавить флаг --permanent + firewall-cmd --reload.
Rich rules позволяют задавать сложные правила: firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.0/8" accept'. Поддерживает IPv6.
История
Firewalld разработан Томасом Вёрнером (Thomas Woerner) в Red Hat и введён как стандартный инструмент в Fedora 18 (2013). В RHEL 7 (2014) полностью заменил прямое управление iptables через service iptables. В AlmaLinux 8/9 firewalld использует nftables как бэкенд по умолчанию. На Ubuntu/Debian предпочтительны ufw (uncomplicated firewall) или прямое управление iptables.
Сравнение firewalld с iptables и nftables
firewalld — высокоуровневая надстройка над iptables (до RHEL 8) или nftables (RHEL 8+). Ключевые отличия от прямой работы с iptables: изменения применяются без перезапуска сервиса (firewall-cmd --reload), правила сохраняются автоматически, концепция зон упрощает управление безопасностью в сложных сетях.
nftables — замена iptables в современных Linux-дистрибутивах. Единый инструмент вместо iptables/ip6tables/arptables/ebtables. Синтаксис более мощный и читаемый. firewalld использует nftables как backend на RHEL 8+/Fedora/Ubuntu 22.04+. Прямое использование nftables через nft-команды допустимо, но смешивать с firewalld-правилами не рекомендуется — возможны конфликты.
Ключевые отличия от похожих терминов
Firewalld vs iptables: iptables — более низкоуровневый и гибкий инструмент, требует знания цепочек (INPUT, OUTPUT, FORWARD) и правил. Firewalld — более высокоуровневый, с поддержкой зон и dynamic rules. Оба управляют одним и тем же ядерным netfilter. Firewalld vs ufw: ufw проще (Ubuntu-ориентирован), firewalld мощнее (зоны, rich rules) и является стандартом RHEL/Fedora/AlmaLinux-мира.
Firewalld в хостинге
Firewalld — стандартный брандмауэр в AlmaLinux/RHEL-дистрибутивах. Работает поверх nftables (или iptables в старых версиях). Концепция зон: public — открытые порты для интернета, internal — для внутренней сети, drop — блокировка всего входящего. Типичная настройка VPS: открыть 80/443 для nginx, 22 для SSH: firewall-cmd --permanent --add-service=http --add-service=https --add-service=ssh --reload. Альтернативы на Ubuntu: ufw (Uncomplicated Firewall) — более простой синтаксис. Fail2ban интегрируется с firewalld через backend firewalld. IPv6: firewalld автоматически применяет правила к обоим стекам.