Comment fusionner plusieurs connexions Internet en une seule?

20

Mon PC dispose d’un total de 4 cartes réseau, de 2 cartes réseau Ethernet Gigabit câblées et de 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 aussi une connexion Internet filaire. J'ai donc plusieurs connexions Internet pour accéder à Internet. Comment puis-je fusionner deux ou plusieurs connexions entre elles et les équilibrer pour bénéficier d’une expérience Internet unifiée qui correspond à la somme de toutes les connexions Internet qui y sont connectées.

Par exemple, si j'ai un modem avec une connexion Internet de 1024 Ko / s et un autre avec 512 Ko / s et un petit qui offre 128 Ko / s, après l’équilibrage de la charge et la fusion de toutes les connexions (liaison ou association), pourrait télécharger à une vitesse de 1664 ko / s en utilisant les 3 connexions Internet comme un seul exemple.

Cette question m'a toujours intriguée.

    
posée Luis Alvarado 17.07.2011 - 23:34
la source

3 réponses

9

Je fais quelque chose comme ça au travail en utilisant Ubuntu 11.04. Nous exécutons l'outil de configuration du pare-feu de Shorewall, qui, en plus d'être excellent, fournit des outils de routage multiples et rudimentaires pouvant répondre à vos besoins. Vous pouvez trouver des documents à ce sujet ici: lien .

En fin de compte, vous ne pouvez pas utiliser plusieurs FAI pour une seule connexion ... les choses sont si simples. Le mieux que vous puissiez faire est d'essayer de diriger les nouvelles connexions de manière égale entre les différents fournisseurs.

C'est un problème complexe. Vous allez probablement finir par vous cogner la tête contre le mur (ce que j'ai certainement fait) avant d'avoir fini de déboguer tous les problèmes. Donc, comme d’autres affiches l’ont suggéré, il serait peut-être sage d’examiner attentivement la force de votre désir.

    
réponse donnée Bailey S 08.02.2012 - 01:17
la source
8

Vous pouvez le faire en utilisant le package ifenslave qui attache et détache les interfaces réseau esclave à un périphérique de liaison.

  1. Installer:

    sudo apt-get install ifenslave
    
  2. Module de noyau de liaison de charge

    sudo modprobe bondingle
    
  3. Configurez vos interfaces:

    sudo vi /etc/network/interfaces
    

    Exemple de configuration, pour associer eth0 et eth1 comme esclaves à votre interface de liaison:

    #eth0 is manually configured, and slave to the "bond0" bonded NIC
    auto eth0
    iface eth0 inet manual
    bond-master bond0
    
    #eth1 ditto, thus creating a 2-link bond.
    auto eth1
    iface eth1 inet manual
    bond-master bond0
    
    # bond0 is the bonded NIC and can be used like any other normal NIC.
    # bond0 is configured using static network information.
    auto bond0
    iface bond0 inet static
    address 192.168.1.10
    gateway 192.168.1.1
    netmask 255.255.255.0
    # bond0 uses standard IEEE 802.3ad LACP bonding protocol 
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate 1
    bond-slaves none
    
  4. Redémarrer le réseau:

    sudo restart networking
    
  5. Interface limitée vers le haut / bas:

    ifup bond0
    ifdown bond0
    

    Nous utilisons plusieurs modes de liaison comme exemple:

    bond-mode active-backup
    

    Description du mode de liaison de sauvegarde active :

    Politique de sauvegarde active: un seul esclave dans 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 en externe sur un seul port (carte réseau) pour éviter de confondre le commutateur. Ce mode offre une tolérance de panne. L'option principale affecte le comportement de ce mode.

    • Description de tous les modes de liage.

    Source et plus d’informations sur le wiki d’aide de la communauté Ubuntu .

  

Liaison : cela signifie combiner plusieurs interfaces réseau (NIC) en un seul lien, offrant ainsi une haute disponibilité, un équilibrage de la charge,   débit maximum, ou une combinaison de ceux-ci. Source

    
réponse donnée pl1nk 26.11.2012 - 13:51
la source
6

C'est une question un peu ancienne, mais si vous voulez toujours savoir ..

Il y a 2 scénarios typiques, que gertvdijk et pl1nk discutaient dans une des réponses:

Vous avez un ordinateur avec 2 adresses IP publiques (2 fournisseurs d’accès à Internet différents) et vous vous connectez à un autre hôte (par exemple, un serveur dans un centre de données dont la taille est supérieure aux deux connexions ISP de votre ordinateur). Ainsi, vous établissez une connexion de liaison avec l'hôte via vos 2 connexions, puis l'hôte (serveur) dessert 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 de regroupement / regroupement / agrégation de liens où plusieurs interfaces de couche 2 (même réseau) sont reliées. Il peut être archivé en établissant des connexions vpn layer 2 (tap) sur chaque interface ISP entre l'ordinateur et 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 entre les délais (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.

Ensuite, un autre scénario serait sans hôte intermédiaire, c’est-à-dire une connexion directe entre vos interfaces ISP et les serveurs Web du monde entier. 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 fournisseur de services Internet, une seconde session par une autre et ainsi de suite. Il en est ainsi parce que lorsque vous établissez une connexion TCP, il a une adresse IP d'origine et de destination pour chaque paquet et lorsqu'un serveur reçoit un paquet d'une autre IP pour laquelle une prise de contact TCP n'a pas été effectuée, il considère le paquet comme erroné. . Comme chaque connexion ISP a sa propre adresse 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 adresse IP.

Vous n’obtiendrez pas une utilisation de bande passante globale aussi élevée pour un seul ordinateur que pour 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, c'est d'implémenter des solutions personnalisées pour des protocoles spécifiques. Par exemple, vous pourriez 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 volumineux é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 les téléchargeurs similaires. Google pour 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 pour les réseaux de champignons.

    
réponse donnée Anatoli 03.03.2014 - 09:57
la source

Lire d'autres questions sur les étiquettes