Сформирован выпуск динамически управляемого межсетевого экрана firewalld 2.4.0, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект уже применяется во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+. Код firewalld написан на языке Python и распространяется под лицензией GPLv2.
Для управления межсетевым экраном используется утилита firewall-cmd, которая при создании правил отталкивается не от IP-адресов, сетевых интерфейсов и номеров портов, а от названий служб (например, для открытия доступа к SSH нужно выполнить “firewall-cmd –add –service=ssh”, для закрытия SSH – “firewall-cmd –remove –service=ssh”). Для изменения конфигурации межсетевого экрана также может использоваться графический интерфейс firewall-config (GTK) и апплет firewall-applet (Qt). Поддержка управления межсетевым экраном через D-BUS API firewalld имеется в таких проектах, как NetworkManager, libvirt, podman, docker и fail2ban.
Ключевые изменения:
- Добавлен набор правил “gateway”, охватывающий функциональность типового домашнего маршрутизатора (включает NAT, conntrack-обработчики и перенаправление трафика между зонами). Пример настройки шлюза с внутренним и внешним сетевыми интерфейсами при помощи набора правил “gateway”: firewall-cmd –permanent –zone internal –add-interface eth0 firewall-cmd –permanent –zone external –add-interface eth1 firewall-cmd –permanent –policy-set gateway –remove-disable firewall-cmd –reload
- Реализован флаг “disable”, который можно использовать в XML-настройках, утилите командной строки или через DBus для отключения отдельных правил и наборов правил (policy set).
- Максимальный размер имён правил увеличен с 17 до 128 символов.
- Добавлен сервис gitea для одноимённой платформы совместной разработки (TCP-порт 3000).
- Добавлен сервис syslog-ng для одноимённой системы ведения логов (порты 514, 601 и 6514).
- Добавлен сервис proxy-http для прокси HTTP/HTTPS, типа Squid (TCP-порт 3128).
- Добавлен сервис socks для прокси-серверов с реализацией протокола SOCKS (TCP-порт 1080).