This note exemplifies how to configure VLAN on bonding network interface on CentOS/RHEL 7 and 8. The configuration of the switch to support VLAN tagging is not covered in this note. You do not need to do anything for configuring native VLAN on CentOS/RHEL, since it only depends on the switch configuration.
1. Check that the module is loaded by running the command:
# lsmod | grep 8021q
2. If the module is not loaded, proceed to run the following command to load it:
# modprobe 8021q
3. Proceed to configure your physical interface in /etc/sysconfig/network-scripts/ifcfg-eth#, below the example:
For example, for eth0:
DEVICE=eth0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes
4. Configure the VLAN interface script in /etc/sysconfig/network-scripts. The configuration filename must be the physical interface plus a “.” character plus the VLAN id number. For example, if the VLAN id is 10, and the physical network interface is eth0, then the configuration filename should be ifcfg-eth0.10, as the example below:
DEVICE=eth0.10 BOOTPROTO=none ONBOOT=yes IPADDR=##.##.##.## NETMASK=###.###.###.## USERCTL=no NETWORK=##.##.##.## VLAN=yes
For more VLANs required on the same interface, add a new file with the name as in the example above and the VLAN configuration details, for example, eth0.20
5. Restart the network service, in order for the changes to take effect
# systemctl restart network
CentOS / RHEL 7 : How to configure VLAN Tagging using nmcli