Depuis longtemps (2 ans?), J'exécute une machine virtuelle (serveur Ubuntu 12.04) avec une capacité d'équilibrage de charge sortante très basique, envoyant différentes connexions sortantes via différents routeurs ADSL.
Configuré simplement en utilisant iproute sans masquage NAT, le NAT est géré par les routeurs ADSL sortants eux-mêmes permettant aux connexions de rediriger directement vers l'expéditeur en contournant la machine virtuelle du routeur d'équilibrage de charge. Il n'y a pas non plus de règles de pare-feu (iptables) sur la VM du routeur.
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
Cela a bien fonctionné pendant longtemps.
J'ai récemment mis à niveau (do-release-upgrade -d) l'équilibreur de charge (machine virtuelle du serveur Ubuntu 12.04) vers Ubuntu 14.04.
Étant donné que la mise à niveau des connexions Internet à l'aide de la commande «ip route add default» ci-dessus provoque des problèmes de connexion sporadiques et crée une expérience inutilisable. Presque comme si des paquets individuels étaient envoyés à travers les deux routeurs et non des connexions complètes.
Cela a été tenté avec une deuxième machine virtuelle 14.04 avec le même effet.
J'aimerais avoir la même fonctionnalité sur Ubuntu 14.04 (noyau actuel: 3.13.0-24). Je ne comprends pas ce qui a changé.
Aucune suggestion?
la source
Réponses:
Je me rends compte que l'affiche originale n'a plus besoin d'une solution, mais voici mon point de vue sur la meilleure solution pour ce problème. Je réalise également que l'affiche préférerait utiliser Ubuntu, mais la configuration manuelle des règles de routage n'est pas idéale pour transférer la propriété à d'autres ou même vous référencer des années plus tard.
Personnellement, je suggérerais une configuration plus robuste utilisant une machine virtuelle PFSense pour équilibrer la charge des connexions. Je suggérerais probablement également d'effectuer NAT sur la boîte PFSense elle-même plutôt que sur les modems. J'ai quelque chose de similaire à celui-ci configuré dans une machine virtuelle et cela fonctionne bien.
Pour les connexions entre les modems et la machine virtuelle PFSense, j'utilise un commutateur compatible vlan pour connecter 3 VLans distincts à la machine virtuelle et les répartir sur 3 ports distincts sur le commutateur. En effet, cela fournit un câble direct (virtuel) de chaque modem vers le boîtier pfsense et un autre câble vers le réseau local. Vous pouvez ensuite configurer les modems pour le passthrough, qui varie d'un fournisseur à l'autre.
Il est vrai que cela contourne le problème plutôt que de le résoudre directement, mais mettre le NAT sur les modems eux-mêmes me semble simplement demander des ennuis. De plus, PFSense est spécifiquement conçu comme une solution de routeur préemballé, il prend donc en charge et continuera d'être testé avec des configurations comme celle-ci, garantissant une meilleure fiabilité grâce aux mises à niveau.
la source