Debian network bridge stopped working

Etienne asked:

I’m using Debian Stretch and QEMU / virtmanager to run virtual machine.

To give the virtual machine a network, I created a bridged like so

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug enp0s31f6
iface enp0s31f6 inet dhcp

auto br0
iface br0 inet dhcp
    bridge_ports enp0s31f6
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

And if I do sudo brctl show, I get this output:

bridge name bridge id       STP enabled interfaces
br-8f628d520873     8000.02420f53b652   no      
br0     8000.107b4448e7e1   no      enp0s31f6
docker0     8000.0242be3984ff   no      

enp0s31f6 is my main port, and is currently working fine.
All my vm are connected to br0, but a while ago, they all stopped working at the same time. I try to reboot the network and the computer, but nothing worked.

And if I do ip route show I get

default via dev br0 dev docker0 proto kernel scope link src linkdown dev br-8f628d520873 proto kernel scope link src linkdown dev br0 proto kernel scope link src 

Around the same time, I know I did 2 things that could have impacted the bridge.

On my router, I created some static ip, but since then, I disabled them and rebooted the whole network.

Also, on my computer, I installed docker, but currently there are no docker running on my computer.

So those are my theory… Maybe those 2 things have nothing to do with the real problem.

I would appreciate if anybody could point me to a possible solution.

My answer:

Your /etc/network/interfaces file attempts to start IP on one of the bridge ports individually. This will not work. IP should only be started on the bridge itself.

So, you should remove that bit (which was probably left over from before you converted to a bridge):

iface enp0s31f6 inet dhcp

View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.