Creating an Interface Team

Hands-On Lab


Photo of Michael Christian

Michael Christian

Course Development Director in Content





In this hands-on lab, we've got to create an interface team. The host we've been provided with has three network interface cards, and it should be configured to use the two extras in a round robin manner.

What are Hands-On Labs?

Hands-On Labs are scenario-based learning environments where learners can practice without consequences. Don't compromise a system or waste money on expensive downloads. Practice real-world skills without the real-world risk, no assembly required.

Creating an Interface Team

The Scenario

Our supervisor has asked us to prepare a new application server. The primary interface eth0 has an IP of and will be used for internal management. It should not be modified.

But we need to configured the following other two interfaces, eth1 and eth2 to be part of a team:

  • The interface team connection name will be Team0
  • The interface team interface name is team0
  • round robin is the interface team mode we'll use
  • It will have a static IP range
  • We'll use the gateway from DHCP

Get logged in

Use the credentials and server IP in the hands-on lab overview page to log into our lab server. Once we're in, we can get moving.

Install teamd

We'll need to make sure the teamd package is installed to use teaming. We'll also grab the bash-completion package, so that we can avoid having to actually type out all of our commands:

[cloud_user@host]$ sudo yum -y install teamd bash-completion

Now we'll run a quick source /etc/profile and then we can get moving on the network.

Configure the Team Interface

There are three interfaces, and we can see them by running nmcli d. We're going to keep our eth0, but we'll delete the other two, then recreate them:

[cloud_user@host]$ sudo nmcli con delete Wired connection 1
[cloud_user@host]$ sudo nmcli con delete Wired connection 2

Create the Team Connection:

[cloud_user@host]$ sudo nmcli con add type team con-name Team0 ifname team0

Modify the Team Connection to include the static IP and gateway:

[cloud_user@host]$ sudo nmcli con mod Team0 ipv4.address ipv4.gateway ipv4.method manual

Add Slave Interfaces

These will bring up the two interfaces in the team:

[cloud_user@host]$ sudo nmcli con add type team-slave ifname eth1 con-name Slave1 master team0
[cloud_user@host]$ sudo nmcli con add type team-slave ifname eth2 con-name Slave2 master team0

Now we can run nmcli c to see all of our interfaces.

Verify the Team State

To verify that the team and interfaces are set properly:

[cloud_user@host]$ nmcli c show Team0 | grep ipv4

This will start up the team, then the interfaces:

[cloud_user@host]$ sudo nmcli con up Team0
[cloud_user@host]$ sudo nmcli con up Slave1
[cloud_user@host]$ sudo nmcli con up Slave2

We can run a quick nmcli to check again, and make sure everything came up the way it was supposed to. We'll see our interfaces listed with a few details.

To get details on the team itself, let's run:

[cloud_user@host]$ sudo teamdctl team0 state

Verify Connectivity

Everything looks good, but is it actually working? We'll try this:

[cloud_user@host]$ ping

If we get a reply, we're good to go.


We set up a team, with a couple of interfaces, and adhered to all of the specifications our supervisor gave us. Congratulations!