• 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

    Deja una respuesta