LINUX

Cómo configurar la vinculación Ethernet en Linux

enlace ethernet

La vinculación Ethernet es un método para combinar (unir) dos o más interfaces de red en una sola tarjeta NIC virtual que puede aumentar el ancho de banda y proporciona redundancia de tarjetas NIC.

Linux nos permite unir múltiples interfaces de red usando un módulo de kernel especial llamado bonding. La función está habilitada en Linux, por lo que podemos crear una nueva interfaz virtual llamada bond. Tenemos dos tarjetas NIC ens33 y ens34. La publicación muestra el procedimiento en RHEL 7 y CentOS 7.

1) Habilitar el módulo de unión

Como primer paso, debe verificar si el módulo de vinculación está habilitado. Puede verificar con el comando a continuación

# modinfo bonding
modinfo: ERROR: Module alias bonding not found.

Si no está presente, puede usar el siguiente comando:

# modprobe --first-time bonding

Puede comprobarlo de nuevo. Tendrás el resultado a continuación

# modinfo bonding

Puede ver que el comando nos da un resultado y puede mirar la línea de descripción.

2) Cree una interfaz de canal de enlace

Primero crearemos un nuevo nombre de archivo bonding.conf en el /etc/modprobe.d/ directorio. El nombre puede ser el que desee siempre que termine con un .conf extensión. Es un archivo de configuración para el controlador llamado bonding

# vim /etc/modprobe.d/bonding.conf
alias bond0 bonding

Inserte el contenido de arriba, guarde y salga. Para cada interfaz de enlace de canales configurada, debe haber una entrada correspondiente en su /etc/modprobe.d/bonding.conf expediente

Ahora podemos crear una interfaz de enlace de canales. Para hacerlo, necesitamos crear un archivo en el /etc/sysconfig/network-scripts/ directorio llamado ifcfg-bond0 como el alias de creado anteriormente. Debe notar que operamos en la carpeta que contiene archivos de interfaz de red.

# vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.43.100
PREFIX=24
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=1 miimon=100"

Tenga en cuenta la directiva BONDING_OPTS línea, la vinculación utiliza una variedad de opciones y modos. Los modos pueden ser:

  • modo 0 o balance-rr: Establece una política de operación por turnos para la tolerancia a errores y el equilibrio de carga.
  • modo 1 o copia de seguridad activa: Establece una política de respaldo activo para la tolerancia a fallas.
  • modo 2 o equilibrio-xor: Establece un modo XOR (exclusivo o) para la tolerancia a fallos y el equilibrio de carga.
  • modo 3 o transmisión: Establece una política de difusión para la tolerancia a errores. Todas las transmisiones se envían a todas las interfaces esclavas.
  • modo 4 o 802.3ad: Establece una política de agregación de enlaces dinámicos IEEE 802.3ad. Crea grupos de agregación que comparten la misma configuración de velocidad y dúplex.
  • modo 5 o balance-tlb: Establece una política de equilibrio de carga de transmisión (TLB) para la tolerancia a fallos y el equilibrio de carga. El tráfico saliente se distribuye de acuerdo con la carga actual en cada interfaz esclava. El esclavo actual recibe el tráfico entrante. Si el esclavo receptor falla, otro esclavo toma el control de la dirección MAC del esclavo fallado. Este modo solo es adecuado para direcciones locales conocidas por el módulo de vinculación del kernel y, por lo tanto, no se puede usar detrás de un puente con máquinas virtuales.
  • modo 6 o equilibrio-alba: Establece una política de equilibrio de carga adaptable (ALB) para la tolerancia a fallas y el equilibrio de carga. Incluye equilibrio de carga de transmisión y recepción para IPv4 tráfico.

Las opciones pueden ser:

  • miimon =tiempo_en_milisegundos: muestra (en milisegundos) la frecuencia con la que se comprueba el estado del enlace en busca de fallos. Esto es útil si se requiere alta disponibilidad porque MII se usa para verificar que la NIC esté activa
  • arp_interval =tiempo_en_milisegundos: Especifica (en milisegundos) la frecuencia con la que se realiza la supervisión de ARP. Si usa esta configuración mientras está en el modo 0 o el modo 2 (los dos modos de equilibrio de carga), el conmutador de red debe estar configurado para distribuir los paquetes de manera uniforme a través de las NIC.

