network bridging
configurationoperating_systemslinuxnetwork-bridging

One major case in which you want network bridging is when using virtualization. Because it allows you to expose your virtual machines to the rest of the network as if they were physically there. One limitation I found is that the bridge cannot be configured to have an own ip address. This justified using network bonding even less in my case, but read on!

NetworkManager

Current versions of Network Manager let you configure bridges with the mouse, but they ain't well pre configured and you have to manually disable dhcp on the bridge.

netctl

Another possibility is using netctl which is believed to be more stable on servers. A sample configration file might be provided as /etc/netctl/examples/bridge. At least that is the path where I took this one from:

/etc/netctl/bridge

Description="Bridge for the guest machines"
Interface=br0
Connection=bridge
BindsToInterfaces='enp1s0'
IP=no
#PRE_UP='ip link set dev enp1s0 address 13:37:13:37:13:37'
## Ignore (R)STP and immediately activate the bridge
#SkipForwardingDelay=yes

Notice, that I set IP=no and filled BindToInterfaces with the name of one of the interfaces from the output of ifconfig to keep this short. Having a second network card installed that can be used to acces the host from the network. I have done it like this:

/etc/netctl/enp2s0-dhcp

Description='A basic dhcp ethernet connection'
Interface=enp2s0
Connection=ethernet
IP=dhcp
## for DHCPv6
#IP6=dhcp
## for IPv6 autoconfiguration
#IP6=stateless

bonding with bridges failed

I tried bonding the two interfaces together but got strange errors in the syslog telling me about some packages received by the same interface sending them. After some googeling it seems as if this is caused by a bonding mode which does not support bridging. Some bonding modes can only be used together with a switch supporting them, so you can only use some modes if you own the right hardware.

further reading

linuxmuster.net (german)

top