Cómo crear NIC Teaming o Bonding en CentOS 8/RHEL 8


La formación de equipos de NIC es la agregación o vinculación de dos o más enlaces de red en un único enlace lógico para proporcionar redundancia y alta disponibilidad. La interfaz/enlace lógico se conoce como interfaz de equipo. En el caso de que el enlace físico activo se caiga, uno de los enlaces reservados o de respaldo se activa automáticamente y garantiza una conexión ininterrumpida con el servidor.

Antes de ponernos manos a la obra, es fundamental que se familiarice con las siguientes terminologías:

  • Teamd: este es el demonio de creación de equipos nic que utiliza la biblioteca libteam para comunicarse con los dispositivos del equipo a través del kernel de Linux.
  • Teamdctl: esta es una utilidad que permite a los usuarios controlar una instancia de teamd. Puede verificar y cambiar el estado del puerto, así como cambiar entre los estados activo y de respaldo.
  • Ejecutor: son unidades de código escritas en JSON y se utilizan para la implementación de varios conceptos de formación de equipos de NIC. Ejemplos de modos de ejecución incluyen Round robbin, balanceo de carga, transmisión y respaldo activo.

Para esta guía, configuraremos la formación de equipos de NIC utilizando el modo de respaldo activo. Aquí es donde un enlace permanece activo mientras que el resto están en espera y reservados como enlaces de respaldo en caso de que el enlace activo se caiga.

En esta página

  • Instale el demonio teamd en CentOS
  • Configure NIC Teaming en CentOS
  • Prueba de la redundancia de equipos de red
  • Eliminación de una interfaz de trabajo en equipo de red

Sin más preámbulos, comencemos.

Teamd es el demonio responsable de crear un equipo de red que actuará como interfaz lógica durante el tiempo de ejecución. De forma predeterminada, viene instalado con CentOS/RHEL 8. Pero si, por cualquier motivo, no está instalado, ejecute el siguiente comando dnf para instalarlo.

$ sudo dnf install teamd

Una vez instalado, verifique que teamd esté instalado ejecutando el comando rpm:

$ rpm -qi teamd

Para configurar la formación de equipos de NIC usaremos la práctica herramienta nmcli que se puede utilizar para la gestión del servicio NetworkManager. En mi sistema, tengo 2 tarjetas NIC que voy a unir o combinar para crear una interfaz de equipo lógica: enp0s3 y enp0s8 . Esto puede ser diferente en su caso.

Para confirmar la ejecución de las interfaces de red activas:

$ nmcli device status

La salida confirma la existencia de 2 conexiones de red activas. Para recopilar más información sobre las interfaces como UUID, ejecute el comando:

$ nmcli connection show

Para crear un enlace o interfaz de equipo de red, que será nuestro enlace lógico, vamos a eliminar las interfaces de red existentes. A partir de entonces, crearemos interfaces esclavas utilizando las interfaces eliminadas y luego las asociaremos con el enlace de formación de equipos.

Usando sus respectivos UUID, ejecute los siguientes comandos para eliminar los enlaces:

$ nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
$ nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

Esta vez, cuando verifique las interfaces, notará que están desconectadas y no proporcionan conexión al servidor. Básicamente, su servidor estará aislado del resto de la red.

$ nmcli device status

A continuación, crearemos una interfaz de equipo llamada team0 en modo de ejecución de respaldo activo. Como se mencionó anteriormente, el modo de ejecución de respaldo activo usa una interfaz activa y reserva las otras para redundancia en caso de que el enlace activo falle.

$ nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

Para ver los atributos asignados a la interfaz team0 , ejecute el comando:

$ nmcli connection show team0

¡Perfecto! En este punto, solo tenemos una interfaz, que es la interfaz team0 como se muestra.

$ nmcli connection show

A continuación, configure la dirección IP para la interfaz team0 como se muestra usando el comando nmcli. Asegúrese de asignar las IP de acuerdo con el esquema de direcciones IP y subred de su red.

$ nmcli con mod team0 ipv4.addresses 192.168.2.100/24
$ nmcli con mod team0 ipv4.gateway 192.168.2.1
$ nmcli con mod team0 ipv4.dns 8.8.8.8
$ nmcli con mod team0 ipv4.method manual
$ nmcli con mod team0 connection.autoconnect yes

A partir de entonces, cree enlaces esclavos y asocie los esclavos al enlace del equipo:

$ nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
$ nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

Verifique el estado de los enlaces nuevamente y notará que los enlaces esclavos ahora están activos.

$ nmcli connection show

A continuación, desactive y active el enlace del equipo. Esto activa la conexión entre los enlaces esclavos y el enlace del equipo.

$ nmcli connection down team0 && nmcli connection up team0

A continuación, verifique el estado de la conexión de enlace de equipo como se muestra.

$ ip addr show dev team0

Podemos ver que el enlace está activo con la dirección IP correcta que configuramos anteriormente.

Para recuperar detalles adicionales sobre el enlace del equipo, ejecute el comando:

$ sudo teamdctl team0 state

En la salida, podemos ver que ambos enlaces ( enp0s3 y enp0s8 ) están activos y que el enlace activo es enp0s8 .

Para probar nuestro modo de equipo de respaldo activo, desconectaremos el enlace actualmente activo - enp0s3 - y verificaremos si el otro enlace se activa.

$ nmcli device disconnect enp0s3
$ sudo teamdctl team0 state

Cuando compruebe el estado de la interfaz de formación de equipos, encontrará que el enlace enp0s8 se ha activado y proporciona conexiones al servidor. ¡Esto confirma que nuestra configuración está funcionando!

Si desea eliminar la interfaz/enlace de formación de equipos y volver a la configuración de red predeterminada, primero baje el enlace de formación de equipos:

$ nmcli connection down team0

A continuación, elimine los esclavos.

$ nmcli connection delete team0-slave0 team0-slave1

Finalmente, elimine la interfaz de trabajo en equipo.

$ nmcli connection delete team0

En este punto, todas las interfaces están inactivas y su servidor no es accesible. Para activar sus interfaces de red y recuperar la conectividad, ejecute los comandos:

$ sudo ifconfig enp0s3 up
$ sudo ifconfig enp0s8 up
$ sudo systemctl restart NetworkManager

La formación de equipos NIC ofrece una excelente solución para la redundancia de la red. Con 2 o más interfaces de red, puede configurar una interfaz de equipo en cualquier modo de corredor para garantizar una alta disponibilidad en caso de que un enlace se caiga accidentalmente. Esperamos que esta guía le haya resultado útil. Contáctanos y cuéntanos cómo fue tu experiencia.