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.

5 Answers 5


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.

  • thanks for the quick response. Do you know how i can change the address that was assigned by default?
    – user125242
    Jan 22, 2013 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, 2013 at 22:14
  • 8
    You may need to run sudo ip link set dev virbr0 down first to disable the interface. Thanks +1
    – Wilf
    Jul 15, 2015 at 19:16
  • 1
    What if it just started showing up out of the blue?
    – KI4JGT
    Nov 18, 2015 at 17:54
  • How to make sure that nothing depends in it? Aug 29, 2018 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

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


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
  • How is this different from this answer? Oct 16, 2017 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, 2017 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 Oct 17, 2017 at 16:01

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .