Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7

2023-02-25,,

SOLUTION VERIFIED

September 13 2016 KB1248793

Environment

Red Hat Enterprise Linux 7
NetworkManager
teamd

Issue

Would like to configure a VLANs with Teaming in RHEL 7.
Need to know how to make VLANs like team0.10 for a team0 device with RHEL and NetworkManager.

Resolution

  For steps to use Teaming without VLANs, please see How to create a Team in RHEL7.

Create the team interface connection profile with nmcli. The following command will create a connection profile named myteam which will provide a team device named team0. The team mode will be activebackup and ethtool link monitoring will be used:

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

Disable IPv4 and IPv6 addressing for the team connection profile. The connection must be brought up again for these changes to take effect. In the example below the connection profile name is myteam:

# nmcli connection modify myteam ipv4.method disable ipv6.method ignore
# nmcli connection up myteam

Create a profile for each team port (slave). The master parameter must refer to the team device name, not the team profile name. In the example below the interfaces ens10 and ens15 are added to team0:

# nmcli connection add type team-slave con-name myteam-port1 ifname ens10 master team0
# nmcli connection add type team-slave con-name myteam-port2 ifname ens15 master team0

Confirm the team is working as expected with the teamdctl program. At a minimum, ensure the correct runner is in use or connectivity may not work:

# teamdctl team0 state
setup:
runner: activebackup
ports:
ens10
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens15
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens10

Create the VLAN connection profiles which will be on top of the new team device. The dev parameter must refer to the team device name, not the team profile name. The following command will create a connection profile named myteam-vlan123 which will provide VLAN ID 123 on top of device team0:

### With static IP addressing:
# nmcli connection add type vlan con-name myteam-vlan123 ifname team0.123 id 123 dev team0 ip4 192.168.0.100/24 gw4 192.168.0.1 ### With DHCP addressing:
# nmcli connection add type vlan con-name myteam-vlan123 ifname team0.123 id 123 dev team0

Other connection properties such as DNS servers, search domains, and static routes can be set for the VLAN profiles after they have been created. Use the nmcli connection show command to see all the available properties for a connection profile. Use the nmcli connection modify command to set any given property. All properties and their possible values are described in the nm-settings man page.

# nmcli connection show <profile name>

# nmcli connection modify <profile name> <property> <value>

Root Cause

Please see the RHEL 7 Networking Guide chapter on Teaming and the teamd.conf man page for more information on configuring Teaming and the different modes and configuration options which are available:

Networking Guide: Configure Network Teaming

Diagnostic Steps

It is best to remove or disable any existing connection profiles which correspond to the interfaces to be used in the team. This ensures the right connection profile is always used:

The following command will list all the existing connection profiles (connection.id) and the interface (connection.interface-name, if set) they are associated with. If there are any matches for the interfaces to be used, delete the matching profile (or set the profile's connection.autoconnect property to no and note the profile name so it is not accidentally reused):

# for connection in $(nmcli -t --fields uuid con) ; do echo ; nmcli con show uuid $connection | egrep "connection.id|connection.interface-name" ; done

If an existing profile needs to be removed, do so with the following command where $PROFILE is the connection.id seen in the output from the command above:

# nmcli connection del "$PROFILE"

Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7的相关教程结束。

《Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7.doc》

下载本文的Word格式文档,以方便收藏与打印。