# 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:** 20\
**Page:** 1

<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 13, 2022, 8:36 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/1 "2022-08-13T08:36:57Z")

</div>

Bonjour,  
J’ai voulu bien faire et supprimer **ufw** (et donc **iptables** ) de ma debian bookworm, installés par habitude, afin d’utiliser **nftables** puisque c’est désormais le défaut.

J’ai donc suivi [cette page](https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables) pour migrer les régles, et tout s’est bien passé (export, translate, puis import). J’ai ensuite supprimé les paquets **iptables** et **ufw**. Et passé le service nftables à «&nbsp;enable&nbsp;».

```
$ sudo systemctl status nftables
● nftables.service - nftables
     Loaded: loaded (/lib/systemd/system/nftables.service; enabled; preset: enabled)
     Active: active (exited) since Fri 2022-08-12 18:10:54 CEST; 16h ago
       Docs: man:nft(8)
             http://wiki.nftables.org
   Main PID: 716 (code=exited, status=0/SUCCESS)
        CPU: 6ms

```

J’avais une VM de démarrée, elle a immédiatement disparue, et dans **virt-manager** , toutes mes VMs définies ont également disparues. Bon, j’ai fini par désinstaller/réinstaller tous les paquets pour KVM, et elles sont revenues (les fichiers .xml de mes VMs sont dans `/etc/libvirt/qemu/`).

Mais je n’arrive plus à démarrer le network, avec un message d’erreur faisant référence à `/usr/sbin/iptables` (qui effectivement n’est plus présent, et pour cause !) :

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

$ sudo virsh net-autostart default
Réseau default marqué en démarrage automatique

$ 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

