J'essaie de configurer un périphérique réseau virtuel NAT sans DHCP pour libvirt sur un hôte Arch Linux.
# virsh net-define network.xml
Network default defined from network.xml
[network.xml
]:
<network>
<name>default</name>
<bridge name="maas0" />
<forward mode="nat" />
<ip address="10.137.0.1" netmask="255.255.255.0" />
</network>
Parce qu’il produit ce qui suit au démarrage:
# virsh net-start default
error: Failed to start network default
error: internal error: Failed to initialize a valid firewall backend
Toutes les autres discussions concernant ce sujet parlent de la mise à niveau du logiciel - j'utilise les versions les plus récentes:
$ pacman -Q ebtables dnsmasq libvirt iptables
ebtables 2.0.10_4-5
dnsmasq 2.75-1
libvirt 1.3.3-1
iptables 1.4.21-3
Quelle pourrait être la raison de ce internal error
et que puis-je faire contre? ( Merci. )
L'installation de ebtables
, firewalld
et dnsmasq
semble résoudre le problème. N'oubliez pas de démarrer firewalld
et de redémarrer le service libvirtd
.
Les commandes:
Sudo pacman -Syu ebtables dnsmasq firewalld
Sudo systemctl start firewalld
Sudo systemctl enable firewalld
Sudo systemctl restart libvirtd
REMARQUE: n'oubliez pas de fermer et de rouvrir votre interface graphique virt-manager
(si vous en utilisez une).
C'est l'erreur qui survient si libvirtd a été démarré sans que ebtables
et/ou dnsmasq
soient installés. Si vous les avez installés et que vous rencontrez toujours ce problème, vous devrez probablement redémarrer le service libvirtd
:
Sudo systemctl restart libvirtd.service
Remerciez lescommentaires de l’autre réponse à cette question pour éclairer cette . Je le soumets en tant que nouvelle réponse distincte à la question initiale, car l'installation et le démarrage de firewalld
pour résoudre le problème initial est susceptible de provoquer de nouveaux problèmes : une fois que le démon de pare-feu est en cours d'exécution , y compris DHCP, sera bloqué par défaut , ce qui signifie que vos ordinateurs virtuels ne pourront pas accéder au réseau lors de l’initialisation.
J'ai perdu plus d'une heure de ma vie à essayer de détecter ce problème et le retrouver à un pare-feu que je venais d'activer était l'une des sources les plus stupides d'un bogue que je n'ai jamais exécuté dans. Ne laissez pas cela prendre tout le temps de à vous .