How to configure network bonding in CentOS
Jul 27, 2025 am 03:44 AMMake sure the system has loaded bonding module and confirm that the network card interface is available, use modprobe bonding and lsmod verification; 2. Create /etc/sysconfig/network-scripts/ifcfg-bond0 configuration files, set DEVICE, TYPE, BONDING_MASTER, IP parameters and BONDING_OPTS=mode=active-backup miimon=100 primary=ens33; 3. Configure ifcfg files of physical network cards ens33 and ens34, set MASTER=bond0, SLAVE=yes and remove IP configuration; 4. Restart the network service and use systemctl restart network or nmcli con reload; 5. Pass cat /proc/net/bonding/bond0, ip addr show bond0 and ping tests verify bond status and connectivity; 6. Optionally use the nmcli command to create bonds and add slave interfaces in CentOS 8 /Stream and activate them; 7. Note that the switch needs to configure LACP mode, select the appropriate bond mode and test failover. After the configuration is completed, the system will have network redundancy and high availability, and the configuration is suitable for CentOS 7, 8 and Stream versions.
Configuring network bonding (also known as link aggregation or NIC teaming) in CentOS allows you to combine multiple network interfaces into a single logical interface for redundancy, increased bandwidth, or load balancing. This guide applies to CentOS 7, 8, and Stream , using the traditional network-scripts
method (still supported in CentOS 7 and 8) and briefly touches on nmcli
for newer systems.

? Step 1: Check Available Interfaces and Kernel Module
Before configuring bonding, verify your network interfaces and ensure the bonding module is loaded.
ip link show
List available network interfaces (eg, ens33
, ens34
).

Load and check the bonding kernel module:
modprobe bonding lsmod | grep bonding
To load it at boot:

echo "bonding" >> /etc/modules-load.d/bonding.conf
? Step 2: Create the Bond Interface Configuration
We'll create a bonded interface named bond0
using two physical NICs: ens33
and ens34
.
Create the bond master interface
Edit the bond interface configuration:
vi /etc/sysconfig/network-scripts/ifcfg-bond0
Add the following (example using active-backup mode):
DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 BONDING_OPTS="mode=active-backup miimon=100 primary=ens33"
? Key Parameters:
mode=active-backup
: Only one NIC is active; another takes over if it fails.miimon=100
: Monitor link every 100ms.primary=ens33
: Useens33
as the default active interface.Other common modes:
balance-rr
: Round-robin (requires switch support)802.3ad
: LACP (dynamic aggregation, requires switch support)
? Step 3: Configure Slave (Physical) Interfaces
Now configure each physical NIC to be part of the bond.
Configure first slave: ens33
vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
Configure second slave: ens34
vi /etc/sysconfig/network-scripts/ifcfg-ens34
DEVICE=ens34 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
? Important: Remove any existing IP configurations from slave interfaces.
? Step 4: Restart Network Service
Apply the configuration:
systemctl restart network
Or on some systems:
nmcli con reload
? Step 5: Verify the Bonding Configuration
Check if the bond is up:
cat /proc/net/bonding/bond0
This shows detailed bonding status, including active interface, link monitoring, and slave status.
Also verify with:
ip addr show bond0
And test connectivity:
ping -I bond0 8.8.8.8
? Optional: Using nmcli
(Recommended for CentOS 8 /Stream)
For modern systems using NetworkManager, you can use nmcli
:
# Create bond nmcli con add type bond con-name bond0 ifname bond0 mode active-backup miimon 100 primary ens33 ip4 192.168.1.10/24 gw4 192.168.1.1 # Add slaves nmcli con add type ethernet con-name bond0-slave1 ifname ens33 master bond0 nmcli con add type ethernet con-name bond0-slave2 ifname ens34 master bond0 # Activate nmcli con up bond0
Check status:
nmcli con show nmcli dev show bond0
?? Notes and Best Practices
- Switch Configuration : For
802.3ad
orlacp
, ensure the switch is configured for LACP. - Mode Selection :
- Use
active-backup
for failover without switch support. - Use
802.3ad
for performance and redundancy with compatible switches.
- Use
- Always test failover by unplugging one cable and checking
/proc/net/bonding/bond0
.
That's it. Your CentOS system now has a resilient network bond. The exact steps may vary slightly depending on your CentOS version and network manager, but this method works reliably across most settings.
The above is the detailed content of How to configure network bonding in CentOS. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

The CentOS shutdown command is shutdown, and the syntax is shutdown [Options] Time [Information]. Options include: -h Stop the system immediately; -P Turn off the power after shutdown; -r restart; -t Waiting time. Times can be specified as immediate (now), minutes ( minutes), or a specific time (hh:mm). Added information can be displayed in system messages.

CentOS will be shut down in 2024 because its upstream distribution, RHEL 8, has been shut down. This shutdown will affect the CentOS 8 system, preventing it from continuing to receive updates. Users should plan for migration, and recommended options include CentOS Stream, AlmaLinux, and Rocky Linux to keep the system safe and stable.

1. The Origin of .NETCore When talking about .NETCore, we must not mention its predecessor .NET. Java was in the limelight at that time, and Microsoft also favored Java. The Java virtual machine on the Windows platform was developed by Microsoft based on JVM standards. It is said to be the best performance Java virtual machine at that time. However, Microsoft has its own little abacus, trying to bundle Java with the Windows platform and add some Windows-specific features. Sun's dissatisfaction with this led to a breakdown of the relationship between the two parties, and Microsoft then launched .NET. .NET has borrowed many features of Java since its inception and gradually surpassed Java in language features and form development. Java in version 1.6

Steps to configure IP address in CentOS: View the current network configuration: ip addr Edit the network configuration file: sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 Change IP address: Edit IPADDR= Line changes the subnet mask and gateway (optional): Edit NETMASK= and GATEWAY= Lines Restart the network service: sudo systemctl restart network verification IP address: ip addr

Software preparation I am using a virtual machine with CentOS-6.6, with the host name repo. Refer to the steps to install a Linux virtual machine in Windows, I installed JDK in that virtual machine, refer to the guide to installing JDK in Linux. In addition, the virtual machine is configured with a key-free login itself, and the settings for configuring key-free login between each virtual machine are referenced. The download address of Hadoop installation package is: https://mirrors.aliyun.com/apache/hadoop/common/. I am using hadoop 2.6.5 version. Upload the Hadoop installation package to the server and unzip [root@repo~]#tarzxv

Integrating Postman applications on CentOS can be achieved through a variety of methods. The following are the detailed steps and suggestions: Install Postman by downloading the installation package to download Postman's Linux version installation package: Visit Postman's official website and select the version suitable for Linux to download. Unzip the installation package: Use the following command to unzip the installation package to the specified directory, for example /opt: sudotar-xzfpostman-linux-x64-xx.xx.xx.tar.gz-C/opt Please note that "postman-linux-x64-xx.xx.xx.tar.gz" is replaced by the file name you actually downloaded. Create symbols

CentOS 7 mirror download seems simple, but it actually has hidden secrets. You need to choose the right mirror source, verify the completeness of the mirror, and choose the right version. When selecting a mirror source, speed is the key, and it is recommended to use Alibaba Cloud, NetEase Cloud or Tsinghua University mirroring station. After the download is complete, use MD5 or SHA256 to verify the integrity of the mirror to ensure that the mirror has not been tampered with. Select the minimized installation version or full installation version according to your needs, and pay attention to details such as breakpoint continuous transmission, download tool selection, disk space inspection, etc., so as to easily complete the CentOS 7 image download.
