How to disaggregate network interfaces on a Proxmox server

This article covers the steps for link disaggregation on a Proxmox server. The process consists of actions performed both on the Proxmox server side and on the network switch side.

Link disaggregation (splitting a bonded/LACP interface back into individual interfaces) may be needed when you want to assign separate network interfaces to different VMs or services rather than having them share a bond.

Prerequisites

  • Access to the Proxmox web interface and the host shell.
  • Access to the network switch configuration.
  • A maintenance window — network will be briefly interrupted.

Step 1: Note current network configuration

Log in to the Proxmox shell and inspect the current interface config:

cat /etc/network/interfaces
ip link show

Note which physical interfaces are part of the current bond (e.g., bond0 using eno1 and eno2).

Step 2: Reconfigure the switch port

On the switch, change the port configuration from LACP/802.3ad (trunk) to individual access ports. The exact steps depend on your switch vendor — consult the switch documentation.

Step 3: Update /etc/network/interfaces on Proxmox

Remove or comment out the bond configuration and define each interface separately. Example — original bond config:

auto bond0
iface bond0 inet manual
    bond-slaves eno1 eno2
    bond-mode 802.3ad

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0

Disaggregated config:

auto eno1
iface eno1 inet manual

auto eno2
iface eno2 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

auto vmbr1
iface vmbr1 inet manual
    bridge-ports eno2
    bridge-stp off
    bridge-fd 0

Step 4: Apply the new configuration

From the Proxmox web UI, go to Node → Network and click Apply Configuration. Alternatively, from the shell (expect a brief reconnection):

sudo ifreload -a

Step 5: Verify

Confirm both interfaces are up and the bond is gone:

ip link show
brctl show

Assign vmbr1 to any VMs or services that should use the second physical interface.

On this page