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 namedmyteam
which will provide a team device namedteam0
. The team mode will beactivebackup
andethtool
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 interfacesens10
andens15
are added toteam0
:# 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 correctrunner
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 namedmyteam-vlan123
which will provide VLAN ID 123 on top of deviceteam0
:### 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 thenmcli connection modify
command to set any given property. All properties and their possible values are described in thenm-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:
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'sconnection.autoconnect
property tono
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"
- The following command will list all the existing connection profiles (