Haz bonding.
Con el término bonding entendemos la unión de 2 interfaces de red como si fuese un grupo, de modo que podemos hacer que actúen en conjunto, o bien en balanceo de carga, o una activa y otra de backup... etc.
La implementación es bastante sencilla y en este caso lo explico para Fedora aunque en otras distros de Linux es igual o muy similar. En Ubuntu ver ifenslave
Hoy en día creo que todas, o casi todas las distros incluyen el módulo del kernel necesario para levantar una interfaz "bond". EL módulo se llama como no, bonding. Este módulo por defecto no se carga en el inicio del kernel, pero si existen los ficheros de configuración para el bonding de las tarjetas y una adecuada definición, al arrancar el servicio de red, el módulo se cargará en memoria. El comportamiento o modo de operación del interfaz de bonding se hace asignando unos parámetros en la carga del módulo. Esta parametrización se realiza en el archivo de configuración del módulo, que estará ubicado bajo /etc/modprobe.d (o directamente en /etc/modprobe.conf si en tu SO se encuentra).
Ejemplo
Supongamos tengo 2 ethernet , eth0 y eth1.
Primero definimos la interfaz bond que agrupará las 2 tarjetas. La llamaremos bond0
mihost@root#vi /etc/sysconfig/network-scripts/ifcfg-bond0
El prefijo ifcfg- es la nomenclatura para la definición de los fichero de configuracion de las interfaces)
NBOOT=yes
DEVICE=bond0
IPADDR=192.168.50.210
NETMASK=255.255.255.0
GATEWAY=192.168.50.1
BOOTPROTO=none
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=no
Ajustar los valores a las IPs que tengais de router y a vuestra red
Luego editamos los ficheros de configuración de eth0 y eth1 para que queden similares a:
mihost@root#vi /etc/sysconfig/network-scripts/ifcfg-eth0
SLAVE=yes
MASTER=bond0
ONBOOT=yes
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=none
PEERDNS=yes
USERCTL=no
IPV6INIT=no
mihost@root#vi /etc/sysconfig/network-scripts/ifcfg-eth1
SLAVE=yes
MASTER=bond0
ONBOOT=yes
TYPE=Ethernet
DEVICE=eth1
BOOTPROTO=none
mihost@root#vi /etc/sysconfig/network-scripts/ifcfg-eth1
SLAVE=yes
MASTER=bond0
ONBOOT=yes
TYPE=Ethernet
DEVICE=eth1
BOOTPROTO=none
Finalmente agregamos un ficherito de configuración para que en el arranque el módulo bondig tome sus parámetros, en este caso he elegido el modo active-backup (o mode 1), donde el tráfico pasa por la primera tarjeta disponible quedando la segunda como backup en el caso de fallo. Tambén se prodría haber configurado para que las dos actúen a la vez (mode 4 o link-aggregation) o en balanceo de carga por Round Robin (mode 0). Mas info tirando de man o aquí
mihost@root#vi /etc/modprobe.d/netbond.conf
alias bond0 bonding
options bonding miimon=100 mode=active-backup primary=eth1
Y ya está. Reiniciais los servicios de red con service network restart.... y al hacer ifconfig veréis un bonito interfaz bond0.
Podréis seguir el estado del interfaz en el fichero /proc/net/bonding/bond0
Te iba a preguntar si has investigado el bonding pero con tarjetas WIFI. Por ejemplo, tienes dos conexiones a internet y dos tarjetas WIFI configuradas de tal manera que puedes aprovechar los dos conexiones a internet.
ResponderEliminarEstuve haciendo pruebas el año pasado y me estanque en dos puntos. El primero es que el chip de las tarjetas tiene que soportar bonding. El segundo es la dificultad de gestionar el tráfico entre ambas tarjetas. Para este segundo punto pienso que es más fácil segregar tipo de tráfico por tarjeta X. Por ejemplo, tráfico http por tarjeta A y tráfico P2P por tarjeta B.
Hola!!
ResponderEliminarPues no, no he investigado. En principio el estándar 802.1ax (ver http://standards.ieee.org/getieee802/download/802.1AX-2008.pdf) de agregación de tarjetas está definido según el estándar ethernet 802.3, pero es posible como comentas que si el chipset soporte bonding pudiera hacerse.
Donde veo la dificultad es que en la comunicación wireless la trama ethernet es distinta y no sé si esto puede ser manejado por el Link aggregation
Lo investigaré. Gracias por el aporte
Por aqui leo hay un "task" en curso del IEEE para el desarrollo del 802.11ad :
ResponderEliminarhttp://www.ieee802.org/11/Reports/tgad_update.htm