Network bonding (also called NIC teaming) combines multiple network interfaces into a single logical interface for redundancy, failover, or increased bandwidth. This is primarily useful on dedicated servers with multiple NICs.
Bonding Modes
# Mode 0 (balance-rr) — Round-robin, load balancing
# Mode 1 (active-backup) — Active/standby failover (most common for servers)
# Mode 2 (balance-xor) — XOR-based load balancing
# Mode 3 (broadcast) — Sends on all interfaces
# Mode 4 (802.3ad) — LACP, requires switch support
# Mode 5 (balance-tlb) — Adaptive transmit load balancing
# Mode 6 (balance-alb) — Adaptive load balancing (no switch config needed)Setting Up Active-Backup Bond (Netplan)
# /etc/netplan/01-bonding.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: false
eth1:
dhcp4: false
bonds:
bond0:
interfaces:
- eth0
- eth1
addresses:
- 198.48.63.50/27
routes:
- to: default
via: 198.48.63.33
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
parameters:
mode: active-backup
primary: eth0
mii-monitoring-interval: 100
sudo netplan applyMonitoring Bond Status
# Check bond status
cat /proc/net/bonding/bond0
# Shows:
# Bonding Mode: fault-tolerance (active-backup)
# Currently Active Slave: eth0
# Slave Interface: eth0 (Status: up)
# Slave Interface: eth1 (Status: up)
# Quick status
ip addr show bond0Testing Failover
# Simulate a link failure
sudo ip link set eth0 down
cat /proc/net/bonding/bond0
# Should show eth1 as the active slave
# Restore
sudo ip link set eth0 up
# eth0 becomes active again (if primary is set)