Bridge with netctl
A bridge is a piece of software used to unite two or more network segments. A bridge behaves like a virtual network switch, working transparently (the other machines don't need to know or care about its existence). Any real devices (e.g. eth0) and virtual devices (e.g. tap0) can be connected to it.
This article explains how to create a bridge that contains at least an ethernet device. This is useful for things like the bridge mode of QEMU, setting a software based access point, etc.
Contents |
Installation
Install the netctl package from the official repositories.
Install the bridge-utils package from the official repositories.
Configuration
- Copy
/etc/netctl/examples/bridgeto/etc/netctl/bridge. - In this example, we create a bridge called
br0which has real Ethernet adaptereth0and a tap devicetap0connected to it. Of course, editbr0,eth0andtap0to your needs.
/etc/netctl/bridge
Description="Example Bridge connection" Interface=br0 Connection=bridge BindsToInterfaces=(eth0 tap0) IP=dhcp
- You can bridge any combination of network devices editing
BindsToInterfacesoption. - If any of the bridged devices (e.g.
eth0,tap0) had dhcpcd enabled, disable and stop thedhcpcd@eth0.servicedaemon. Or setIP=noto the netctl profiles. - Finally, enable and start your
/etc/netctl/bridge.
Tips and tricks
Manually adding/removing network devices
The bridge-utils package provides tool brctl to manipulate bridges. You can use it to manually add or remove a device from a bridge:
# brctl addif br0 eth1 # brctl delif br0 eth0
See brctl(8)
Wireless interface on a bridge
To add a wireless interface to a bridge, you first have to assign the wireless interface to an access point or start an access point with hostapd. Otherwise the wireless interface won't be added to the bridge.