Skip to main content
RunBook Academy

← All labs in Proxmox VE

Lab · foundation · ~45 min

Configure bond + VLAN + bridge for VM traffic

A · Physical hardwareB · Nested virtualisationC · Simulation

Objectives

  • Create an LACP bond across two physical NICs
  • Create a VLAN-aware bridge on top of the bond
  • Verify the configuration with iperf and ping across the L2 domain

Prerequisites

  • A Proxmox host with at least two physical NICs (or two virtual NICs in nested)
  • A switch configured for LACP on the corresponding ports
  • A second host reachable via the same VLAN trunk

Configure bond + VLAN + bridge

This lab builds the standard production networking stack: LACP bond under a VLAN-aware bridge.

Steps

1. Inspect current state

ip link show
cat /etc/network/interfaces

2. Configure the bond

Replace /etc/network/interfaces with:

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet manual

auto eno2
iface eno2 inet manual

auto bond0
iface bond0 inet manual
  bond-slaves eno1 eno2
  bond-miimon 100
  bond-mode 802.3ad
  bond-xmit-hash-policy layer3+4

auto vmbr0
iface vmbr0 inet static
  address 10.0.0.11/24
  gateway 10.0.0.1
  bridge-ports bond0
  bridge-vlan-aware yes
  bridge-vids 10 20 30
  bridge-stp off

Reload:

ifreload -a

3. Configure the upstream switch

On your switch, enable LACP on the corresponding ports. The exact syntax depends on the vendor:

  • Cisco: channel-group 1 mode active
  • Arista: channel-group 1 mode active
  • Juniper: set interfaces ge-0/0/X ether-options 802.3ad ae0
  • Linux bridge peer: same bond-mode 802.3ad on the other side

4. Verify the bond

cat /proc/net/bonding/bond0
# Look for "MII Status: up" on both slaves and "Partner Mac Address" set

5. Verify VLAN forwarding

bridge vlan show
# Should show vmbr0 with vid 10, 20, 30 listed

6. Test throughput

On a second host on the same L2:

iperf3 -s              # Server
iperf3 -c 10.0.0.11    # Client

You should see aggregate throughput close to the sum of both NICs.

Verification

  • cat /proc/net/bonding/bond0 shows both slaves active and aggregated
  • A VM using vmbr0 with tag=20 reaches the gateway at 10.0.0.1
  • iperf3 reports near line-rate on the bond
  • No errors on the switch ports (no dropped LACP PDUs)

Cleanup

Restore the previous /etc/network/interfaces or remove the bond with:

ifdown vmbr0
ifdown bond0

Deliverables

  • · Working bond0 with LACP active on both peers
  • · A vmbr0 with VLAN awareness enabled
  • · iperf3 throughput showing ~2x the single-NIC rate

Verification status

Executed end to end
not yet run on hardware

The commands and configuration here have been reviewed against the verified software versions, but nobody has run this lab start to finish on a system meeting its prerequisites. Treat the Expected Outcome as the intended result rather than an observed one, and keep the Cleanup section to hand.