virbr0    Link encap:Ethernet  HWaddr a2:17:ea:e3:47:7e  
      inet addr:  Bcast:  Mask:
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

can anyone tell me what this interface does and how I can change the IP address? I want to see if it is the reason my guests cannot connect.


The virbr0, or "Virtual Bridge 0" interface is used for NAT (Network Address Translation). It is provided by the libvirt library, and virtual environments sometimes use it to connect to the outside network.

It was likely bundles with a VM software you installed at some point. If you'd like to remove it, and you're sure nothing else depends on it, you can use the following command:

sudo brctl delbr virbr0

(from UbuntuForums)

It is unlikely that the virtual bridge is affecting your guests' ability to connect to the Internet, though.

| improve this answer | |
  • thanks for the quick response. Do you know how i can change the address that was assigned by default? – user125242 Jan 22 '13 at 22:11
  • it looks like my guests are being assigned to the virbr0 bridge even though the ip is in a different range and I can not assign the interface to br0. – user125242 Jan 22 '13 at 22:14
  • 6
    You may need to run sudo ip link set dev virbr0 down first to disable the interface. Thanks +1 – Wilf Jul 15 '15 at 19:16
  • 1
    What if it just started showing up out of the blue? – KI4JGT Nov 18 '15 at 17:54
  • How to make sure that nothing depends in it? – anatoly techtonik Aug 29 '18 at 1:44

If you are unable to connect to the internet due to "vibr0" interface then follow the commands below

virsh net-destroy default
virsh net-undefine default
service libvirtd restart
| improve this answer | |

For changing the ip address of virbr0 under ubuntu 12.04

sudo cp /var/lib/libvirt/network/default.xml /tmp/default.xml
sudo vi /tmp/default.xml # edit the ip address
sudo virsh net-destroy default
sudo virsh net-undefine default
sudo virsh net-define /tmp/default.xml
sudo virsh net-start default

You could refer to: http://wiki.libvirt.org/page/Networking

| improve this answer | |

I am using virtualbox 5.2.28 on ubuntu-16.04 and the config file is in /var/lib/libvirt/dnsmasq/default.conf

maybe you can always check the conf file location by checking the cmdline of the dnsmasq process.

To check the process number, port, and name.

sudo netstat -plant

To check the cmdline and find from where it loads the configuration file use

cat /proc/<PID>/cmdline
| improve this answer | |

My answer is a mix of previous answers, but that's how I could make it to work for me:

cp /var/lib/libvirt/network/default.xml /tmp/default.xml
vi /tmp/default.xml # edit the ip address
sudo virsh net-destroy default
sudo virsh net-undefine default   # needed to avoid errors below
sudo virsh net-define /tmp/default.xml
sudo virsh net-start default
rm /tmp/default.xml
| improve this answer | |
  • How is this different from this answer? – Mostafa Ahangarha Oct 16 '17 at 21:35
  • 2
    @MostafaAhangarha Without the undefine, the define command says it cannot create a new "default". It simply did not work for me. – Jonny Oct 16 '17 at 22:32
  • 1
    Then, please include this little but perhaps important piece of information. So, if in future anybody face with the same issue, knows how to solve it – Mostafa Ahangarha Oct 17 '17 at 16:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.