# Problème libvirt avec nftables : erreur sur iptables au démarrage du réseau

**URL:** <https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948>\
**Category:** Support Debian\
**Created:** [Août 13, 2022, 8:36 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948 "2022-08-13T08:36:57Z")\
**Posts on this page:** 2\
**Page:** 2

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Août 17, 2022, 12:20 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/21 "2022-08-17T12:20:39Z")

</div>

Tu vois à quoi ça sert les commandes que je demande ?  
Je vois seulement maintenant que **firewalld** est installé, donc parfaitement normal que tu puisses désinstaller iptables. --\>\> Pas de bug.

Donc, on récapitule.  
Supprimer iptables n’est pas un problème, puisque **firewalld** est installé, mais désactivé.  
Il faut donc … l’ **activer** -\>\> **firewalld.service**

**Après reboot** , vois-tu toujours ça dans tes logs ?

```auto
libvirtd: Applying rule '/usr/sbin/iptables -w --table filter --list-rules'

```

Et remontre ça après reboot…  
`apt list -i '*tables*'`  
`systemctl status firewalld.service`

---

<div class="post-metadata">

**Author:** ![pled](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pled/32/11791_2.png) [@pled](https://www.debian-fr.org/u/pled)\
**Post date:** [Août 17, 2022, 4:48 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/22 "2022-08-17T16:48:37Z")

</div>

Oui je vois, c’est très intéressant. Je n’avais pas vu le **ou** pour iptables et firewalld. Comment fais-tu pour avoir une présentation comme ça ? quand je fais un `sudo apt-cache depends libvirt-daemon-system`, tout s’affiche lign par ligne, et le «&nbsp;|&nbsp;» n’est vraiment pas facile à lire.

Donc, j’autorise le service firewalld et supprime iptables :

```
$ sudo systemctl enable firewalld.service 
$ sudo apt remove iptables

```

Et je redémarre. Dans journalctl -b 0, je vois la même erreur :

```
août 17 18:25:40 Ryzen7-5700G libvirtd[1156]: internal error: Failed to apply firewall rules /usr/sbin/iptables -w --table filter --list-rules: libvirt: erreur : cannot execute binary /usr/sbin/iptables:
août 17 18:25:40 Ryzen7-5700G libvirtd[1156]: internal error: Failed to apply firewall rules /usr/sbin/ip6tables -w --table filter --list-rules: libvirt: erreur : cannot execute binary /usr/sbin/ip6tables: 

```

Voilà le retour de tes commandes :

```
$ sudo apt list -i '*tables*'
En train de lister... Fait
libnftables1/now 1.0.4-2 amd64 [installé, local]
libxtables12/now 1.8.8-1 amd64 [installé, local]
nftables/now 1.0.4-2 amd64 [installé, local]
python3-nftables/now 1.0.4-2 amd64 [installé, local]

$ sudo systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; preset: enabled)
     Active: active (running) since Wed 2022-08-17 18:25:33 CEST; 6min ago
       Docs: man:firewalld(1)
   Main PID: 860 (firewalld)
      Tasks: 2 (limit: 37587)
     Memory: 45.1M
        CPU: 181ms
     CGroup: /system.slice/firewalld.service
             └─860 /usr/bin/python3 /usr/sbin/firewalld --nofork --nopid

août 17 18:25:33 Ryzen7-5700G systemd[1]: Starting firewalld - dynamic firewall daemon...
août 17 18:25:33 Ryzen7-5700G systemd[1]: Started firewalld - dynamic firewall daemon.
août 17 18:25:40 Ryzen7-5700G firewalld[860]: WARNING: COMMAND_FAILED: INVALID_IPV: 'ipv4' is not a valid backend or is unavailable
août 17 18:25:40 Ryzen7-5700G firewalld[860]: WARNING: COMMAND_FAILED: INVALID_IPV: 'ipv4' is not a valid backend or is unavailable

```

Après une rapide recherche sur le net, le message d’erreur sur ipv4 viendrait de l’absence de `iptables` !?

Et bien sûr le réseau virtuel n’est pas démarré :

```
$ sudo virsh net-list --all
 Nom État Démarrage automatique Persistent
---------------------------------------------------------
 default inactif Oui Oui

$ sudo virsh net-start default
erreur :Impossible de démarrer le réseau default
erreur :internal error: Failed to apply firewall rules /usr/sbin/iptables -w --table filter --list-rules: libvirt: erreur : cannot execute binary /usr/sbin/iptables: Aucun fichier ou dossier de ce type

```

Donc à mon avis, on en revient à ce que disait le type de redhat : libvirt a une dépendance à iptables («&nbsp;libvirt still uses iptables to add its rules&nbsp;»). Et donc avec simplement `firewalld`, impossible de créer les règles pour le firewall.

[Page précédente](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948.md?page=1)
