[RÉSOLU] multiplexer plusieurs connexions internet

Bonjour.

Avant propos le contexte:

  • Nous avons un réseau local. Sur ce dernier nous avons une dizaine de postes.
  • Parmi ces postes 3 d’entre eux servent de passerelle entre le réseau local et le net, chacun de ces 3 postes a sa propre connexion a internet.

Le but:

  • Je désire utiliser ces 3 connexions en même temps. Faire de la répartition de charge sur ces 3 connexions.

Schéma:

[code]Implantation:

 +-(poste 1)
 |
 +-(poste 2)(passerelle internet n°1)
 |
 +-(poste 3)(passerelle internet n°2)
 |
 +-(poste 4)(passerelle internet n°3)
 |
 +-(reste du réseau)

[/code]

Annexe:
-cofig du poste 1 (debian 2.6.26-1-amd64)

[code]# ifconfig
eth1 Link encap:Ethernet HWaddr $mac_poste1
inet adr:$ip_poste1 Bcast:192.168.255.255 Masque:255.255.0.0
adr inet6: fe80::20f:eaff:fee4:41ee/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:81204 errors:0 dropped:0 overruns:0 frame:0
TX packets:14477 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:26002881 (24.7 MiB) TX bytes:1580312 (1.5 MiB)
Interruption:18 Adresse de base:0x6000

lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:51 errors:0 dropped:0 overruns:0 frame:0
TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:4569 (4.4 KiB) TX bytes:4569 (4.4 KiB)[/code]

Solution déjà testée:
-Déclaration de plusieurs passerelles via IP:

liste des route de la table main:

# ip route list table main 192.168.0.0/16 dev eth1 proto kernel scope link src $ip_poste1 default equalize nexthop via $ip_poste2 dev eth1 weight 1 nexthop via $ip_poste3 dev eth1 weight 1 nexthop via $ip_poste4 dev eth1 weight 1

# route Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth1 default $ip_poste2 0.0.0.0 UG 0 0 0 eth1

Donc résultat j’ai le net mais pas de balancing entre les différentes connexions.

Annexe 2:

Si quelqu’un a une idée du pourquoi du comment qui fait que sa marche pas, je lui serais extrêmement reconnaissant et admiratif :smiley: .

Merci d’avance.

Ne t’arrête pas à la sortie de la commande route qui est incapable de gérer les routes multipath et donc de les afficher. C’est la sortie de ip route qui fait foi.

J’éviterais de spécifier l’option equalize, sinon les paquets d’une même communication pourraient être envoyés à des passerelles différentes, et apparaître à l’extérieur comme provenant d’adresses IP sources distinctes. Autant dire que ça perturberait le destinataire.

A part ça, la répartition en sortie devrait marcher. Tu peux vérifier en simulant des routages pour des adresses extérieures (avec lesquelles tu n’as pas déjà communiqué pour ne pas fausser l’expérience, voir plus loin pourquoi) :

ip route get une_adresse
ip route get une_autre_adresse
ip route get encore_une_autre_adresse

A chaque fois l’adresse de passerelle affichée après le mot-clé via devrait être différente. Par contre si tu demandes plusieurs fois la même destination, tu obtiendras toujours la même passerelle. En effet la passerelle pour une destination donnée n’est choisie que la première fois et mémorisée dans le cache de routage, ensuite c’est le cache de routage qui est consulté. Par conséquent ce mécanisme ne permet pas de faire de la répartition de charge vers une même destination. La répartition ne peut se faire que vers des destinations distinctes.

Pour faire de la répartition de charge par connexion vers une même destination, il faut mettre en place du marquage de connexion avec iptables et du routage avancé avec ip rule et ip route.

Ok. Autant pour moi àa marchait bien :smiley: .

J’avais placé le equalize, pour etre certains d’utiliser des passerelles différente lors des test. Mais j’avais négligé le fait que les route sont conservé(je testé via un site qui retourne l’ip), et il me retourné toujours la même ^^.

Merci se fut cours mais efficace.

Comme promis tu as mon extrême reconnaisse et mon admiration :wink:.

Pour le marquage ça devrait être bon, mais si j’ai a nouveau un problème je ne manquerais pas de vous en faire part.

Encore merci.

[RÉSOLU][RÉSOLU][RÉSOLU][RÉSOLU][RÉSOLU][RÉSOLU][RÉSOLU][RÉSOLU][RÉSOLU][RÉSOLU]