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 iptables
sudo systemctl mask iptables
sudo systemctl status iptables
sudo apt-get remove ufw
sudo apt-get install firewall-applet
sudo yum install firewalld firewall-config -y
systemctl enable firewalld
systemctl disable firewalld
systemctl start firewalld
sudo systemctl status firewalld
firewall-cmd --state
firewall-cmd --reload
firewall-cmd --complete-reload
firewall-cmd --list-all
firewall-cmd --runtime-to-permanent
firewall-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/tcp
firewall-cmd --get-services
firewall-cmd --permanent --add-service=ntp
firewall-cmd --permanent --new-service=name-service
# name-service — произвольное имя создаваемой службы
firewall-cmd --permanent --service=name-service --add-port=2200/tcp
firewall-cmd --info-service=name-service
firewall-cmd --permanent --add-service=name-service
firewall-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-rules
firewall-cmd --permanent --remove-port=80/tcp
firewall-cmd --list-all-zones
firewall-cmd --get-active-zones
firewall-cmd --list-all --zone=public
firewall-cmd --permanent --zone=public --add-port=80/tcp
# сначала нужно удалить адаптер из текущей зоны
firewall-cmd --permanent --zone=public --remove-interface=ens192
# добавляем сетевой интерфейс в зону
firewall-cmd --permanent --zone=internal --add-interface=ens192
firewall-cmd --permanent --zone=public --set-target=DROP
firewall-cmd --permanent --new-zone=new_zone
firewall-cmd --reload
# чтобы система увидела новую зону new_zone, команда reload обязательная.
firewall-cmd --permanent --zone=dmz --add-masquerade
# без указания зон, будет включен для public и external
firewall-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 DROP
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i ens192 -o ens224 -j ACCEPT