A single Gigabit network connection caps out at roughly 125MB/s, a real bottleneck when transferring large files to a NAS or moving VM backups between hosts. Network bonding (also called link aggregation) combines multiple physical network connections into one logical link, significantly increasing available throughput without needing to upgrade to more expensive 2.5GbE or 10GbE hardware.
What Is Network Bonding?
Network bonding combines two or more physical network interfaces into a single logical interface that the operating system treats as one connection, distributing traffic across the underlying physical links according to a chosen bonding mode. Done correctly, this can significantly increase total available bandwidth or provide redundancy if one physical link fails.
Requirements for Bonding
- A managed switch supporting link aggregation (specifically 802.3ad/LACP) — bonding generally requires switch-side cooperation to work correctly, not just configuration on the server end
- Multiple network ports on the server you’re bonding, connected to LACP-configured ports on the same switch
- Matching bonding mode configuration between the server and switch
Common Bonding Modes
- 802.3ad (LACP) – the standard, switch-cooperative mode providing both increased aggregate throughput and failover redundancy; requires explicit switch-side configuration
- Active-Backup – simpler redundancy-focused mode where one link is active and the other sits idle as a failover, without requiring any special switch configuration, but without the throughput benefits of true aggregation
- Balance-RR (Round Robin) – distributes packets across links in sequence; works without switch cooperation but can cause out-of-order packet delivery issues with some applications
For most homelab setups seeking a real throughput increase, 802.3ad (LACP) is the mode to aim for, provided your switch supports it.
Configuring the Switch Side
On your managed switch’s admin interface, create a Link Aggregation Group (LAG), assigning the specific physical ports connected to your server, and set the LAG’s mode to LACP (rather than static aggregation, which lacks LACP’s negotiation and failure detection).
Configuring Bonding on Proxmox
Proxmox makes bonding configuration straightforward directly through its network settings:
- Go to your node’s System → Network.
- Click Create → Linux Bond.
- Select the physical network interfaces you want to include in the bond (e.g.,
eth0andeth1). - Set Mode to
802.3ad. - Set Hash Policy to
layer2+3for reasonably balanced traffic distribution across the bonded links. - Apply the configuration and reboot if prompted.
Configuring Bonding on Standalone Linux Servers
For a standalone Debian/Ubuntu server (outside Proxmox’s own network configuration UI), install the bonding kernel module and configure /etc/network/interfaces (or Netplan, depending on your distribution) to define the bond interface, specifying the same 802.3ad mode and constituent physical interfaces.
Verifying the Bond Is Working
cat /proc/net/bonding/bond0
This shows the bond’s current status, including which physical interfaces are active and the negotiated bonding mode, confirming both server and switch agree on the configuration.
Realistic Throughput Expectations
Bonding two Gigabit links doesn’t automatically double throughput for every single connection — a single file transfer between two devices typically still uses one physical link at a time under most hashing algorithms, since a single TCP stream generally isn’t split across multiple physical links simultaneously. The real benefit shows up when multiple simultaneous connections are active (several VMs or clients transferring data at once), where bonding effectively distributes that aggregate traffic across the combined links.
When Bonding Isn’t Worth the Complexity
If your actual bottleneck is a single large file transfer between two specific machines, upgrading to 2.5GbE hardware on just that specific connection is often a simpler, more directly effective solution than configuring bonding, which shines more in scenarios with many simultaneous connections rather than boosting a single transfer’s raw speed.
Final Thoughts
Setting up network bonding on compatible hardware gives your homelab significantly increased aggregate throughput and added redundancy without the cost of upgrading to faster networking standards outright. Understanding its realistic benefits — aggregate multi-connection throughput rather than automatically doubling every single transfer — helps set the right expectations before investing the time in configuring it.

Leave a Reply