Linux permite enlazar multiples interfaces usando un moduló de kernel llamado Bonding.
Tipos de Bonding
Según la documentación oficial, te presento los tipos de bonding.
mode = 0 (balanza rr)
- round-robin: es el modo por defecto. Transmite paquetes en orde secuencial. Este modo proporciona tolerancia a fallos y redundancia
mode = 1 (Backup)
- Backup: Este modo hace un backup de la interface activa, y este se activara solo cuando falle la interface activa. La MAC del enlace es visible externamente en un solo puerto esto para evitar confundir al router, esto proporciona tolerancia a fallos.
mode = 2 (Balanceo XOR)
- XOR = Este selecciona el mismo esclavo para cada dirección MAC de destino. Este modo proporciona equilibrio de carga y tolerancia a fallos.
mode = 3 (Broadcast)
- Broadcast = Trasmite todo en todas las interfaces, Esto modo ofrece tolerancia a fallos.
mode = 4 (802.3ad)
- IEE 802.3ad = Crea grupos que comparten la misma configuración de velocidad y dúplex. utiliza todos los esclavos en el agregado activo de acuerdo con las especificaciones 802.3ad.
mode = 5 (Balance-TBL)
- Balanceo de carga de transmisión adaptativa = unión de canales que no requiere ningún tipo de apoyo especial, el trafico de salida es distribuido según la carga actual. el trafico entrante es recibida por el esclavo actual funcionando. Si el esclavo receptor falla otro esclavo se hace cargo de la MAC del que fallo.
mode = 6 (Balance-alb)
- Equilibrio de carga adaptativo: incluye una balanza tlb ademas de recibir RLB para el trafico IPV4, El balanceo se realiza mediante negociación ARP. el bonding intercepta la respuestas ARP enviados por el sistema local y sobre escribe la dirección de hardware unica.
Configuracion de BONDING (Linux Centos - RedHat - Fedora)
ejemplo con tres interfaces de red, eth0, eth1, eth2
Combinaremos las interfaces eth0 y eth1 y las hacemos una sola nic con el nombre bond0
Configurar interfaces bond0
bonding bien por defecto, ralizar el siguiente comando utilizando el usuario rootmodprobe --first-time boonding
para ver información utiliza el comando
mondinfo bonding
ahora crearemos archivo de configuracion de bond0,
vi /etc/sysconfig/network-scripts/ifcfg-bond0
y agregas las siguientes lineas
DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes IPADDR=192.168.1.150 PREFIX=24 ONBOOT=yes BOOTPROTO=none BONDING_OPTS="mode=1 miimon=100"
NOTA: BONDIG_OPTS, describe el modo de enlace, en este caso se utilizara modo1
Configurando las Interfaces eth1, eth2 y eth3
ahora, hay que modificar el archivo de configuración de las interfaces en el cual editaremos un par de lineas:
Edición de eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Modificar las siguientes lineas
- BOOTPROTO
- ONBOOT
- MASTER
- SLAVE
HWADDR="08:00:27:04:03:86" TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s8" UUID="a97b23f2-fa87-49de-ac9b-39661ba9c20f" ONBOOT="yes" MASTER=bond0 SLAVE=yes
Realizar el mismo cambio en eth1
Ahora activaremos las interfaces
ifup ifcfg-eth0 ifup ifcfg-eth1
ahora recargaremos las Network Manager para que se observen los cambios realizados
nmcli con reload
y reiniciamos el servicio network para que surtan efectos los cambios
systemctl restart network
luego para verificar que este arriba la nueva interface bond0, verificaremos si esta creado el archivo con su respectiva configuración
cat /proc/net/bonding/bond0
Verificamos que interfaces aparezca en la configuraciones
ip addr
0 Comentarios