Redes · 3 min read · Oct 30, 2025

Agrupación/Equipo de NIC - Debian Sarge

Resumen:

Puedes encontrar una versión más fácil de leer aquí: 5dollarwhitebox.org

El concepto de Agrupación de NIC (o a veces llamado Equipo de NIC) es que tienes dos NICs agrupadas para que aparezcan como si fueran el mismo dispositivo físico. Es decir, ambas presentarán la misma dirección de Hardware (MAC). Esto se logra a través de la utilidad ifenslave, que permite al kernel ver/utilizar solo un dispositivo, mientras envía paquetes a través de los dos dispositivos esclavos utilizando un programador round-robin.

Sistema: Debian Sarge 3.1 (núcleo vanilla 2.6.12.4)
Módulos Involucrados: bonding, mii, nic_module (e100 en este ejemplo)
Utilidades: ifenslave, mii-tool

Preparación:

Antes de intentar agrupar dos NICs, se recomienda encarecidamente que verifiques la integridad y funcionalidad de cada NIC por separado. Este documento asume que ya has hecho eso. Usando ‘mii-tool’ deberías ver algo como lo siguiente:

testbox:/# mii-tool
eth0: negociado 100baseTx-FD, enlace ok
eth1: negociado 100baseTx-FD, enlace ok

Para que esto funcione, el kernel debe tener soporte para dispositivos de agrupación. Algunas formas de verificarlo serían:

testbox:/# modprobe –list | grep* bonding /lib/modules/2.6.12.4-vs2.0/kernel/drivers/net/bonding/bonding.ko

  • testbox:/# cat /boot/config-2.6.12.4-vs2.0 | grep -i bonding
    CONFIG_BONDING=m

Usamos el mii-tool (mii.o módulo) para monitorear las interfaces para
failover… aunque, como la mayoría de los adaptadores ethernet utilizan un MII (Interfaz Independiente de Medios) para negociar automáticamente las velocidades de enlace, es bastante estándar que tengas esto.

testbox:/# cat /boot/config-2.6.12.4-vs2.0 | grep -i mii ** *# CONFIG_MPENTIUMII no está configurado

CONFIG_MII=y ** *

testbox:/# modprobe –list | grep -i mii
/lib/modules/2.4.26-2-686/kernel/drivers/net/mii.ko

En segundo lugar, necesitarás instalar la utilidad ifenslave.

testbox:/# apt-get update && apt-get install ifenslave
………. salida estándar eliminada (nada interesante)

No hay configuración aquí, así que eso es todo. Ahora estamos listos para los archivos de configuración.

Archivos de Configuración:

Hay muchas variaciones diferentes de esto, pero por ahora… así es como lo hice para que funcionara.

vi /etc/modutils/aliases y agrega/edita lo siguiente:

alias bond0 bonding
alias eth0 e100
alias eth1 e100
options bonding mode=0 miimon=100

vi /etc/modutils/actions y agrega/edita lo siguiente:

probeall bond0 eth0 eth1 bonding

Después de editar los archivos de configuración de modprobe, necesitas ejecutar el comando:

testbox# update-modules

vi /etc/network/interfaces y agrega/edita lo siguiente:

auto bond0
iface bond0 inet static
address 10.1.100.63
netmask 255.255.255.0
hwaddress ether 00:02:B3:48:50:2C
gateway 10.1.100.1
up ifenslave bond0 eth0 eth1
down ifenslave -d bond0 eth0 eth1

No debes configurar entradas para ‘eth0’ o ‘eth1’ fuera de lo que está listado arriba bajo la entrada ‘bond0’. Bond0 será ahora la interfaz con la que trabaja el kernel. Ejecutar un ‘ifconfig’ mostrará las tres interfaces (bond0, eth0, eth1), todas con las mismas direcciones MAC e IP.

Y eso es básicamente todo. Ahora, todo lo que deberías necesitar hacer es cargar el módulo ‘bonding’ y detener/iniciar la red… y los módulos apropiados deberían cargarse automáticamente:

testbox:/# modprobe bonding
testbox:/# /etc/init.d/networking stop testbox:/# /etc/init.d/networking start

Es posible que tengas que jugar un poco con esta parte. Para mí, tuve que configurar manualmente el dispositivo bond0:

testbox:/# ifconfig bond0 10.1.15.63 netmask 255.255.255.0 up

Suponiendo que no hubo errores, deberías poder probar esto. Intenta hacer ping a tu dirección IP desde otra máquina. Notarás que ambos NICs responden a las solicitudes de ping de ida y vuelta (round robin). Si desconectas eth0, recibirás un error en la consola que dice “eth0 ha fallado, eth1 se convierte en primaria” o algo así (y viceversa si desconectas eth1). Pero no deberías perder ninguna de las solicitudes de ping (o no más que unas pocas), ya que ahora tiene una conexión de red redundante.

En un entorno de gama alta, podrías conectar cada NIC a un switch separado (manteniéndote en la misma VLAN) y mejorar aún más tu configuración de alta disponibilidad… y así sucesivamente.

BJ Dierkes, RHCE4-LPIC1
wdierkes [at] 5dollarwhitebox [dot] org
Texas, EE. UU.

Recursos:

Debian GNU/Linux: https://www.debian.org

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.