```

J’ai cherché sur le net sans rien trouvé de consistant avec cette erreur. Est-ce qu’il faut réinstaller iptables ? faire un purge ou un truc du genre ? cette référence à **iptables** est bizarre tout de même, ou un truc m’a échappé…  
J’ai aussi vu des références à **firewalld** nécessaire pour libvirt ?? est-ce qu’il faut l’installer (je n’ai pas testé) ?

Si quelqu’un a-t-il une idée pour démarrer ce réseau ?  
Merci d’avance.

---

<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 13, 2022, 2:59 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/2 "2022-08-13T14:59:11Z")

</div>

Mise à jour : après beaucoup de recherches infructueuses, j’ai réinstallé le paquet **iptables** pour résoudre l’erreur, mais j’avais toujours le même message bien que le binaire était présent.

J’ai alors réinstallé **ufw** , et passer **nftables** en disabled, décidé à revenir à ma situation de départ. J’ai alors eu des erreurs avec ufw sur un simple `$ sudo ufw status verbose`.

En désespoir de cause, j’ai redémarré , je n’avais alors plus accès au réseau. J’ai alors supprimé **ufw** et **iptables** et réactivé **nftables** , et là miracle, tout fonctionne. Je n’y comprend rien ! 🙄

Là, je me bat pour trouver la syntaxe des rules pour mon serveur samba… Je vais finir par y arriver ! MAis si quelqu’un a un lien sympa pour apprendre nftables, je suis preneur !

---

<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 13, 2022, 4:16 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/3 "2022-08-13T16:16:19Z")

</div>

Good job.  
L’architecture nftables est directement embarquée dans le noyau.  
Après passage {ip-\>nf}tables, il faut donc quand-même rebooter pour prévenir le noyau qu’il va gérer les tables nf.

Un peu de lecture de fond, à la demande.  
――――――――――  
What are the benefits of nftables?  
 → The main advantages of nftables are:

• **Architecture that’s built right into the kernel**  
• A syntax that consolidates IPtables tools into a single command-line tool  
• A compatibility layer that allows the use of IPtables rules syntax.  
• A new, easy to learn syntax.  
• Simplified process of adding firewall rules.  
• Improved error reporting.  
• Reduction in code replication.  
• Better overall performance, retention and gradual changes in rule filtering.  
――――――――――  
[nftables - Debian Wiki](https://wiki.debian.org/nftables)  
[Nftables - Gentoo Wiki](https://wiki.gentoo.org/wiki/Nftables)  
[nftables - ArchWiki](https://wiki.archlinux.org/index.php/nftables)  
[Beginners Guide to nftables Traffic Filtering - Linux Audit](https://linux-audit.com/nftables-beginners-guide-to-traffic-filtering/)  
[Moving from iptables to nftables - nftables wiki](https://wiki.nftables.org/wiki-nftables/index.php/Moving_from_iptables_to_nftables)  
[netfilter/iptables project homepage - Documentation about the netfilter/iptables project](http://www.netfilter.org/documentation/)  
[Configuring tables - nftables wiki](https://wiki.nftables.org/wiki-nftables/index.php/Configuring_tables)  
[Home | firewalld](https://firewalld.org/)  
[Legacy xtables tools - nftables wiki](https://wiki.nftables.org/wiki-nftables/index.php/Legacy_xtables_tools)  
[Quick reference-nftables in 10 minutes - nftables wiki](https://wiki.nftables.org/wiki-nftables/index.php/Quick_reference-nftables_in_10_minutes)  
[Migrating my iptables setup to nftables - Red Hat Developer](https://developers.redhat.com/blog/2017/01/10/migrating-my-iptables-setup-to-nftables/)  
[Migrating Debian Buster from iptables to nftables - Gaelan Lloyd](https://www.gaelanlloyd.com/blog/migrating-debian-buster-from-iptables-to-nftables/)  
――――――――――

---

<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 14, 2022, 3:31 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/4 "2022-08-14T15:31:58Z")

</div>

Merci pour les liens, j’ai pu recréer proprement mes «&nbsp;rules&nbsp;» (et les retrouver au redémarrage !).

Car si j’ai bien compris, les commandes «&nbsp;`nft add ...`&nbsp;» sont dynamiques et perdues si l’on s’arrête là. Une fois les règles créées, il faut afficher les tables (nft list table …) puis en faire un copier/coller dans `/etc/nftables.conf` pour les retrouver au prochain redémarrage !

Mais hélas mon problème de virtual network qui ne démarre pas est réapparu, et mes VMs ne démarrent plus.  
Il semble bien qu’il y ait un problème entre libvirt et un système qui n’utilise que nftables : j’ai enfin trouvé une [page qui évoque ce problème](https://forums.rockylinux.org/t/libvirtd-fails-to-bring-up-default-network/5629).

Le contournement serait de ne pas utiliser le réseau virtuel créé par libvirt :  
`$ sudo virsh net-autostart --network default --disable`  
(voir le supprimer `$ sudo virsh net-destroy default`)  
pour ensuite utiliser des «&nbsp;bridge network&nbsp;» dans les VMs qui ne n’ajoutent pas de règles.

Voilà j’en suis là, je regarde comment créer cette interface réseau de type bridge dans mes VMs… Finalement ce ne sera pas plus mal qu’une interface de type NAT, où l’on est toujours embêté pour les accès aux machines du LAN…

---

<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 14, 2022, 4:37 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/5 "2022-08-14T16:37:44Z")

</div>

Ton problème de compatibilité ‹&nbsp;nftables / virtual network&nbsp;› est pointu, et comme je ne peux pas expérimenter, je ne sais pas. A creuser.

> [@pled](#):
>
> Car si j’ai bien compris, les commandes « `nft add ...` » sont dynamiques et perdues si l’on s’arrête là. Une fois les règles créées, il faut afficher les tables (nft list table …) puis en faire un copier/coller dans `/etc/nftables.conf` pour les retrouver au prochain redémarrage !

Ça par contre, un peu étrange.  
Mon fichier `/etc/nftables.conf` ne bouge pas, heureusement.  
A moins que tu évoques quelque-chose de spécifiquement relatif à la virtualisation.  
Tu ne commences pas par le plus simple…  
D’abord commencer par résoudre «&nbsp;_le problème de virtual network qui ne démarre pas est réapparu_&nbsp;».

---

<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 15, 2022, 8:38 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/6 "2022-08-15T08:38:43Z")

</div>

Pour le virtual network , je me demande si le message d’erreur est parlant, j’ai bien peur que cela n’ait rien à voir avec iptables…  
Mais concernant nftables, voilà ce que je fais et constate. Je crée une table, une chain et une règle comme le dit la documentation :

```
$ sudo nft add table inet incoming-traffic
$ sudo nft add chain inet incoming-traffic management
$ sudo nft add rule inet incoming-traffic management tcp dport 22`

```

À ce stade, je peux visualiser la table et la règle.

```
$ sudo nft list tables
table inet filter
table inet incoming-traffic
$ sudo nft list table inet incoming-traffic
table inet incoming-traffic {
	chain management {
		tcp dport 22
	}
}

```

Et je redémarre. Et la table a disparu, je me retrouve avec la table par défaut (qui correspond au contenu du fichier /etc/nftables.conf :

```
$ sudo nft list tables
table inet filter
$ sudo nft list table inet filter
table inet filter {
	chain input {
		type filter hook input priority filter; policy accept;
	}

	chain forward {
		type filter hook forward priority filter; policy accept;
	}

	chain output {
		type filter hook output priority filter; policy accept;
	}
}

```

Donc je ne sais pas ce que je loupe, mais la seule manière que j’ai trouvé de conserver mes tables/chain/règles, c’est de les ajouter au fichier `/etc/nftables.conf`dont je lis d’ailleurs qu’il contient la configuration de nftables dans la page wiki de debian : "By default, rules are located in `/etc/nftables.conf`".

---

<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 15, 2022, 10:01 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/7 "2022-08-15T10:01:47Z")

</div>

Ça fait des années que je suis passé à nftables, et n’y touche plus.  
Juste un petit check de temps en temps:  
`sudo nft list ruleset`

Je crois me souvenir d’une subtilité liée à ta question, mais ça ne me revient pas pour le moment.

quelques vérifs, ça ne mange pas de pain:

`systemctl list-unit-files |grep table`

`grep Exec /etc/systemd/system/sysinit.target.wants/nftables.service`

Pour essai, tu peux mettre tes règles supplémentaires dans un fichier `/etc/nftables.rules`, et ajouter à `/etc/nftables.conf`

`include "/etc/nftables.rules"`

---

<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 16, 2022, 9:41 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/8 "2022-08-16T09:41:12Z")

</div>

Bon, j’avance !

J’ai pu réactiver le réseau virtuel en réinstallant iptables (+reboot, ce que je n’avais pas fait la dernière fois). Donc mes VMs démarrent, tout va bien.

Mais du coup je ne sais plus trop où j’en suis côté iptables. Le service n’existe pas :

```
$ sudo systemctl status iptables.service 
Unit iptables.service could not be found.

```

Mais je vois les rules sans doute crées par libvirt lors de l’activation du réseau : sur un `sudo iptables -L`, je vois plein de rules à propos de LIBVIRT\_ INP, ou LIBVIRT\_FWX, etc…  
Et quand je tape `sudo nft list tables`, je vois d’autres tables que la mienne qui ont été ajoutées :

```
$ sudo nft list tables
table inet filter
table inet incoming-traffic
table ip filter
table ip nat
table ip mangle
table ip6 filter
table ip6 nat
table ip6 mangle

```

Que faut-il en conclure ?

- Je pense que ces tables «&nbsp;ip filter&nbsp;», «&nbsp;ip nat&nbsp;», «&nbsp;ip mangle&nbsp;», «&nbsp;ip6 filter&nbsp;», «&nbsp;ip6 nat&nbsp;», «&nbsp;ip6 mangle&nbsp;» ont été ajoutées par libvirt.
- Mais que seul nftables gère désormais le firewall.
- Et éventuellement une dépendance de libvirt sur iptables ! 😉

Tu confirmes ?  
Merci de ton aide.

---

<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 16, 2022, 10:56 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/9 "2022-08-16T10:56:34Z")

</div>

`systemctl list-unit-files |grep table`  
Si cette commande ne t’a rien retourné, ce n’est pas normal.

> [@pled](#):
>
> sudo systemctl status iptables.service  
> sudo iptables -L  
> Mais du coup je ne sais plus trop où j’en suis côté iptables. Le service n’existe pas .

C’est bien exactement pour cette raison qu’il n’est pas souhaitable de mélanger iptables et nftables, point développé [ici](https://www.debian-fr.org/t/serveur-debian-pare-feu/86913/12) .

Iptables n’est pas géré par systemctl  
`dpkg -L iptables`

Tu demandes de confirmer de multiples points simultanément.  
Déjà, je te confirme que libvirt0 ne dépend pas d’iptables.

libvirt0 Depends:  
` libacl1 libapparmor1 libaudit1 libc6 libcap-ng0 libcurl3-gnutls libgcc-s1 libglib2.0-0 libgnutls30 libnl-3-200 libnuma1 libsasl2-2 libselinux1 libssh-4 libssh2-1 libtirpc3 libxml2 libyajl2`

Pour savoir pourquoi tu aurais besoin d’iptables, c’est très simple: simule sa suppression !  
`sudo apt remove -s iptables`

---

<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 16, 2022, 12:09 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/10 "2022-08-16T12:09:06Z")

</div>

```
$ sudo systemctl list-unit-files |grep table
dbus-org.freedesktop.portable1.service alias -
nftables.service enabled enabled
systemd-portabled.service static -

```

Je me suis mal exprimé en parlant de dépendances. Le binaire n’a pas de dépendances, ok, mais de ce que je comprend de mon problème, c’est qu’en utilisant la commande virsh pour activer le réseau virtuel créé, si iptables n’est pas présent sur le système, cela ne fonctionne pas.

Je ne vois pas ce que je pourrais conclure d’autre, et en l’état, je suis bien obligé d’avoir à la fois iptables et nftables d’installés si je veux pouvoir utiliser mes VMs.

J’essaierai de voir si je peux reproduire le problème sur une autre machine. Pour l’instant je reste comme ça, je n’ai pas vraiment d’autre solution.

---

<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 16, 2022, 12:25 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/11 "2022-08-16T12:25:12Z")

</div>

`libvirt-clients: /usr/bin/virsh`

libvirt-clients / Depends:  
` libvirt0 sensible-utils libc6 libgcc-s1 libglib2.0-0 libgnutls30 libreadline8 libxml2`

Re …: que dit ceci  
`sudo apt remove -s iptables`

---

<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 16, 2022, 2:46 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/12 "2022-08-16T14:46:06Z")

</div>

```
$ sudo apt remove -s iptables
 Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
  libip6tc2
Veuillez utiliser « sudo apt autoremove » pour le supprimer.
Les paquets suivants seront ENLEVÉS :
  iptables
0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à jour.
Remv iptables [1.8.8-1]
```

---

<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 16, 2022, 3:01 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/13 "2022-08-16T15:01:22Z")

</div>

Tu n’as donc aucune dépendance inverse d’iptables.  
Qu’est-ce qui t’empêche de l’enlever ?

---

<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 16, 2022, 4:25 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/14 "2022-08-16T16:25:34Z")

</div>

Alors je le refais…

```
$ sudo virsh net-list --all
[sudo] Mot de passe de pascal : 
 Nom État Démarrage automatique Persistent
-------------------------------------------------------
 default actif Oui Oui

```

Et je vire iptables :

`$ sudo apt remove iptables`

Et je redémarre.

```
$ 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

```

Voilà, CQFD ! Et au passage :

```
$ sudo nft list tables
table inet filter
table inet incoming-traffic

```

Ma liste de tables de nftables est revenue à ce que j’avais fait : le défaut plus le include pour «&nbsp;incoming-traffic&nbsp;».

---

<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 16, 2022, 4:37 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/15 "2022-08-16T16:37:57Z")

</div>

