Linux Network Bonding - ryzendew/Linux-Tips-and-Tricks GitHub Wiki
Linux Network Bonding Guide
Complete beginner-friendly guide to network bonding on Linux, covering Arch Linux, CachyOS, and other distributions including bond creation, bond modes, and bond configuration.
Table of Contents
Understanding Bonding
What is Bonding?
Network bonding combines multiple network interfaces into one logical interface.
Benefits:
- Increased bandwidth
- Fault tolerance
- Load balancing
Common uses:
- Servers with multiple NICs
- High-availability setups
- Performance optimization
Creating Bonds
Load Bonding Module
Load module:
# Load bonding module
sudo modprobe bonding
# Make permanent
echo "bonding" | sudo tee -a /etc/modules-load.d/bonding.conf
Create Bond
Using ip command:
# Create bond interface
sudo ip link add bond0 type bond
# Bring up bond
sudo ip link set bond0 up
Using systemd-networkd:
# Create bond config
sudo vim /etc/systemd/network/bond0.netdev
Add:
[NetDev]
Name=bond0
Kind=bond
[Bond]
Mode=active-backup
Bond Modes
Bond Mode Options
Available modes:
-
mode=0 (balance-rr): Round-robin
-
Transmits packets in round-robin fashion
-
Provides load balancing
-
mode=1 (active-backup): Active-backup
-
One interface active, others backup
-
Provides fault tolerance
-
mode=4 (802.3ad): LACP
-
Requires switch support
-
Provides aggregation
-
mode=6 (balance-alb): Adaptive load balancing
-
Provides load balancing and fault tolerance
Set Bond Mode
Configure mode:
# Set mode
sudo ip link set bond0 type bond mode active-backup
# Or in config
sudo vim /etc/systemd/network/bond0.netdev
Add:
[Bond]
Mode=active-backup
Bond Configuration
Add Interfaces
Add to bond:
# Add interface
sudo ip link set eth0 master bond0
sudo ip link set eth1 master bond0
# Or in config
sudo vim /etc/systemd/network/eth0.network
Add:
[Match]
Name=eth0
[Network]
Bond=bond0
Configure Bond IP
Set IP address:
# Using systemd-networkd
sudo vim /etc/systemd/network/bond0.network
Add:
[Match]
Name=bond0
[Network]
DHCP=yes
# Or static
# Address=192.168.1.100/24
# Gateway=192.168.1.1
Troubleshooting
Bond Issues
Check bond:
# Check bond status
cat /proc/net/bonding/bond0
# Check interfaces
ip link show master bond0
# Check bond state
ip link show bond0
Interface Not Working
Verify:
# Check interface
ip link show eth0
# Check bond membership
cat /proc/net/bonding/bond0
# Re-add if needed
sudo ip link set eth0 master bond0
Summary
This guide covered network bonding for Arch Linux, CachyOS, and other distributions, including creation, modes, configuration, and troubleshooting.
Next Steps
- Networking - Network setup
- Network Bridges - Bridges
- ArchWiki Network Bonding: https://wiki.archlinux.org/title/Network_bonding
This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.