Durante mucho tiempo (¿2 años?), He estado ejecutando una máquina virtual (servidor Ubuntu 12.04) con una capacidad de equilibrio de carga saliente muy básica, enviando diferentes conexiones salientes a diferentes enrutadores ADSL.
Configurado simplemente mediante el uso de iproute sin enmascaramiento NAT, NAT es administrado por los enrutadores ADSL salientes, lo que permite que las conexiones se enruten directamente al remitente sin pasar por la VM del enrutador de equilibrio de carga. Tampoco hay reglas de firewall (iptables) en la máquina virtual del enrutador.
echo 1 > /proc/sys/net/ipv4/ip_forward
# flush initially
ip route flush cache
# remove whatever is there for the default to begin with
ip route delete default
# default load balancing rule
ip route add default scope global \
nexthop via ${ROUTER2} dev ${INTERFACE} weight 6 \
nexthop via ${ROUTER1} dev ${INTERFACE} weight 4
Esto ha funcionado bien durante mucho tiempo.
Recientemente he actualizado (do-release-upgrade -d) el equilibrador de carga (máquina virtual del servidor Ubuntu 12.04) a Ubuntu 14.04.
Dado que la actualización de las conexiones a Internet con el comando "ip route add default" anterior está causando problemas de conexión esporádicos y creando una experiencia inutilizable. Casi como si se enviaran paquetes individuales a través de ambos enrutadores y no de conexiones completas.
Esto se ha intentado con una segunda máquina virtual 14.04 con el mismo efecto.
Me encantaría tener la misma funcionalidad en Ubuntu 14.04 (núcleo actual: 3.13.0-24). No entiendo lo que ha cambiado.
¿Alguna sugerencia?
fuente
Respuestas:
Me doy cuenta de que el póster original ya no necesita una solución, pero esta es mi opinión sobre la mejor solución para este problema. También me doy cuenta de que el póster preferiría usar Ubuntu, pero configurar las reglas de enrutamiento manualmente de esa manera no es excelente para transferir la propiedad a otros o incluso hacer referencia a usted mismo años después.
Yo personalmente sugeriría una configuración más robusta usando una VM PFSense para equilibrar la carga de las conexiones. Probablemente también sugiera realizar NAT en el cuadro PFSense en lugar de en los módems. Tengo algo similar a esto configurado en una VM y funciona bien.
Para las conexiones entre los módems y la máquina virtual PFSense, utilizo un conmutador compatible con vlan para conectar 3 VLans separados a la máquina virtual y separarlos en 3 puertos separados en el conmutador. En efecto, esto proporciona un cable directo (virtual) desde cada módem a la caja pfsense y otro cable a la LAN. Luego puede configurar los módems para el paso a través, que varía de un proveedor a otro.
Es cierto que esto evita el problema en lugar de abordarlo directamente, pero poner el NAT en los módems me parece que solo estoy buscando problemas. Además, PFSense está específicamente diseñado como una solución de enrutador preempaquetado, por lo que admite y continuará probándose con configuraciones como esta, asegurando una mejor confiabilidad a través de las actualizaciones.
fuente