
Como configurar un teaming o bonding desde la linea de comando con NetworkManager "nmcli"
El teaming es método de agrupación o vinculación lógico de NICs. esto ofrece una alternativa de implementación a los antiguos bonding, debido a su diseño modular los teaming proporcionando un extensible y mejor rendimiento que los bonding. El kernel se ocupa de manera eficiente de manager los paquetes de red, mientras que el daemon teamd se encarga de maneja la logica y el procesamiento de la interfaz en el espacio del usuario.
Los diferentes método (runner) de teaming que se pueden configurar son:
- broadcast: es un metodo o runner simple que transmite cada paquete por todos los puertos.
- roundrobin: un runner simple que transmite cada paquete por los puertos de una manera round-robin.
- activebackup: este es un runner de failover que vigila los cambios de enlace y selecciona un puerto activo para las transferencias de datos.
- loadbalance: este runner monitorea el tráfico y utiliza una función hash para intentar alcanzar un equilibrio perfecto al seleccionar puertos para la transmisión de paquetes.
- lacp: este implementa el protocolo Link Aggregation (LACP) 802.3ad. Puede usar las mismas posibilidades de selección de puerto de transmisión que el runner loadbalance.
Creando un teaming de nombre team0, con el método loadbalance, con dos interfaces de red (ens33 y ens34), ip 192.168.120.11/24, gateway 192.168.120.1 y dns 8.8.8.8
ens33 --|
} ---> team0 -- (ip 192.168.120.11, gw 192.168.120.1, dns 8.8.8.8)
ens33 --|
nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "loadbalance"}}' ipv4.method manual ipv4.addresses "192.168.120.11/24" nmcli con add type team-slave ifname ens33 master team0 con-name team0-ens33 nmcli con add type team-slave ifname ens34 master team0 con-name team0-ens34 nmcli connection modify team0 ipv4.gateway "192.168.120.1" ipv4.dns 8.8.8.8 nmcli con up team0
Para revisar toda la información del team0, ejecutamos los siguientes comandos
nmcli con show team0 teamdctl team0 state
Para activar o desactivar el team0
nmcli con up team0 nmcli con down team0
Para desconectar una de las interfaces del team0 por ejemplo la ens33
nmcli device disconnect ens33