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 is 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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *