Learn how to configure network bonding on Ubuntu

With the rise of digital infrastructures in 2025, efficient network management is becoming a major strategic issue for administrators. Ubuntu, a popular Linux distribution in the professional world, offers a robust solution for optimizing connectivity via network bonding. This advanced technique allows multiple physical interfaces to be merged into a single logical connection, strengthening both system resilience and performance. Whether for critical servers, data centers, or virtualized environments, mastering bonding configuration on Ubuntu is essential to ensure maximum availability and increased bandwidth. Modern technologies such as Cisco, Mikrotik, Aruba, and Juniper integrate perfectly into this approach, allowing for the establishment of dynamic, secure, and segmented networks according to the precise needs of each infrastructure.

The essential benefits of network bonding in a Linux environment under Ubuntu

Network bonding is more than just a simple aggregation of interfaces: it represents a true resilience and flow optimization strategy. By combining multiple Ethernet interfaces, it is possible to achieve continuous availability even in the face of hardware or link failures. This ability to ensure high availability has become a standard in the deployment of Ubuntu servers in production, particularly for critical systems such as web servers, databases, and cloud platforms. In 2025, the demand for bonding solutions has increased, particularly in environments where traffic growth requires intelligent and flexible bandwidth management. Furthermore, bonding allows the load to be divided between multiple interfaces, thus avoiding congestion and improving response times, essential for applications with high traffic or requiring low latency.

Key Benefits of Network Bonding ๐ŸŒ Description
Redundancy ๐Ÿ›ก๏ธ Ensures service continuity in the event of an interface failure, preventing any connection interruptions. Performance ๐Ÿš€
Increases overall bandwidth by distributing traffic across multiple active links. Flexibility ๐Ÿ”ง
Allows dynamic configuration changes based on changing needs and infrastructure.
Enhanced Security ๐Ÿ”’
Mitigates some risks associated with link overload by isolating sensitive or critical traffic.
Network Bonding Modes Supported by Ubuntu and Their Uses

The choice of bonding mode directly influences efficiency, fault tolerance, and network load. In 2025, it is crucial to select the right mode for your environment, whether for simple or complex networks integrating Cisco, Aruba, or Juniper equipment. Here is a summary of the most common modes:

Mode 0 (round-robin) ๐Ÿ”„

  • : Cyclic packet distribution, ideal for maximizing bandwidth. Mode 1 (active-backup) ๐Ÿ›‘
  • : A single active link, with a second backup link, ideal for fault tolerance. Mode 2 (XOR balance) โš™๏ธ
  • : MAC address-based distribution, effective for load balancing in a local network. Mode 4 (LACP 802.3ad) ๐Ÿค
  • : Dynamic aggregation via the LACP protocol, requiring switch-side configuration. Essential with advanced equipment such as those from Netgear or Mikrotik. Mode 5 (TLB balance) โš–๏ธ
  • : Transmit-only load balancing, useful in environments where reception is already optimized. Mode 6 (ALB balance) โš™๏ธ
  • : Complete load balancing, both transmit and receive, for highly dynamic and distributed networks. Practical example of mode selection: For a company with Aruba and Mikrotik equipment, LACP mode is recommended to benefit from dynamic load balancing and centralized management. However, in a scenario where simplicity is paramount, using active-backup mode offers a reliable solution without additional complexity.

Preparing the Ubuntu system for network bonding configuration

Before tackling the configuration, it is essential to ensure that the Ubuntu system is ready to host link aggregation. The first step is to verify the availability of two physical or virtual network interfaces, which will be integrated into the bond. Here is the recommended approach:

Identifying the interfaces ๐Ÿ•ต๏ธโ€โ™‚๏ธ

Use the

  1. ip link show
  • command to list all available interfaces. Identify those that are not in use or dedicated to other network configurations to avoid conflicts. Checking the bonding module ๐Ÿงฉ
  • The

  • lsmod | grep bond
    • ensure that the module is loaded in the Linux kernel. If it is not present, enable the module with sudo modprobe bonding
    • then check again. IP Address Anticipation ๐Ÿ”ข Manage the assignment of a static or dynamic IP address on the bond, according to network logic.

  • The configurations will be integrated into the Netplan file for centralized and consistent management.
    • Preparation Step ๐Ÿ› ๏ธ
    • Key Commands
    Identify interfaces ip link show
    Check module bonding lsmod | grep bond
    Enable module if necessary sudo modprobe bonding
    Check loading lsmod | grep bond
    Configure network bonding in Ubuntu via Netplan for optimal performance Since Ubuntu 18.04, the Netplan network manager has become the standard. Configuring bonding requires modifying its files in /etc/netplan. The simplicity of this method lies in its compatibility with various architectures and its ability to manage complex configurations, including those with Cisco or Netgear. Let's say we want to set up an active-backup jump for a critical server. Here are the detailed steps:

    Backing up the configuration file ๐Ÿ“

    Before making any changes, make a backup copy of the file:

    sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

    1. .
    • Modifying the configuration file ๐Ÿ› ๏ธ Edit the file withsudo nano /etc/netplan/01-netcfg.yaml

  • . Include the following configuration for aggregation:
    • Parameter Descriptioninterfaces
    • List of physical interfaces to bond
    mode Bonding type (e.g., active-backup)
    addresses Static IP address or DHCP
    routes Default route
    nameservers DNS servers
    Example YAML configuration: network:
    version: 2 renderer: NetworkManager

  • ethernets:
  • ens33:
      dhcp4: no
      ens34:
      dhcp4: no
        bonds:
          bond0:
        addresses:
          - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
            parameters:
          mode: active-backup
            primary: ens33
              mii-monitor-interval: 100
          nameservers:
            addresses:
            - "8.8.8.8"
            - "8.8.4.4"
          Once the change is saved, apply the new configuration with:
            sudo netplan apply
              Check the installation:
              cat /proc/net/bonding/bond0
    

    Good practice: testing and validation of bonding

    Deployment must be accompanied by concrete verifications. For example, disconnect a cable or disable the active interface to observe whether traffic automatically switches. The /proc/net/bonding/bond0 console provides precise details about the link state and the role of each interface, ensuring proactive and efficient management.

    Check and validate the robustness of the bonding configuration on Ubuntu

    Once installation is complete, it is necessary to validate the proper functioning of the bonding. The goal: to ensure that automatic failover works, that performance meets expectations, and that the system is resilient to hardware failures.

    Failover test ๐Ÿ–ฅ๏ธ

    : Disconnect or down the primary interface and observe if traffic reroutes to the secondary link.

    Real-time monitoring ๐Ÿ“Š

    : View the file

    • /proc/net/bonding/bond0 which provides precise detail of the state of the interfaces and their role.
    • Performance check ๐Ÿšฆ : Perform a file transfer or use a benchmark to compare bandwidth before and after configuration. In 2025, these verifications make it possible to anticipate any anomaly on critical infrastructures, often integrating Cisco hardware or other advanced equipment, for proactive prevention of failures. https://www.youtube.com/watch?v=-Z8x2v5S58Q
    • https://www.youtube.com/watch?v=qJlBI6xAcjA