Linux - Network Bonding

Just as its name indicates, network bonding is a technique to bond a plurality of network interface together for load balance and a wider bandwidth.

The configuration of network bonding is simple. Taking ArchLinux for instance, the network bonding of 2 network interfaces (e.g., eth0 and eth1) can be configured as follows.

  • /etc/systemd/network/10-bond0-eth0.network

      [Match]
      Name=eth0
    
      [Network]
      Bond=bond0
  • /etc/systemd/network/10-bond0-eth1.network

      [Match]
      Name=eth1
    
      [Network]
      Bond=bond0
  • /etc/systemd/network/10-bond0.netdev

      [NetDev]
      Name=bond0
      Kind=bond
    
      [Bond]
      Mode=802.3ad
      LACPTransmitRate=fast
      MIIMonitorSec=100ms
  • /etc/systemd/network/10-bond0.network

      [Match]
      Name=bond0
    
      [Network]
      Address=xxx.xxx.xxx.xxx/24
      Gateway=xxx.xxx.xxx.xxx
      DNS=xxx.xxx.xxx.xxx