Le service est installé et configuré pour se lancer au démarrage mais lorsque la machine est redémarrée le pare-feu n'est pas à l'état running
# Après redémarrage firewall-cmd --state not running
Depuis la ligne de commande, si on exécute systemctl start firewalld.service le service se lance normalement et les logs ne remontent pas d'erreur. Le pare-feu s'active manuellement sans problème.
Si on affiche le détail du service via la commande systemctl cat firewalld.service, on peut voir une directive Conflicts :
[Unit]
Description=firewalld - dynamic firewall daemon
Before=network-pre.target
Wants=network-pre.target
After=dbus.service
After=polkit.service
Conflicts=iptables.service ip6tables.service ebtables.service ipset.service nftables.service
Documentation=man:firewalld(1)
[Service]
ExecStart=/usr/sbin/firewalld --nofork --nopid
ExecReload=/bin/kill -HUP $MAINPID
# supress to log debug and error output also to /var/log/messages
...
Par défaut, sur Debian nftables.service est actif. Désactiver et masquer le service :
systemctl disable nftables.service systemctl mask nftables.service
On redémarre pour vérifier le comportement du système après modification :
systemctl reboot
firewall-cmd --state
running
Après désactivation du service nftables.service, le service firewalld.service se lance normalement dès le démarrage/redémarrage de la machine.