Open In App

Channel bonding (NIC Teaming) in CentOS

Last Updated : 11 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Network Interface Card (NIC) is a procedure that helps to configure the grouping of physical network adapters to improve our network system performance and redundancy.

Channel Bonding

Linux Channel bonding is a mechanism that allows the administration to combine, multiple network interfaces together into single logical interfaces. Network interfaces provide more bandwidth than a single interface, it can provide redundancy in case of failure.

(NIC Teaming)

NIC Teaming stands for Network Interface Card. It is a process of combining multiple network cards together for performance, and load balancing. NIC Teaming is also called Link Aggregation which is used for combining multiple NICs to a single network switch.

Channel Bonding(NICs) Terminology 

Teamd :

In the NIC teaming we use the libteam library to communicate with nic team devices using a Linux terminal.

Teamdctl :

It’s used to check the NIC teaming state and as well as we can check and change the port status. It can utilize one control team instance.

Runner :

It is used to implement many kinds of NIC teaming using the JSON format concept. Various runners use team running modes as follows. 

Broadcast –  Here data is sent over all interfaces.
Round-Robin –  Data is sent sequentially over all ports
Active-Backup – One port or link is used at the same time while the other is kept as a backup
Lacp –  This is 802.3ad Implements Link Aggregation Control Protocol
Loadbalance – Active Tx – Load balancing and BPF-based Tx port selector. Traffic is sent over to all NICs.

NMCLI :

To perform the “Channel bonding (NIC Teaming) in CentOS” we have to use the nmcli command in CentOS.

In Linux, the nmcli is a command line that is mostly used for controlling (maintaining) the Network Manager. nmcli command is also used to display the network devices.

In terms of Computer Network 

In computer networking, the term link aggregation refers to various methods of combining(aggregation) multiple network connections in parallel to increase throughput beyond what a single connection could sustain, and to provide redundancy in case the links should fail. A link aggregation group (LAG) is a collection of physical ports combined together.

Example- Suppose we have an IP and 2 Lan cards, but somehow in our virtual machine one Lan card has been destroyed, and anyhow the second Lan card is working with the same IP, that process is called Network Teaming.

Benefits of NIC Teaming –

  • Load balancing – Traffic is Automatically load balanced based on the destination address between the available physical analysis NICs.
  • Fault tolerance – If the underlying physical NICs are broken on its cable is unplugged Server target host detects the fault condition and automatically moves traffic to other NICs in bond. 

Structure Diagram of Network Teaming Configuration

Network Teaming Configuration

Network Teaming Configuration

(NIC) Teaming Step-by-Step Process 

Before you begin you must first install the VirtualBox or VMware and configure the virtual machines following.

  • CentOS 7 Linux.
  • Windows Virtual Machine

Step 1: Login as root server via ssh

Open the terminal of your CentOS 7 Virtual Machine then logged in to the server via SSH console as user root. Log in to your CentOS 7 server via SSH using root using the below command and hit enter, After that it will ask for your user root password.

$ ssh root@ipAddress

 

Step 2: Check the nmcli device status

Now we check the network device status, so here we will use the nmcli, it is a command-line tool that is used for controlling Network Manager. nmcli is also used to display the network device status. 

# nmcli device status

 

As you can see in the above image there is an ethernet and a bridge and one loopback.

Step 3: NICs configuration as team0

Now what we will do, we have to add the connection and make the type as a team which is called teaming. and give the connection name as team0 for getting the IP configuration using the below command line.

# nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name" :"activebackup"}}'

write this command in your user root terminal and hit enter.

 

As you can see our activebakup connection team0 is connected successfully added.

Step 4: Check the nmcli device status

Now again we check the nmcli device status. using the following command:

# nmcli device status

 

Our nmcli device status is showing the device team0 , type team is connected, and getting the IP Configuration.

Step 5: Assign the IP Address for new NIC Teaming in team0

now we will assign an ipv4 version IP Address for that interface using the following line of code.

# nmcli connection modify team0 ipv4.addresses 192.168.5.100/24 ipv4.method manual

 

If they will not give us a manual IP address then it will not be set as statical but, it will take by itself dynamically. 

Step 6: Check the nmcli device status

So, our IP Address is set now we will connect this IP Address and check the nmcli device status. using the following line of code.

# nmcli device status

If it still is showing not connected then you can use the following command for connection.

# nmcli device connect team0

 

As you can see our  team0 setup connection is successfully connected.

Step 7: Add connection team two slave using nmcli Linux command line

Now we will make two slaves for team0, which will help our physical Lan card If either of these fails, my network should not be down. if one slave1 failed then we can use slave2. using the following command line.

# nmcli connection add type team-slave con-name team0-slave1 ifname eth1 master team0

 

# nmcli connection add type team-slave con-name team0-slave2 ifname eth2 master team0

 

Step 8: Represent the NICs connection tram0

Now we will check whether our team0 is working properly or not for that we will use the below command.

# nmcli connection show team0

 

So it is working there is no error.

Step 9: Ping the assigned IP Address and check working or not

In this step we will check the network connectivity. for that we need to do, we will just down one ethernet and ping the second. using the following line of command.

 # ping 192.168.5.100

 

Step 10: Using teamdctl team0 state

Now we will check the team state 

# teamdctl team0 state

 

So as you can see our activebackup is running, so these are the all steps for Network configuration teaming.

Conclusion 

NIC teaming offers an excellent and very suitable solution for network redundancy. If by mistake our ethernet is not working then another NIC helps with the ongoing process.

So, finally using the above step we have team0 configured network NICs teaming on CentOS7 Linux using the nmcli Linux command line. We hope this article is more significant to you.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads