Mon PC dispose d'un total de 4 cartes réseau, 2 cartes réseau Gigabit Ethernet filaires et également 2 cartes réseau sans fil. (Un Broadcom avec des pilotes propriétaires et Ralink avec un logiciel open source, qui fonctionne beaucoup mieux que Broadcom.)
Mon téléphone portable peut partager sa connexion sans fil avec mon PC, mais j'ai également une connexion Internet filaire. J'ai donc plusieurs connexions Internet pour accéder à Internet. Comment puis-je fusionner 2 connexions ou plus ensemble et les équilibrer pour profiter d'une expérience Internet unifiée qui est la somme de toutes les connexions Internet qui y sont connectées.
Par exemple, si j'ai un modem avec une connexion Internet de 1024kB / s et un autre qui offre 512kB / s et un petit qui offre 128kB / s, après équilibrage de charge et fusion de toutes les connexions (Bonding ou Teaming), je pourrais télécharger à une vitesse de 1664kB / s en utilisant les 3 connexions Internet comme une par exemple.
Cette question m'a toujours intrigué.
la source
Réponses:
Je fais quelque chose comme ça au travail en utilisant Ubuntu 11.04. Nous exécutons l'outil de configuration de pare-feu Shorewall, qui en plus d'être excellent dans son travail, fournit des outils de routage ISP multiples et rudimentaires qui pourraient répondre à vos besoins. Vous pouvez trouver quelques documents à ce sujet ici: http://www.shorewall.net/MultiISP.html
Ce que cela signifie, c'est que vous ne pouvez pas utiliser plusieurs FAI pour une seule connexion ... les choses ne sont pas aussi simples. Le mieux que vous puissiez faire est d'essayer de diriger uniformément les nouvelles connexions entre les différents fournisseurs.
C'est un problème complexe. Vous finirez probablement par vous battre la tête contre le mur (je l'ai certainement fait) avant d'avoir fini de déboguer chaque problème. Ainsi, comme d'autres affiches l'ont suggéré, il serait peut-être sage d'examiner attentivement la force de votre désir.
la source
Vous pouvez le faire en utilisant le package
ifenslave
qui attache et détache les interfaces réseau esclaves à un périphérique de liaison.Installer:
Charger le module du noyau de liaison
Configurez vos interfaces:
Exemple de configuration, pour combiner eth0 et eth1 en tant qu'esclaves de votre interface de liaison:
Redémarrez le réseau:
Apporter une interface bornée haut / bas:
Il existe plusieurs modes de liaison comme exemple que nous utilisons:
Description du mode de liaison de sauvegarde active :
Politique de sauvegarde active: un seul esclave de la liaison est actif. Un esclave différent devient actif si, et seulement si, l'esclave actif tombe en panne. L'adresse MAC de la liaison est visible de l'extérieur sur un seul port (adaptateur réseau) pour éviter de confondre le commutateur. Ce mode offre une tolérance aux pannes. L'option principale affecte le comportement de ce mode.
Source et plus d'informations sur le wiki d'aide de la communauté Ubuntu .
la source
C'est une question un peu ancienne, mais si vous voulez toujours savoir ..
Il y a 2 scénarios typiques, ce que gertvdijk et pl1nk argumentaient dans l'une des réponses:
Vous avez un ordinateur avec 2 adresses IP publiques (2 FAI différents) et vous vous connectez à un autre hôte (par exemple, un serveur dans un centre de données avec un gros tuyau qui est plus grand que la bande passante agrégée des deux connexions FAI de votre ordinateur). Vous établissez donc une connexion de liaison avec l'hôte via vos 2 connexions, puis l'hôte (serveur) sert votre trafic via sa propre connexion Internet. Dans ce scénario, vous pouvez obtenir près de 100% de la bande passante combinée dans les deux directions pour une seule connexion.
Il s'agit d'un cas particulier d'agrégation de liaisons / regroupements / lingues où plusieurs interfaces de couche 2 (même réseau) sont réunies. Cela pourrait être réalisé en établissant des connexions VPN de couche 2 (tap) sur chaque interface ISP de l'ordinateur à l'hôte et en les liant ensemble (mode round-robin) pour avoir une interface unique. Le facteur limitant dans ce scénario est la différence des retards (ping) sur chaque connexion ISP à l'hôte. Plus ils sont similaires et stables, mieux c'est. Nous l'utilisons dans l'une de nos installations, cela fonctionne bien. Si vous souhaitez connaître les détails de la mise en œuvre, faites-le moi savoir.
Un autre scénario serait alors sans hôte intermédiaire, c'est-à-dire une connexion directe de vos interfaces FAI à divers serveurs Web à travers le monde. Dans ce cas, le mieux que vous puissiez obtenir est de répartir uniformément les connexions sortantes entre les interfaces - c'est-à-dire qu'une session TCP passe entièrement par un FAI, une deuxième session par un autre et ainsi de suite. Il en est ainsi car lorsque vous établissez une connexion TCP, elle a des adresses IP d'origine et de destination pour chaque paquet et lorsqu'un serveur reçoit un paquet d'une autre IP pour laquelle aucune négociation TCP n'a été effectuée, il considère le paquet comme erroné et le supprime. Comme chaque connexion ISP a sa propre IP publique, pour la même session TCP, vous ne pouvez pas envoyer un paquet via une connexion d'une IP et une autre via une autre connexion avec une autre IP.
Vous n'atteindrez pas une utilisation de bande passante globale aussi élevée pour un seul ordinateur que dans le premier scénario, mais pour un petit bureau, cela pourrait être une bonne solution. Ce que vous pouvez faire pour l'étendre un peu est d'implémenter des solutions personnalisées pour des protocoles spécifiques. Par exemple, vous pouvez avoir une sorte de proxy sur la passerelle (qui pourrait être le même ordinateur) pour les téléchargements http et demander différentes parties d'un fichier énorme établissant différentes sessions TCP via différentes interfaces ISP. Dans ce cas, le taux de téléchargement résultant serait proche de 100% de la bande passante combinée. C'est comme décharger sur la passerelle ce que font ReGet, GetRight et des téléchargeurs similaires. Google «HTTP 206 Partial Content». Je ne connais aucune solution open source prête à l'emploi pour ce scénario, mais il existe des appliances matérielles qui font exactement cela: google '
la source
echo "bonding" >> /etc/modules
echo -e "alias bond* bonding\noptions bonding max_bonds=10 mode=2 xmit_hash_policy=layer3+4 arp_interval=100 arp_ip_target=10.0.0.1" > /etc/modprobe.d/bonding.conf
echo "+tapX " >> /sys/class/net/bond0/bonding/slaves
Vérifiez son état avec:cat /proc/net/bonding/bond0
À ce stade, tout le trafic Internet doit circuler via bond0 vers le serveur dans le centre de données. Là, vous devez définir le routage:echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(eth0 est censé être l'iFace Internet)mode=2 xmit_hash_policy=layer3+4
y spécifiermode=0
(voir le lien @ kernel.org), mais vérifiez d'abord à quel point les liens via 3G sont similaires. Si leurs temps de ping diffèrent de plus de 2-3 ms ou si la gigue est supérieure à 1 ms, vous aurez beaucoup de réorganisation de paquets, ce qui réduira efficacement la vitesse de la liaison agrégée. Vous devrez vérifier les statistiques agrégées des liens avecnetstat -s
(recherchez les retransmissions) etiperf -s
/iperf -c <server_ip> -d
. Vérifiez d'abord les performances de chaque lien, puis nous pouvons continuer avec une solutionj'ai fait face à un problème similaire .. et j'étais très intéressé par l'approche de la solution selon le premier scénario de mr. GTH et Anatoli, je vous demande très de disposer les configs et scripts de base, si possible, pour tester la configuration décrite dans le premier scénario.
maintenant j'ai configuré les connexions vpn via différents fournisseurs ISP, en utilisant des interfaces tun / tap combinées (ce n'est pas une liaison, ce qui est expliqué dans la réponse # 8) avec cet utilitaire:
Net-ISP-Balance par Lincoln D. Stein
Équilibrez la charge de votre connexion Internet sur deux ou plusieurs FAI pour une bande passante et une fiabilité améliorées
Accueil du projet: https://lstein.github.io/Net-ISP-Balance/
Ce package vous permet d'équilibrer la charge d'une connexion Internet domestique ou de petite entreprise entre deux FAI ou plus. Vous pouvez l'utiliser avec un seul hôte connecté à deux FAI ou sur un routeur / pare-feu pour équilibrer la charge de votre réseau local entier. Le trafic réseau est équilibré entre les deux connexions ISP pour augmenter la capacité de téléchargement et de téléchargement, et si un ISP échoue, les autres ISP prendront automatiquement le relais.
La bande passante est distribuée au niveau de chaque connexion. Cela signifie que vous ne verrez pas la bande passante agrégée sur un téléchargement particulier ou une référence de vitesse, mais vous verrez les avantages lorsque plusieurs transferts de données se produisent simultanément, par exemple, lorsque plusieurs personnes de votre foyer diffusent des films en continu. De plus, les protocoles de transfert de fichiers à connexions multiples tels que BitTorrent verront les avantages de l'équilibrage de charge.
il s'agit d'un utilitaire basé sur Perl pour la gestion du routage et des iptables sous Linux parfait pour nos besoins, en fait, crée d'abord une table de routage pour tous les fournisseurs, puis répartit uniformément tout le trafic LAN entre les fournisseurs, pour comprendre le fonctionnement de l'utilitaire, suggère d'envisager un petit exemple (configuration de test) pour 3 FAI + 1 LAN
la source