-
Configurar LACP (Link Aggregation Control Protocol) en Debian
Si tenemos un servidor Debian con varias tarjetas de red podemos configurar 802.3ad (o LACP, link aggregation control protocol), lo que nos dará un buen equilibrio entre balanceo de carga y redundancia de la conexión. Eso si, el switch (o router) al que conectemos los cables de red, debe ser compatible con este protocolo. ¿Cómo lo hacemos?
1ro: Instalamos los paquetes necesarios, ejecutando como root:
apt-get -y update && apt-get -y install ifenslave
2do: Cargamos el módulo de bonding, ejecutando como root:
modprobe bonding
3ro: Hacemos persistente la carga del módulo, ejecutando como root:
echo "bonding" >> /etc/modules
…o ejecutando con sudo:
echo "bonding" | sudo tee -a /etc/modules
4to: Configuramos la interfaz bond:
UTILIZANDO ARCHIVOS DE CONFIGURACIÓN
Editamos el archivo de configuración de red (/etc/network/interfaces) y creamos la interfaz virtual de bonding:
auto bond0 iface bond0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 bond-mode 802.3ad bond-miimon 100 bond-lacp-rate fast bond-slaves eth0 eth1 eth2
Si queremos por DHCP y en otro archivo, por ejemplo /etc/network/interfaces.d/lacp, lo hacemos así:
auto bond0 iface bond0 inet dhcp bond-mode 802.3ad bond-miimon 100 bond-lacp-rate fast bond-slaves eth0 eth1 eth2
Explicación:
- bond-mode 802.3ad: Configura el bonding en modo LACP.
- bond-miimon 100: Verifica el estado de los enlaces cada 100 ms.
- bond-lacp-rate fast: Ajusta la tasa de LACP a «rápida» (se envían paquetes cada segundo). También puedes usar slow (cada 30 segundos).
- bond-slaves eth0 eth1: Especifica las interfaces físicas que formarán el bonding.
UTILIZANDO NETWORK MANAGER
Si queremos crear el bond desde la interfaz gráfica de Gnome usando NetworkManager, podemos hacerlo de la siguiente manera:
Para IP dinámica:
sudo nmcli connection add type bond con-name bond0 ifname bond0 mode 802.3ad sudo nmcli connection modify bond0 bond.options "miimon=100,mode=802.3ad,lacp_rate=fast" # Agregar interfaces al bond sudo nmcli connection add type ethernet con-name bond-slave-eth0 ifname eth0 master bond0 sudo nmcli connection add type ethernet con-name bond-slave-eth1 ifname eth1 master bond0 sudo nmcli connection add type ethernet con-name bond-slave-eth2 ifname eth2 master bond0 # Configurar la IP sudo nmcli connection modify bond0 ipv4.method auto # Activar el bonding sudo nmcli connection up bond0
Para IP fija:
sudo nmcli connection add type bond con-name bond0 ifname bond0 mode 802.3ad sudo nmcli connection modify bond0 bond.options "miimon=100,mode=802.3ad,lacp_rate=fast" # Agregar interfaces al bond sudo nmcli connection add type ethernet con-name bond-slave-eth0 ifname eth0 master bond0 sudo nmcli connection add type ethernet con-name bond-slave-eth1 ifname eth1 master bond0 sudo nmcli connection add type ethernet con-name bond-slave-eth2 ifname eth2 master bond0 # Configurar la IP sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24 sudo nmcli connection modify bond0 ipv4.gateway 192.168.1.1 sudo nmcli connection modify bond0 ipv4.method manual # Activar el bonding sudo nmcli connection up bond0
5to: Configurar el switch o el router para activar LACP:
La configuración exacta dependerá del modelo y marca del switch, pero en la mayoría de los switches gestionables, esto implica crear un grupo de enlaces en el switch, asignar las interfaces de red al grupo de enlaces y habilitar LACP para esas interfaces.
6to: Reiniciamos el servicio de red en el servidor Debian, ejecutando como root:
systemctl restart networking
7mo: Mostramos información del enlace, ejecutando:
cat /proc/net/bonding/bond0
Este archivo mostrará información sobre el estado de cada interfaz en el grupo de bonding, así como detalles sobre la configuración de LACP.
Existen otros tipos de bondign diferentes a LACP, pero muy útiles para otras casuísticas. Aquí mas info,
EXTRA: Para borrar la conexión bond0 de NetworManager hay que borrar también todas las conexiones esclavas que se hayan creado (dependiendo de la cantidad de interfacs que hayamos agregado al bond. Lo mejor sería hacerlo de esta forma:
sudo nmcli connection delete bond-slave-eth2 sudo nmcli connection delete bond-slave-eth1 sudo nmcli connection delete bond-slave-eth0 sudo nmcli connection delete bond0
Los hacks de hacks4geeks son minitutoriales rápidos pensados para geeks con conocimiento informático avanzado. Si no entiendes o no consigues ejecutar un hack de esta web considera suscribirte a Premium para solicitar asistencia sobre el mismo.