Cómo configurar la NIC (tarjeta Ethernet) con etiqueta VLAN en servidores Linux

Hay algunos escenarios en los que queremos asignar múltiples direcciones IP de diferentes VLAN en la misma tarjeta Ethernet (NIC) en servidores Linux (CentOS / RHEL). Esto se puede hacer habilitando la interfaz etiquetada de VLAN. Pero para que esto suceda, primero debemos asegurarnos de que varias VLAN estén conectadas al puerto en el conmutador o, en otras palabras, podemos decir que debemos configurar el puerto troncal agregando varias VLAN en el conmutador.

Supongamos que tenemos un servidor Linux, allí tenemos dos tarjetas Ethernet (enp0s3 y enp0s8), la primera NIC ( enp0s3 ) se utilizará para el tráfico de datos y la segunda NIC (enp0s8) se utilizará para el tráfico de control/gestión. Para el tráfico de datos, usaré varias VLAN (o asignaré varias direcciones IP de diferentes VLAN en la tarjeta Ethernet de tráfico de datos).

Supongo que el puerto del conmutador que está conectado a la NIC de datos de mi servidor está configurado como puerto troncal al asignarle varias VLAN.

Las siguientes son las VLAN que se asignan a la tarjeta Ethernet (NIC) de tráfico de datos:

  • ID de VLAN (200), VLAN N/W = 172.168.10.0/24
  • ID de VLAN (300), VLAN N/W = 172.168.20.0/24

Para usar la interfaz etiquetada VLAN en los sistemas CentOS 7 / RHEL 7 / CentOS 8 /RHEL 8, módulo kernel 8021q debe ser cargado.

Use el siguiente comando para cargar el módulo del kernel «8021q»

[[email protected] ~]# lsmod | grep -i 8021q
[[email protected] ~]# modprobe --first-time 8021q
[[email protected] ~]# lsmod | grep -i 8021q
8021q                  29022  0
garp                   14384  1 8021q
mrp                    18542  1 8021q
[[email protected] ~]#

Use el siguiente comando modinfo para mostrar información sobre el módulo del kernel «8021q»

[[email protected] ~]# modinfo 8021q
filename:       /lib/modules/3.10.0-327.el7.x86_64/kernel/net/8021q/8021q.ko
version:        1.8
license:        GPL
alias:          rtnl-link-vlan
rhelversion:    7.2
srcversion:     2E63BD725D9DC11C7DA6190
depends:        mrp,garp
intree:         Y
vermagic:       3.10.0-327.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        79:AD:88:6A:11:3C:A0:22:35:26:33:6C:0F:82:5B:8A:94:29:6A:B3
sig_hashalgo:   sha256
[[email protected] ~]#

Ahora etiquetó (o asignó) las VLAN 200 y 300 a NIC enp0s3 usando el comando ip

[[email protected] ~]# ip link add link enp0s3 name enp0s3.200 type vlan id 200

Abra la interfaz usando el siguiente comando ip:

[[email protected] ~]# ip link set dev enp0s3.200 up

De manera similar, asignó la VLAN 300 a la NIC enp0s3

[[email protected] ~]# ip link add link enp0s3 name enp0s3.300 type vlan id 300
[[email protected] ~]# ip link set dev enp0s3.300 up
[[email protected] ~]#

Ahora vea el estado de la interfaz etiquetada usando el comando ip:

tagged-interface-ip-command

Ahora podemos asignar la dirección IP a la interfaz etiquetada desde sus respectivas VLAN usando el comando debajo de ip,

[[email protected] ~]# ip addr add 172.168.10.51/24 dev enp0s3.200
[[email protected] ~]# ip addr add 172.168.20.51/24 dev enp0s3.300

Use el siguiente comando ip para ver si la IP está asignada a la interfaz etiquetada o no.

ip-address-tagged-nic

Todos los cambios anteriores a través de los comandos ip no serán persistentes durante el reinicio. Estas interfaces etiquetadas no estarán disponibles después de reiniciar y después de reiniciar el servicio de red

Entonces, para hacer que las interfaces etiquetadas sean persistentes durante el reinicio, use la interfaz archivos ifcfg

Editar archivo de interfaz (enp0s3) “/etc/sysconfig/network-scripts/ifcfg-enp0s3” y agregue el siguiente contenido,

Nota: Reemplace el nombre de la interfaz que se adapte a su entorno,

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
DEVICE=enp0s3
BOOTPROTO=none
ONBOOT=yes

Guardar y salir del archivo

Cree un archivo de interfaz etiquetado para VLAN id 200 como «/etc/sysconfig/network-scripts/ifcfg-enp0s3.200” y agréguele los siguientes contenidos.

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.200
DEVICE=enp0s3.200
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.168.10.51
PREFIX=24
NETWORK=172.168.10.0
VLAN=yes

Guardar y salir del archivo

Del mismo modo, cree un archivo de interfaz para VLAN id 300 como «/etc/sysconfig/network-scripts/ifcfg-enp0s3.300» y agréguele los siguientes contenidos

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.300
DEVICE=enp0s3.300
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.168.20.51
PREFIX=24
NETWORK=172.168.20.0
VLAN=yes

Guarde y salga del archivo y luego reinicie los servicios de red usando el siguiente comando,

[[email protected] ~]# systemctl restart network
[[email protected] ~]#

Ahora verifique si la interfaz etiquetada está configurada y funcionando usando el comando ip,

tagged-interface-status-ip-command-linux-server

Eso es todo de este artículo, espero que tenga una idea de cómo configurar y habilitar la interfaz etiquetada de VLAN en los servidores CentOS 7/8 y RHEL 7/8. Por favor, comparta sus opiniones y comentarios.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *