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 « | » 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 (« libvirt still uses iptables to add its rules »). Et donc avec simplement firewalld
, impossible de créer les règles pour le firewall.