1. API D-Bus.
2. Временные правила брандмауэра.
3. Богатый язык для описания правил брандмауэра.
4. Поддержка IPv4 и IPv6 NAT.
5. Зоны межсетевого экрана.
6. Поддержка IP-набора.
7. Логи отклоненных пакетов.
8. Прямой интерфейс.
9. Lockdown: Белый список приложений, которые могут изменить брандмауэр.
10. Поддержка iptables, ip6tables, ebtables и брандмауэров ipset firewall.
11. Автоматическая загрузка модулей ядра Linux.
12. Интеграция с Puppet.sudo systemctl stop iptablessudo systemctl mask iptablessudo systemctl status iptablessudo apt-get remove ufwsudo apt-get install firewall-applet sudo yum install firewalld firewall-config -ysystemctl enable firewalldsystemctl disable firewalldsystemctl start firewalldsudo systemctl status firewalldfirewall-cmd --statefirewall-cmd --reloadfirewall-cmd --complete-reloadfirewall-cmd --list-allfirewall-cmd --runtime-to-permanentfirewall-cmd [опции] [зона] [правило]firewall-cmd --permanent --add-port=80/tcp
# ключ --permanent — добавить постоянное правило (будет действовать после перезагрузки).
Добавить правило для определенной зоны:
firewall-cmd --permanent --zone=external --add-port=80/tcp
Добавить диапазон портов:
firewall-cmd --permanent --add-port=6500-6700/udp
Добавить несколько правил одной командой:
firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcpfirewall-cmd --get-servicesfirewall-cmd --permanent --add-service=ntpfirewall-cmd --permanent --new-service=name-service
# name-service — произвольное имя создаваемой службыfirewall-cmd --permanent --service=name-service --add-port=2200/tcpfirewall-cmd --info-service=name-servicefirewall-cmd --permanent --add-service=name-servicefirewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept'firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"firewall-cmd --list-rich-rulesfirewall-cmd --permanent --remove-port=80/tcpfirewall-cmd --list-all-zonesfirewall-cmd --get-active-zonesfirewall-cmd --list-all --zone=publicfirewall-cmd --permanent --zone=public --add-port=80/tcp# сначала нужно удалить адаптер из текущей зоны
firewall-cmd --permanent --zone=public --remove-interface=ens192
# добавляем сетевой интерфейс в зону
firewall-cmd --permanent --zone=internal --add-interface=ens192firewall-cmd --permanent --zone=public --set-target=DROPfirewall-cmd --permanent --new-zone=new_zone
firewall-cmd --reload
# чтобы система увидела новую зону new_zone, команда reload обязательная.firewall-cmd --permanent --zone=dmz --add-masquerade
# без указания зон, будет включен для public и externalfirewall-cmd --add-forward-port=port=[порт прослушивания]:proto=tcp|udp|sctp|dccp:toport=[порт назначения]:toaddr=[куда перенаправить]firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens192 -o ens224 -j DROP
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens224 -o ens192 -j DROPfirewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens192 -o ens224 -j ACCEPT