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.