Set up LACP bonding interface on CentOS 8

Estimated reading time: 1 min

Introduction

In this article, we’ll look at how to set up LACP bonding on a server running CentOS 8. LACP bonding uses the Link Aggregation Control Protocol to combine two network interfaces into one logical interface. Today, we’ll use it to combine two ethernet interfaces. This is useful to increase the throughput from each ethernet device and to provide for a way to failover if there’s an error with one of the devices.

Prerequisites

  • A Cloud VPS or Dedicated Server with CentOS 8 installed.
  • The network switch of your server must be set up for a successful procedure
  • Two active physical network interface connected to your switch
  • You must be logged in via SSH as sudo or root user. This tutorial assumes that you are logged in as a sudo user.

Step 1: Log in using SSH

You must be logged in via SSH as sudo or root user. Please read this article for instructions if you don’t know how to connect.

Step 2: Disable NetworkManager

Within a server environment, we prefer to disable NetworkManager. These instructions won’t work if NetworkManager is enabled!

systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

Once the NetworkManager is disabled remove it

sudo yum -y remove NetworkManager NetworkManager-libnm NetworkManager-team NetworkManager-tui NetworkManager-wifi

Step 3: Load kernel module

The bonding module is not loaded by default in CentOS 8. We need to load it manually.

sudo modprobe bonding

To ensure that the kernel module bonding is loaded during boot we need to add the module into the modules configuration file

sudo su -c 'echo "bonding" >> /etc/modules'

Step 4: Find the active network interface

clear && echo $(ip -o -4 route get 8.8.8.8 | sed -nr 's/.*dev ([^\ ]+).*/\1/p')

Step 5: Create the bonding interface

Create a new bonding configuration file

sudo nano /etc/sysconfig/network-scripts/ifcfg-bond0

Add the following lines to the bonding configuration file

DEVICE=bond0
Type=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
NM_CONTROLLED=no
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"

Step 6: Configure the network interface

In our article, we use eno1 and eno2 for the network interfaces. In your server environment, the network interface can be different. You have to use the network interface name you get back from step 4.

Edit the configuration file of network interface eno1

sudo nano /etc/sysconfig/network-scripts/ifcfg-eno1

Replace the configuration file with these lines

DEVICE=eno1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
IPV6INIT=no
MASTER=bond0
SLAVE=yes

Edit the configuration file of network interface en2

sudo nano /etc/sysconfig/network-scripts/ifcfg-eno2

Replace the configuration file with these lines

DEVICE=eno2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
IPV6INIT=no
MASTER=bond0
SLAVE=yes

Step 7: Reboot

sudo reboot

Conclusion

Congratulations, you have set up LACP (IEEE 802.3ad) bonding on your CentOS 8 server.

Was this article helpful?
Dislike 9
Views: 3790

Reader Interactions

Leave a Reply

Your email address will not be published. Required fields are marked *

snel-knowledgebase