How to fix “network ‘default' is not active” error in libvirt

Question: When I am trying to start a guest VM on QEMU/KVM via virt-manager, it fails to start with the error:
"Error starting domain: Requested operation is not valid: network 'default' is not active"
How can I fix this error?
When you install QEMU/KVM in Linux, the default NAT network is created automatically by libvirtd daemon. The properties of the default network are defined in the libvirt‘s default network template (located at /etc/libvirt/qemu/networks/default.xml). This default network is used to interconnect guest VMs’s virtual NICs in NAT mode. If, for whatever reason, the default network is deactivated, you won’t be able to start any guest VMs which are configured to use the network. When you check the state of existing networks, you will see inactive state for the default network.
$ sudo virsh net-list --all
Here we show how to solve the default network stuck in inactive state.

Solution One

Your first attempt can be simply trying to start the network with virsh.
$ sudo virsh net-start default
If you encounter the following error, go to the next solution.
internal error: Network is already in use by interface virbr0

Solution Two

Identify the name of the bridge associated with the default network. You can find out the bridge name in the default network template (/etc/libvirt/qemu/networks/default.xml). In most cases, the bridge name is virbr0. Remove that bridge as follows.
$ sudo ifconfig virbr0 down
$ sudo brctl delbr virbr0
Now start the default network using virsh command.
$ sudo virsh net-start default
This will automatically re-create the virbr0 bridge. Verify the state of the default network.
$ sudo virsh net-list --all
Related Posts
Leave a Reply

Your email address will not be published.Required fields are marked *