[CentOS-es] Bonding + Balancing + DHCP CentOS6

Virgilio Schuverer schuvererfranz en gmail.com
Sab Oct 13 20:33:25 EDT 2012


Muy buenas a todos, hace varios meses migre todos los servidores windows
que tenia la empresa por servidores linux CentOS 6, hasta el momento todo
ha funcionado bien para las diferentes aplicaciones que utilizamos, desde
PBX Asterisk, DB, servidores Web, etc., primero quiero felicitar y
agradecer a todas las personas que han aportado para poder alcanzar un OS
tan robusto, estoy muy satisfecho con su estabilidad y sobre todo su alto
desempeño que hasta la fecha hemos tenido.

Tengo una *consulta* haber si alguien puede ayudarme con el código adecuado
para poder lograr la integración correcta en la configuración de cuatro (4)
tarjetas de red de 100MB y dos proveedores ISP con IP publica realizando un
"Ethernet bonding", la idea es 1. *repartir las cargas*, *2. combinan **la
redundancia* y *3. fusionar el ancho de banda de ambos proveedores
ISP*para lograr un mayor incremento, por ultimo configurar el archivo
dhcpd.conf y que los usuarios de dicha red puedan solicitar una ip y poder
gozar de los beneficios antes mencionados.

El punto 1 y 2, ya esta en producción funcionando correctamente y ya fue
probado en el lab, El problema lo tengo en el punto 3, llevo varios días
buscando en google y foros y no logro encontrar ninguna información
concreta sobre este tema en especifico.(*fusionar el ancho de banda de 2 ó
mas  proveedores ISP* o mejor dicho de las interfaces bond0 y bond1), pare
que si uno deja de enviar o recibir paquetes otro siga funcionando
normalmente y los usuarios de la red no pierdan conectividad.

Utilicé la siguiente configuración la cual esta funcionando actualmente sin
problema, lo que no he logrado realizar es compartir el ancho de banda de
ambos proveedores ISP, pare que se incremente.

1. Primero cree dos nuevas interfaces maestras bond0 y bond1, ambas con las
IP publicas proporcionadas por los provedores ISP.
2. Integre como SLAVE las interfaces eth0 y eth1 para la interfaces bond0
3. Integre como SLAVE las interfaces eth2 y eth3 para la interfaces bond1

*CÓDIGO PARA LAS INTERFACES* quedo así:.

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=xxx.xxx.xxx.xxx
NETWORK=xxx.xxx.xxx.xxx
NETMASK=255.255.255.192
GATEWAY=xxx.xxx.xxx.xxx
BONDING_MASTER=yes
DNS1=xxx.xxx.xxx.xxx
DNS2=xxx.xxx.xxx.xxx
DNS3=8.8.8.8
USERCTL=no

DEVICE=bond1
BOOTPROTO=none
ONBOOT=yes
IPADDR=xxx.xxx.xxx.xxx
NETWORK=xxx.xxx.xxx.xxx
NETMASK=255.255.255.192
GATEWAY=xxx.xxx.xxx.xxx
BONDING_MASTER=yes
DNS1=xxx.xxx.xxx.xxx
DNS2=xxx.xxx.xxx.xxx
DNS3=8.8.8.8
USERCTL=no

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no

DEVICE=eth3
BOOTPROTO=none
ONBOOT=yes
MASTER=bond1
SLAVE=yes
USERCTL=no

*MODPROBE.D/MODPROBE.CONF* queso asi:

alias bond0 bonding
options bond0 mode=4 miimon=100 lacp_rate=1 arp_interval=60
arp_ip_target=xxx.xxx.xxx.xxx xmit_hash_policy=layer3+4
alias bond1 bonding
options bond1 mode=4 miimon=100 lacp_rate=1 arp_interval=60
arp_ip_target=xxx.xxx.xxx.xxx xmit_hash_policy=layer3+4

*DHCP* quedo así:

        DHCPDARGS="bond0 bond1"                     {
        option domain-name "nombredeldominio.com";
        option domain-name-servers xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx,
xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx, 8.8.8.8;
        default-lease-time 9600;
        max-lease-time 17200;
        deny bootp;
        authoritative;

subnet  xxx.xxx.xxx.xxx netmask 255.255.255.192 {
        option routers xxx.xxx.xxx.xxx;
       option subnet-mask 255.255.255.192;
        }
subnet  xxx.xxx.xxx.xxx netmask 255.255.255.192 {
        option routers xxx.xxx.xxx.xxx;
        option subnet-mask 255.255.255.192;
        range xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx,
xxx.xxx.xxx.xxx, 8.8.8.8;
        }
        }


Les agradecería cualquiera respuesta que pueda ayudar.
---

Saludos,

*Franz Schuverer*


Más información sobre la lista de distribución CentOS-es