Bridge interface in Arch Linux

Bridging a interface has some advantages. When using KVM as a virtual environment you may want or must use a bridged interface.
VirtualBox has this feature already built in. But using something like virt-manager (libvirt) you have to set it up yourself.
This differs a little from doing it on Ubuntu, we need to do this by using netctl instead.

Note: I have done this on Arch Linux without removing or disabling the NetworkManager package towards what we had to do on Ubuntu.
I’m running Arch Linux with Cinnamon (DE) installed, therefor I can’t remove NetworkManager.

The first thing we have to do is copy an example profile for netctl, we do this by typing the following:

sudo cp /etc/netctl/examples/bridge /etc/netctl/bridge

Then we have to edit the profile by opening the file with a editor:

sudo vim /etc/netctl/bridge

Then we have to edit the file to our liking, mine looks like following:

Description="Example Bridge connection"
## Ignore (R)STP and immediately activate the bridge

The important thing to change here is the BindsToInterfaces option. My default NIC interface is eno1 and therefor i’m bridging that interface.
Note: The nic interafaces on Arch Linux differs very much from system to system, so you have to check what your NIC interface name is.
We can do that by simply issuing the ip addr command.

After we have edited the file to our liking we have to save it (:wq for vim).

Next we have to disable the dhcpcd service. We do this by issuing the following command:

sudo systemctl disable dhcpcd.service

After we have done that we are going to try our newly created netctl (bridge) profile. We do this by typing the following:

sudo netctl start bridge

After we have done this we can check if the interface is up and running by typing ip addr.
As you can see from my screenshot a new interface by the name br0 has been created and has a ip address. We can also seed that our old
interface (eno1 in my case) is inactive.

Finally to make our bridge start on boot we issue the following command:

sudo netctl enable bridge

This creates and enables a systemd service.
After this everything is done and you have a bridged interface!


Leave a Reply

Your email address will not be published. Required fields are marked *