85
      virbr0    Link encap:Ethernet  HWaddr a2:17:ea:e3:47:7e  
      inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
      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.

ThrivingWithLinux
  • 1,072
  • 9
  • 12

6 Answers6

81

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.

Vdragon
  • 127
Travis G.
  • 1,887
14

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
ifconfig
A.B.
  • 92,125
faizan
  • 141
11

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

Harold
  • 103
1

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
alshaboti
  • 121
1

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
Jonny
  • 141
0

For anyone coming across this in 2025...everything is the same except for the first line, which is now:

cp /usr/share/libvirt/networks/default.xml /tmp/default.xml

and all together (minus the second line not needed):

cp /usr/share/libvirt/networks/default.xml /tmp/default.xml
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