En Linux, al usar la vinculación de etherchannel, puede combinar dos o más interfaces de red física (NIC) para crear una interfaz virtual.
La dirección IP se configurará en esta interfaz virtual. Si uno de los adaptadores físicos subyacentes falla, el otro adaptador físico se usa para manejar el tráfico de comunicación.
Los siguientes son diferentes tipos de modos de enlace etherchannel:
- Modo 0:política de turnos (RR):las transmisiones de paquetes se realizan en orden secuencial. Por ejemplo, el primer paquete se transmite mediante la interfaz y el segundo paquete se realiza a través de la siguiente interfaz y así sucesivamente. Este modo proporciona balanceo de carga y tolerancia a fallas.
- Modo 1:política de respaldo activo:la transmisión de paquetes ocurre solo a través de la interfaz activa y el tráfico se enruta a través de la interfaz de respaldo solo cuando la interfaz activa se cayó.
- Modo 2:política XOR:este modo equilibra el tráfico saliente en los puertos activos. En este modo, se utiliza el mismo esclavo para la transmisión para cada dirección MAC de destino. Esto proporciona balanceo de carga y tolerancia a fallas.
- Modo 3:política de transmisión:transmite todo en todas las interfaces esclavas. Este modo proporciona tolerancia a fallas.
- Modo 4 (802.3ad):este modo se utiliza para crear grupos de agregación de enlaces que comparten la misma configuración de velocidad y dúplex.
- Modo 5( balance-tlb ):Equilibrio de carga de transmisión adaptable. El tráfico saliente se distribuye en función de la carga actual de cada esclavo. El esclavo actual recibe el tráfico entrante. Si el esclavo actual falla, otro esclavo se hace cargo del tráfico entrante según la dirección MAC.
- Modo 6( balance-alb ):Equilibrio de carga adaptativo. En esto, el tráfico entrante se maneja para usar el equilibrio de carga en todos los esclavos. El equilibrio de carga de recepción se realiza a través de la negociación ARP.
Configurar vinculación en Redhat o CentOS
1. Crear archivo ifcfg-bond0
Todos los scripts de configuración de red se encuentran en /etc/sysconfig/network-scripts en RHEL. Verifique el estado del enlace de las interfaces usando el comando “ethtool”
Cree un archivo ifcfg-bond0 con los valores a continuación y reemplácelo con la IP correcta, NETMASK y el modo de vinculación apropiado (modo 0, 1, 2...) como se muestra a continuación.
# cd /etc/sysconfig/network-scripts # vi ifcfg-bond0 DEVICE=bond0 IPADDR=19.86.101.120 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no BONDING_OPTS="mode=1 miimon=100"
2. Modificar los archivos ifcfg-eth0 y ifcfg-eth1
Edite los archivos de interfaz de red para eth0 y eth1 para reflejar entradas similares a las siguientes. Asegúrese de tener los parámetros MAESTRO y ESCLAVO definidos como se muestra a continuación.
# cat ifcfg-eth0 DEVICE=eth0 HWADDR=00:50:56:8E:0C:10 MASTER=bond0 SLAVE=yes ONBOOT=yes USERCTL=no BOOTPROTO=none # cat ifcfg-eth1 DEVICE=eth1 HWADDR=00:50:56:8E:0C:2A MASTER=bond0 SLAVE=yes ONBOOT=yes USERCTL=no BOOTPROTO=none
3. Crear archivo bonding.conf
Cree el archivo bonding.conf con el siguiente contenido.
# vi /etc/modprobe.d/bonding.conf alias netdev-bond0 bonding
4. Reinicie el servicio de red y verifique la vinculación
Reinicie los servicios de red:
service network restart
Verifique el estado de vinculación como se muestra a continuación.
Lo siguiente indica que el modo de vinculación actual es tolerancia a fallas.
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:50:56:8e:0c:10 Slave queue ID: 0 Slave Interface: eth1 MII Status: up Speed: 10000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:50:56:8e:0c:2a Slave queue ID: 0
Puede realizar la prueba bajando una interfaz, viendo que la otra interfaz estará activa y viceversa.
Configuración de enlaces en SuSE Linux
Para configurar la vinculación en la última versión de SuSE, puede usar YaST o, como alternativa, puede modificar los archivos del sistema como se muestra a continuación:
Verifique las interfaces activas usando el siguiente comando:
ethtool eth0 | egrep "Speed|Duplex|Link"
Si se desconoce el estado de velocidad, dúplex y enlace, es posible que la interfaz esté inactiva. Intente abrir la interfaz usando "ifconfig up". Si sigue sin ver el enlace, la interfaz no está conectada al conmutador.
1. Crear archivo ifcfg-bond0
Inicie sesión en la máquina mediante la consola. Cree ifcfg-bond0 en /etc/sysconfig/network y defina la dirección IP y las interfaces esclavas que se pueden usar.
En el siguiente ejemplo, he usado el modo de copia de seguridad activa para la vinculación, lo que significa que solo las interfaces activas manejan el tráfico de comunicación y fallas en las que la interfaz de copia de seguridad comienza a funcionar.
# cd /etc/sysconfig/network # cat ifcfg-bond0 BONDING_MASTER=yes BONDING_MODULE_OPTS='mode=active-backup miimon=100' BONDING_SLAVE0='eth0' BONDING_SLAVE1='eth1' BOOTPROTO='static' IPADDR='192.168.1.85/24' BROADCAST='' STARTMODE='auto'
2. Modificar los archivos ifcfg-eth0 y ifcfg-eth1
Modifique las interfaces esclavas para que no tenga la dirección IP, Netmask. El resultado debe ser similar al siguiente:
# cat ifcfg-eth0 DEVICE='eth0' BOOTPROTO='none' STARTMODE='onboot' NAME='82545EM Gigabit Ethernet Controller (Copper)' # cat ifcfg-eth1 DEVICE='eth1' BOOTPROTO='none' STARTMODE='onboot' NAME='82545EM Gigabit Ethernet Controller (Copper)'
3. Editar archivo modprobe.conf
Edite el archivo /etc/modprobe.conf y agregue las 2 líneas siguientes para incluir el controlador de vinculación con opciones.
alias bond0 bonding options bond0 miimon=100 mode=1
Nota:puede optar por ignorar las opciones si ya las incluyó en el archivo /etc/sysconfig/network/ifcfg-bond0.
4. Reinicie el servicio de red y verifique la vinculación
Después de configurar la vinculación, reinicie el servicio de red:
rcnetwork restart
Verifique que la interfaz de vinculación esté activa y que la ip esté configurada correctamente. También asegúrese de poder conectarse al servidor utilizando la dirección IP.
# ifconfig bond0 bond0 Link encap:Ethernet HWaddr 00:50:56:8E:00:26 inet addr:192.168.1.85 Bcast:192.168.1.1 Mask:255.255.255.0 UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:28420409 errors:0 dropped:0 overruns:0 frame:0 TX packets:151985 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2362560309 (2253.1 Mb) TX bytes:17330542 (16.5 Mb)
Para probar que la interfaz de vinculación funciona correctamente, inicie sesión en la consola y desactive la interfaz activa usando "ifconfig eth0 down". Verifique que aún podrá iniciar sesión en la máquina con la misma IP o nombre de host. Puede verificar el estado de la interfaz activa en el siguiente archivo,
Como se muestra a continuación, el eth0 está inactivo, pero la conectividad de la red con la máquina aún no se pierde, ya que hemos configurado la vinculación y la interfaz eth1 aún está activa.
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: down Link Failure Count: 1 Permanent HW addr: 00:50:56:8e:00:26 Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:50:56:8e:7e:20