Il faut donc purger/nettoyer tes configurations, et repartir sur du propre.  
Ça m’étonnerait qu’il y ait une erreur de dépendance de tes paquets ‹&nbsp;virsh\*\*&nbsp;›, à moins que tu pointes un bug de dépendance.

Que dit ceci:  
`ldd /usr/bin/virsh`

---

<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 16, 2022, 4:51 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/16 "2022-08-16T16:51:31Z")

</div>

Je t’ai mis ça sur [pastebin](https://pastebin.com/RCfCBh5F).

Ce matin, j’avais mis les logs à debug pour libvirtd, du coup je t’ai mis le ldd de libvirtd aussi, car dans les logs, je voyais :

```
août 16 10:21:02 Ryzen7-5700G libvirtd[12015]: OBJECT_NEW: obj=0x7fcee02e40d0 classname=virMacMap
août 16 10:21:02 Ryzen7-5700G NetworkManager[882]: <info> [1660638062.5325] manager: (virbr0): new Bridge device (/org/freedesktop/NetworkManager/Devices/14)
août 16 10:21:02 Ryzen7-5700G libvirtd[12015]: Starting transaction for firewall=0x7fcf100045a0 group=0x7fcf10005400 flags=0x0
août 16 10:21:02 Ryzen7-5700G libvirtd[12015]: Applying rule '/usr/sbin/iptables -w --table filter --list-rules'
août 16 10:21:02 Ryzen7-5700G libvirtd[12015]: 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

```

On voit libvirtd, et juste avant NetworkManager.  
Du coup je me demande si ce n’est pas network-manager qui cause problème : il «&nbsp;suggère&nbsp;» iptables…

```
$ sudo apt-cache depends network-manager
network-manager
  Dépend: libaudit1
  Dépend: libbluetooth3
  Dépend: libc6
  Dépend: libcurl3-gnutls
  Dépend: libglib2.0-0
  Dépend: libgnutls30
  Dépend: libjansson4
  Dépend: libmm-glib0
  Dépend: libndp0
  Dépend: libnewt0.52
  Dépend: libnm0
  Dépend: libpsl5
  Dépend: libreadline8
  Dépend: libselinux1
  Dépend: libsystemd0
    libelogind0
  Dépend: libteamdctl0
  Dépend: libudev1
  Dépend: dbus
  Dépend: udev
  Dépend: adduser
  Dépend: policykit-1
  Casse: ppp
  Casse: ppp
  Recommande: ppp
  Recommande: dnsmasq-base
    dnsmasq-base-lua
  Recommande: modemmanager
  Recommande: wireless-regdb
  Recommande: wpasupplicant
  Recommande: libpam-systemd
  Suggère: libteam-utils
  Suggère: iptables
```

---

<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 16, 2022, 5:56 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/17 "2022-08-16T17:56:47Z")

</div>

Pas besoin d’une si longue liste pour N-M.  
Network-manager ne dépend pas, mais **Suggère** : iptables, comme il pourrait suggérer nftables, c’est-à-dire suggère un firewall.  
Tu ne pourrais pas enlever un paquet qui dépendrait d’iptables, sans supprimer iptables.  
Toujours pas d’iptables.  
Que dit ceci:

`sudo grep -r '/usr/sbin/iptables' /etc/`

`dpkg -l |awk '$2 ~ /tables|qemu|fail|fire/ {print $1,$2}'`

---

<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, 9:30 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/18 "2022-08-17T09:30:28Z")

</div>

Tout s’éclaire ! Avant-hier, en désespoir de cause, j’avais envoyé un mail à la mailing list support user de libvirt (chez redhat en fait). Et j’ai eu la réponse hier soir.

Il y a bien une dépendance entre `libvirt` et `iptables`. Sur Debian, elle se trouve dans le paquet `libvirt-daemon-system`. D’après le type, si debian te laisse retirer `iptables` sans te prévenir, il s’agit d’un bug.

@Verner : je vais t’envoyer la réponse complète en MP, c’est très intéressant.

Maintenant, je me demande s’il ne faudrait pas créer un bug dans bookworm à ce sujet ? JE ne l’ai jamais fait, je ne sais même si j’ai le droit de le faire ?

---

<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, 11:20 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/19 "2022-08-17T11:20:18Z")

</div>

Avant de parler de «&nbsp;bug&nbsp;», même si ça restait une hypothèse, il faut être prudent.

**libvirt-daemon-system** Depends:

```auto
iptables | firewalld, 
libvirt-daemon-system-systemd | libvirt-daemon-system-sysv,
adduser, gettext-base, libvirt-clients, libvirt-daemon, 
libvirt-daemon-config-network, libvirt-daemon-config-nwfilter, 
debconf, logrotate, policykit-1

```

»»» iptables **ou** firewalld  
Tu peux donc installer firewalld au lieu d’iptables, pour réellement éviter iptables.

▸▸ Le point qui m’échappe dans ce que je t’ai demandé, c’est comment tu peux supprimer iptables, sans supprimer **libvirt-daemon-system**. Pas normal.

Maintenant, quand je donne des commandes, ce n’est pas juste pour faire joli, j’aime bien voir le retour, sans avoir à redemander. C’est vous qui voyez.

---

<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, 11:52 UTC](https://www.debian-fr.org/t/probleme-libvirt-avec-nftables-erreur-sur-iptables-au-demarrage-du-reseau/86948/20 "2022-08-17T11:52:35Z")

</div>

Désolé, je n’ai pas renvoyé le retour des commandes parce que je croyais le problème identifié avec la réponse du support libvirt.

Le voilà :

```
$ sudo grep -r '/usr/sbin/iptables' /etc/
$ dpkg -l |awk '$2 ~ /tables|qemu|fail|fire/ {print $1,$2}'
ii firefox-esr
ii firefox-esr-l10n-fr
ii firewalld
ii iptables
ii ipxe-qemu
ii libnftables1:amd64
ii libvirt-daemon-driver-qemu
ii libxtables12:amd64
ii nftables
ii python3-firewall
ii python3-nftables
ii qemu-block-extra
ii qemu-efi-aarch64
ii qemu-efi-arm
ii qemu-system
ii qemu-system-arm
ii qemu-system-common
ii qemu-system-data
ii qemu-system-gui
ii qemu-system-mips
ii qemu-system-misc
ii qemu-system-ppc
ii qemu-system-sparc
ii qemu-system-x86
ii qemu-utils

```

Par ailleurs, le paquet `firewalld` est bien installé sur le système (même si le service est ‹&nbsp;disabled&nbsp;›).

Enfin, pour t’enlever tes doutes (!) … après c’est bookworm (testing), il peut y avoir des bugs, ce n’est pas un scandale :

```
$ sudo apt policy iptables
iptables:
  Installé : 1.8.8-1
  Candidat : 1.8.8-1
 Table de version :
 *** 1.8.8-1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status

$ sudo apt policy libvirt-daemon-system
libvirt-daemon-system:
  Installé : 8.5.0-1
  Candidat : 8.5.0-1
 Table de version :
 *** 8.5.0-1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status

$ sudo apt remove iptables
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
  libip6tc2
Veuillez utiliser « sudo apt autoremove » pour le supprimer.
Les paquets suivants seront ENLEVÉS :
  iptables
0 mis à jour, 0 nouvellement installés, 1 à enlever et 153 non mis à jour.
Après cette opération, 2 536 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] o
(Lecture de la base de données... 226007 fichiers et répertoires déjà installés.
)
Suppression de iptables (1.8.8-1) ...
Traitement des actions différées (« triggers ») pour man-db (2.10.2-1) ...

$ sudo apt policy libvirt-daemon-system
libvirt-daemon-system:
  Installé : 8.5.0-1
  Candidat : 8.5.0-1
 Table de version :
 *** 8.5.0-1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
$ sudo apt policy iptables
iptables:
  Installé : (aucun)
  Candidat : 1.8.8-1
 Table de version :
     1.8.8-1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
```

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