3) Configurar interfaces físicas

El siguiente paso es editar las interfaces físicas que están destinadas a la vinculación agregando el MASTER=bond0 y SLAVE=yes directivas a sus archivos de configuración. Implica que la interfaz de enlace de canales es la Maestro y las interfaces que se unirán se denominan esclavos. Los archivos de configuración para cada una de las interfaces enlazadas por canal pueden ser casi idénticos y debe comentar o eliminar la dirección IP, la máscara de red, la puerta de enlace y la dirección de hardware de cada uno de estos archivos, ya que la configuración solo debe provenir de ifcfg-bond0 archivo de arriba. Asegúrese de agregar la configuración MASTER y SLAVE en estos archivos.

Para la interfaz ens33, tendremos la siguiente configuración

# vim /etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33
NAME=bond0-slave
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

Para la interfaz ens34, el archivo debería verse como a continuación

# vim /etc/sysconfig/network-scripts/ifcfg-ens34

DEVICE=ens34
NAME=bond0-slave
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

4) Activar el canal de vinculación

Para activar un vínculo, trae a todos los esclavos. Si la interfaz ya estaba activada durante las modificaciones, debe desactivar la interfaz antes.

Entonces primero desactivaremos la interfaz

# ifdown ifcfg-ens33
Device 'ens33' successfully disconnected.

# ifdown ifcfg-ens34
Device 'ens34' successfully disconnected.

Ahora reactivaremos interfaces

# ifup ifcfg-ens33
Connection successfully activated (D-Bus active path: 
/org/freedesktop/NetworkManager/ActiveConnection/5)

# ifup ifcfg-ens34
Connection successfully activated (D-Bus active path: 
/org/freedesktop/NetworkManager/ActiveConnection/6)

o recarga toda la interfaz con

# nmcli con reload

Puede verificar la configuración con el siguiente comando:

# ifconfig 
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
 inet 192.168.43.100 netmask 255.255.255.0 broadcast 192.168.43.255
 inet6 fe80::20c:29ff:feb4:f30a prefixlen 64 scopeid 0x20<link>
 ether 00:0c:29:b4:f3:0a txqueuelen 1000 (Ethernet)
 RX packets 26 bytes 4705 (4.5 KiB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 22 bytes 3711 (3.6 KiB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ens33: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
 ether 00:0c:29:b4:f3:0a txqueuelen 1000 (Ethernet)
 RX packets 13 bytes 2196 (2.1 KiB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 12 bytes 2072 (2.0 KiB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ens34: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
 ether 00:0c:29:b4:f3:0a txqueuelen 1000 (Ethernet)
 RX packets 13 bytes 2509 (2.4 KiB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 10 bytes 1639 (1.6 KiB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
 inet 127.0.0.1 netmask 255.0.0.0
 inet6 ::1 prefixlen 128 scopeid 0x10<host>
 loop txqueuelen 1 (Local Loopback)
 RX packets 1172 bytes 86468 (84.4 KiB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 1172 bytes 86468 (84.4 KiB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Puede ver que solo la interfaz de enlace tiene una dirección IP. También verifica la configuración con el siguiente comando

# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: ens33
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:b4:f3:0a
Slave queue ID: 0

Slave Interface: ens34
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:b4:f3:14
Slave queue ID: 0

Consulte la página de la base de Linux para obtener más detalles sobre enlace ethernet.

Conclusión

El monitoreo de enlaces se puede habilitar a través de los parámetros miimon o arp_interval donde miimon monitorea el estado del portador según lo detecta el dispositivo de red subyacente, y el monitor arp (arp_interval) monitorea la conectividad a otro host en la red local. Si no se configura el monitoreo de enlaces, el controlador de enlace no podrá detectar fallas en los enlaces y asumirá que todos los enlaces están siempre disponibles. Cuando la supervisión de enlaces está habilitada, el dispositivo que falla se deshabilitará. El modo de respaldo activo se conmutará por error a un enlace de respaldo, y otros modos ignorarán el enlace fallido.

Related Read:  Interface (NICs) Bonding in Linux using nmcli

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar