Cannot start VM with error “no network with matching name ‘default'”

I update libvirt version and want to start VM with the new libvirt tools but I failed as follows.

> sudo virsh start kvm1
error: Failed to start domain kvm1
error: Network not found: no network with matching name 'default'

It seems that the default ‘virbr0’ is missing after I update libvirt so I solve this problem like following.

1, copy a ‘virtbr0’ config file from another server with same configuration.

$ sudo virsh net-dumpxml default
<network>
  <name>default</name>
  <uuid>afd4e923-66cb-45ca-9120-1e46e72899a3</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

2, remove the uuid in above configuration file and create it in the problem server.

# virsh net-create default.xml

3, Check the virtual bridge in the problem server.

# virsh net-list
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     no            no

Now, everything goes well.

You may also happen to following problem when you want to start default.

# virsh net-create ./default.xml 
error: Failed to create network from ./default.xml
error: internal error: Failed to initialize a valid firewall backend

Do following to solve it:

# apt-get install firewalld
# apt-get install ebtables
# apt-get install iptables
# /etc/init.d/libvirt-bin restart

The last step is to restart libvirtd.

References:
[1] http://unix.stackexchange.com/questions/8351/how-to-create-a-dupe-of-a-kvm-libvirt-virt-manager-vm/33584#33584
[2] http://libvirt.org/sources/virshcmdref/html/sect-net-create.html
[3] https://bbs.archlinux.org/viewtopic.php?id=198744


Leave a Reply

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