Bridge with netctl

From ArchWiki
Revision as of 17:15, 17 December 2012 by Chrisl (talk | contribs) (Adding an explanation about what is a bridge)
Jump to: navigation, search

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 existance). Real devices (like eth ones) and virtual devices (like tap ones) can be connected to it.

This article explains how to create a bridge that contains at least a ethernet device. This is useful for things like the bridge mode of qemu, setting a software based access point, etc.


Install the netcfg package from the official repositories.


  • Enable the bridge module:
# modprobe bridge

And to make it permanent, add it to your /etc/modules-load.d:

echo bridge>/etc/modules-load.d/bridge.conf
  • Create a bridge called br0 to have, at least, your real Ethernet adapter (assuming eth0):

#Uncomment this fields as necessary if you are using a static ip instead

# Add your network adapter(s) here, separated by spaces.

If you are using an static ip, also edit /etc/resolv.conf as necessary.

  • If eth0 had dhcpcd enabled, disable and stop it:
# systemctl stop dhcpcd@eth0.service
# systemctl disable dhcpcd@eth0.service
  • Then enable and start your br0 bridge:
# systemctl start netcfg@bridge.service
# systemctl enable netcfg@bridge.service

Tips and Tricks

Manually adding/removing network devices

Install the bridge-utils package from the official repositories.

It provides brctl, to manipulate bridges. You can use it to add a device, like this:

# brctl addif br0 eth1

Read the manual for more info: man brctl