Create Linux Bridge on VLAN Interface in Debian 11/10
How can I create a Linux Bridge on Debian 10 / Debian 11 Linux system?. How can one create a Linux bridge on top of a VLAN interface in Debian / Ubuntu system?. Our recent article covered the creation of a VLAN interface on a Debian System. As a continuation, we show you how a Linux bridge can be created on top of a VLAN interface.
For those new to Linux networking, a Linux bridge behaves like a typical network switch. It forwards packets between interfaces connected to it. The most common use case is forwarding packets between Virtual Machines in a Virtualized Infrastructure. A Linux bridge also supports STP, VLAN filter, and multicast snooping.
Create Linux Bridge on Debian 10 | Debian 11
Before you can create bridge interfaces on Debian Linux you must install bridge-utils package:
sudo apt update
sudo apt install bridge-utils -yTo check active interfaces on your server run the command:
$ ip -f inet a s
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
6: eno1.100@eno1: mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 172.20.20.10/28 brd 172.20.20.15 scope global eno1.100
valid_lft forever preferred_lft forever
7: eno1.503@eno1: mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 172.20.25.10/24 brd 172.20.25.255 scope global eno1.503
valid_lft forever preferred_lft foreverBasic Example: Creating a Linux Bridge without VLAN
if you want to create a Linux bridge br1 on eno1 interface without any VLANs you’ll have settings like below.
$ sudo vim /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
#Bridge br1 network configurations
auto br1
iface br1 inet static
address 172.20.25.10
broadcast 172.20.25.255
netmask 255.255.255.0
gateway 172.20.25.1
bridge_ports eno1
bridge_stp off # disable Spanning Tree Protocol
bridge_waitport 0 # no delay before a port becomes available
bridge_fd 0 # no forwarding delayWhen using DHCP configurations will be modified to:
auto br1
# Bridge setup using DHCP
iface br1 inet dhcp
bridge_ports eno1Then restart the network-manager service:
sudo systemctl restart network-managerCheck service status:
systemctl status network-managerConfirm IP settings:
$ ip a s
$ ip rAdvanced Example: Creating Linux bridge on VLAN interface
Make sure the vlan package is installed on the system:
sudo apt install vlanIf the host is a hypervisor consider adding below sysctl configurations:
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.arp_filter=0" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.rp_filter=2" | sudo tee -a /etc/sysctl.confLoad configurations:
$ sudo sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.all.rp_filter = 2Then modify configurations accordingly:
$ sudo vim /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# eno1 interface
auto eno1
iface eno1 inet manual
# VLAN 100
auto eno1.100
iface eno1.100 inet manual
# VLAN 503
auto eno1.503
iface eno1.503 inet manual
# Bridge br0
auto br0
iface br0 inet static
bridge_ports eno1.100
bridge_stp off # disable Spanning Tree Protocol
bridge_waitport 0 # no delay before a port becomes available
bridge_fd 0 # no forwarding delay
address 172.21.200.2
netmask 255.255.255.0
gateway 172.21.200.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8 8.8.4.4
# Bridge br1
auto br1
iface br1 inet static
bridge_ports eno1.101
bridge_stp off # disable Spanning Tree Protocol
bridge_waitport 0 # no delay before a port becomes available
bridge_fd 0 # no forwarding delay
address 172.20.20.1
netmask 255.255.255.0Reboot the server:
sudo rebootCheck bridges created once the system is rebooted:
$ sudo brctl show
bridge name bridge id STP enabled interfaces
br0 8000.e0db55fe5b03 no eno1.100
br1 8000.e0db55fe5b03 no eno1.503You can also confirm IP configurations:
$ ip -f inet a s
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
8: br0: mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 172.21.200.2/29 brd 172.21.200.255 scope global br0
valid_lft forever preferred_lft forever
9: br1: mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 172.20.20.1/24 brd 172.20.20.255 scope global br1
valid_lft forever preferred_lft foreverYou should now be able to create Virtual Machines on the bridges created. The IP configurations used need to be modified to suit the settings in your environment.
https://www.computingpost.com/create-linux-bridge-on-vlan-interface-in-debian-11-10/?feed_id=10656&_unique_id=6344762f885fb
