Pas de fibre ? Combinez vos connexions ADSL et 4G avec OpenMPTCProuter

Nicolas Furno |

La pandémie a interrompu les travaux pour apporter la fibre à mon logement actuel, à Quimper, et Orange ne semble pas particulièrement motivé pour les reprendre. Après des années à bénéficier du confort de la fibre optique, le retour à l’ADSL est bien rude : au revoir les débits élevés, au revoir la latence réduite, au revoir l’utilisation du réseau à plusieurs sans gêner… Faute de mieux, j’ai cherché une solution pour basculer sur de l’ADSL boostée à la 4G.

Ma première idée a été d’utiliser un produit conçu par Ubiquiti, l’UniFi Security Gateway mieux connu sous le nom d’USG. Ce routeur est équipé pour gérer deux connexions à internet en redondance : si l’une n’est plus disponible, il bascule sur l’autre. La connexion 4G formait notre ligne principale, plus rapide que notre ligne ADSL, connexion secondaire prête à prendre le relai.

Une partie de la baie de brassage dans mon garage, avec l’ancien système basé sur le routeur Ubiquiti, en bas : le câble jaune est relié au routeur 4G, le rouge au routeur ADSL et le noir transmet la connexion de l’un ou de l’autre.

C’est une option assez simple à mettre en œuvre, mais qui a des défauts. D’une part, le passage d’une connexion à l’autre n’est pas transparent, il faut compter quelques secondes sans accès à internet si la 4G saute. D’autre part, on dépend toujours des défauts de toute connexion cellulaire : latence plus élevée, changements réguliers d’adresse IP, et pertes de connexion temporaire.

Si vous utilisez comme moi une double connexion 4G et ADSL, il y a une bien meilleure option nommée OpenMPTCPRouter. Derrière ce nom un peu barbare se cache une solution incroyablement sophistiquée sur le plan technique, pas évidente à mettre en œuvre, mais qui fonctionne à merveille une fois que tout est en place. En quoi consiste-t-elle, comment l’installer et que vaut-elle au quotidien ? Suivez le guide !

Au programme :

OpenMPquoi ?

OpenMPTCPRouter, ou OMR pour les intimes, s’installe sur un appareil compatible placé sur votre réseau local. Cet appareil fera alors office de routeur, avec plusieurs casquettes : alimenter le réseau local avec une connexion à internet est le principal, mais il peut aussi reprendre une partie des tâches assurée par les autres routeurs, comme la box de votre fournisseur d’accès à internet.

OpenMPTCPRouter est open source : tout le code en C qui le compose peut être visualisé et téléchargé depuis GitHub, et si Yannick Chabanois est son créateur et principal contributeur depuis sa campagne aindinoise, n’importe qui peut participer au développement du projet. Il repose sur MPTCP, le petit nom de Multipath TCP, une évolution du Transmission Control Protocol qui est l’une des briques de base de tout réseau.

La page GitHub du projet OpenMPTCPRouter.

TCP, « protocole de contrôle des transmissions » en français, permet de transférer des données d’un point A à un point B en établissant une connexion entre les deux. Il date des années 1970, mais son grand âge ne le rend pas obsolète pour autant et il reste toujours utilisé aujourd’hui, que ce soit sur internet ou pour la communication entre les appareils sur le réseau local. MPTCP est une surcouche qui introduit un concept majeur : alors que TCP ne peut établir qu’une seule connexion entre deux points, MPTCP peut en établir plusieurs.

Le principal cas d’usage est lié au monde du mobile, ce qui explique d’ailleurs pourquoi Apple a adopté ce nouveau protocole dès iOS 7, quelques mois seulement après sa première standardisation expérimentale. Le constructeur a été le premier à l’adopter à grande échelle et sur un appareil destiné au grand public, parce que MPTCP apporte un gain évident sur un smartphone : la connexion à internet peut se faire en Wi-Fi et sur le réseau cellulaire en même temps. Dans le détail, c’est nettement plus compliqué, mais simplifions en disant que cette évolution permet d’utiliser plusieurs connexions en parallèle pour communiquer sur un réseau.

Apple l’a utilisée au départ pour l’assistant vocal Siri, avec une transition plus fluide entre le Wi-Fi de la maison et le réseau cellulaire à l’extérieur. À l’heure actuelle, iOS l’utilise dans d’autres cas, notamment pour les notifications push. Dans le cas d’OMR, l’objectif n’est plus d’assurer une connexion quand la situation change, mais d’améliorer les débits et la redondance d’une connexion internet fixe, en multipliant les connexions différentes.

Explication du principe général de TCP en haut et MPTCP en bas (image Aclarembeau, CC BY-SA 4.0, via Wikimedia Commons).
avatar YetOneOtherGit | 

@clive-guilde

"Quels sont les besoins domestiques des experts ? "

Les besoins et les plaisirs 😉

Beaucoup d’insolation domestique peuvent être franchement surdimensionnés et sur-ingénieurées 😉

Le plaisir de la bidouille et de la belle ouvrage 😋

avatar fte | 

@YetOneOtherGit

"Le plaisir de la bidouille et de la belle ouvrage 😋"

Ou simplement un bon design.

À la construction de ma maison, j’ai pris soin qu’il y ait du câblage réseau reliant chaque pièce au local technique, avec une topologie bien pensée pour une utilisation sur plusieurs décennies. J’ai ainsi un backbone reliant les étages et des étoiles par étage. J’ai augmenté mon backbone en 10 Gbps il y a quelques années, ainsi que le lien vers mon bureau. Quelques brins sont en 2.5 Gbps, bornes wifi, le reste en 1 Gbps.

Ce serait à refaire, je veillerais juste à des canaux de plus fort diamètre.

avatar David Finder | 

@Lu Canneberges

Je te rassure, tout ne monde n’a pas ça dans son garage (ni ailleurs). 😉

avatar hercut | 

J’utilisais OTB d’ovh qui m’avait bien aidé à l’époque.
Puis ils ont changé leur offre.
J’ai donc choisi de trouver une autre solution, et me voila sur OMP depuis quelques années maintenant.
Ça change la vie !
Il faut quand même remercier les opérateurs téléphoniques aussi et la 4g car si non l’intérêt pour moi aurait été limité.
Merci aussi à Mylkiwan qui sont au top.

Cette, il faut quand même avoir quelque notion en informatique.
Mais ça se fait et les forums et chats sont plutôt réactif pour aider.

Je recommande cette solution :)

avatar frankm | 

De toutes façons, s’il y a des travaux dans l’espace public (abduction bouchée, regard enseveli), l’opérateur privé n’organisera pas les travaux de génie civil et fera tourner en rond son client.
D’abord il fait du fric avec les installations faciles sur le réseau public qui lui a été confié au nom de la concurrence, puis à la fin du cuivre l’Etat sera mis devant le fait accompli et réalisera les travaux à ses frais pour offrir une installation facile aux opérateurs privés.
Merci pour cette article

avatar mameljoe | 

Merci pour cet article et les mises en perspective, ces articles sont la force de votre site.
La partie sur les dhcp n’est pas nécessaire, car ils se trouvent dans 3 réseaux différents.

avatar gaurejac | 

A titre pro j'utilise Overthebox chez OVH et je l'ai aussi installé chez plein de clients.

Le multipath TCP c'est juste genial et revolutionnaire...

Chez OVH c'est quand même plug and play et super simple.
Le système a connu 2-3 pannes en 6 ans mais globalement c'est inegalable dans certains endroits reculés de pouvoir cumuler plusieurs ADSL et/ou 4G, ça n'a pas d'équivalent, là où on ne pouvait jamais espérer plus de 3Mbits on cumule et mutualise les débits, c'est juste génial.

Bon et puis l'avantage c'est que les coupures d'une ou l'autre ligne sont absolument indolores... (j'ai un client chez qui deux lignes ADSL étaient coupées et il s'étaient à peine aperçus que ça ralentissait un peu !)

Pareil si les datas 4G sont epuisées et qu'on passe en bridé ça continue à bien fonctionner.

En fait c'est une sorte de RAID0 de lignes internet quant aux débits, MAIS avec la tolérance de panne du RAID1 (tout peut tomber en panne sauf 1), le beurre et l'argent du beurre :)

Cerise sur le gateau on une vraie IPv4 fixe et un reverse dns.

Et truc bluffant pour la VoIP : on peut couper un lien ça ne va même pas deranger une conversation en cours...

C'est juste magique.

Bon après niveau prix c'est pas donné (chez OVH)
je ne me plains pas comme je suis vieux client je suis à 10€HT pour un débit non bridé !
(et pour un pro avoir une connexion toujours opérationnel même en cas de coup de pelleteuse ça n'a pas de prix)

Et même si j'ai maintenant la fibre Free (10Gbits !) j'ai conservé l'Overthebox simplement pour que la VoIP ne soit jamais en panne et pour des serveurs internes qui sont toujours accessbiles tant qu'il y a au moins 1 lien qui fonctionne.

avatar Nicolas Furno | 

@gaurejac

C’est sûr que 10€ pour de l’illimité, c’est déjà plus intéressant. Pour un particulier, les offres actuelles sont vraiment chères je trouve.

Le côté plug and play est sympa c’est sûr. Mais il faut quand même configurer les deux WAN, j’imagine ?

avatar gaurejac | 

@nicolasf

Non il y n'y a plus besoin de paramétrer les WAN, puisque maintenant OVH fournit dans les deux offres un "routeur" (un matériel x86 en fait) avec des ports "LAN" et plusieurs ports "WAN".

Donc on touche à rien et on branche l'overthebox en tête de réseau et les diverses boxes et routeurs 4G sur les ports WAN de l'Overthebox, tels quels sans désactiver le DHCP sans toucher à rien, comme avec un routeur multiwan normal en fait.

La seule limite c'est si on a plusieurs box qui ont nativement la même IP (= plusieurs livebox) mais ça c'est pareil avec un routeur multiwan basique.

C'était moins simple du temps où l'overthebox était un NUC avec un seul port LAN/WAN mais maintenant c'est beaucoup plus intégré et simple.

En fait pour OpenMTCPRouter c'est le même problème et même solution : pour simplifier l'install et la rendre plus claire et efficace, on peut soit :
- rajouter des ports ethernet au Raspberry Pi (avec des adaptateurs USB3/ethernet)
- installer OpenMTCPRouter sur un matériel avec plusieurs prises ethernet : il y a plein de petits miniPC (chez Jetway par ex. mais c'est de l'industriel c'est cher)

Après oui, pour du particulier 20€HT c'est cher.
Il y a parfois des gens qui abandonnent OTB (parce qu'ils ont la fibre ou pour d'autres raisons) et on peut "racheter" leur forfait à 10€HT, il faut s'inscrire sur la mailing list OTB.

avatar Nicolas Furno | 

@gaurejac

Oui c’est ça qui est compliqué, il y a beaucoup de routeurs sur 192.168.1.x. Mais c’est clair que ça a l’air plus simple à mettre en œuvre. Et il y a des avantages évidents pour les besoins professionnels.

Merci pour l’info en tout cas. 🙂

avatar bigmagic | 

La VM sur Internet sert-elle d'accélérateur WAN ? où tout simplement de proxy ?

Sinon un pfSense (ou équivalent) en multi-WAN n'aurait-il pas suffit ?

avatar Nicolas Furno | 

@bigmagic

Accélérateur ? 🤔

Le serveur agrège les connexions derrière une seule IP, c’est la différence majeure avec les solutions purement locales.

avatar Jymini | 

@nicolasf

Si je comprends bien, le seul intérêt du serveur distant est d’avoir une IP unique ?

avatar bigmagic | 

Un accélérateur WAN fait de la compression en plus du proxy/cache. L'architecture réseau ressemble à ce type d'usage.

C'est vrai que c'est mieux d'avoir qu'une IP de sortie.

avatar koko256 | 

@bigmagic

Et cela fonctionne encore maintenant que tout est chiffré (donc non cachable et incompressible) ?

avatar bigmagic | 

Non, ça s’intercale avant le tunnel chiffré. Si c’est chiffré, ça marche pas.

avatar Sometime | 

@bigmagic

je ne crois que par défaut pfsense fasse du mtpc, plutôt du failover

avatar bigmagic | 

D'après l'interface, il y a la possibilité de donner la même priorité (Tier 1, par exemple) aux deux interfaces WAN (voir Gateway Groups). Dans mon cas, je n'ai qu'un WAN et je n'ai pas encore expérimenté le Dual-WAN (ou plutôt que je n'ai pas encore eu le besoin de le faire)

avatar Sometime | 

@bigmagic

oui, mais il me semble que cela n’est pas une aggregation totale, au sens ou chaque WAN recoit une partie de la charge totale, mais avec une connexion TCP donnée qui reste sur un seul WAN. Donc en perdant un lien, les connections qui l’utilisaient doivent être re-initiée sur l’autre. Avec mtcp, comme la meme connnection TCP peut provenir de differents liens, pas besoin de la ré initier.

mais peut-etre que pfsense a integré le mtcp. cela suppose par contre d’avoir un serveur a l’autre bout qui comprend ce qu’il se passe (aka supporte le mctcp)

avatar bigmagic | 

Oui, je pense que c'est bien le comportement par défaut. Les paquets d'une même connexion empreinte le même WAN.

Oui, visiblement pfsense ne supporte pas mtcp.

avatar karl59 | 

Bonne article ou pour une fois la personne qui parle de réseau connais réellement le sujet.
Maintenant je suis pas fan de cette solution car a mes yeux c'est beaucoup trop de bidouillage .
Effectivement comme écrit dans l'article la solution de free avec la delta et pas mal sur le papier.
Dans les faits j'avais un ADSL a 5MB avec la delta je tourne entre 15/20 grâce à la 4G.
Les 250GO sont limitées si tu utilises uniquement la 4G , mais si tu utilises l'agrégation la tu n'as pas de limite.

En plus de cela j'ai un routeur 5G avec une antenne extérieur de secours pour le système vidéo , alarme , et les sauvegardes.

Le tout en ayant la même IP, j'ai clonée pour faire simple la configuration IP de la Freebox sur mon routeur 5G.

Ainsi quand ADSL tombe tout passe en 5G de façon transparente sur le réseau Orange...

Car chez Free quand ADSL tombe la 4G tombe avec.......

Je comprends pas que les opérateurs ne propose pas hormis orange pour les pro des box 5G . Quitte à payer l'abonnement 10 ou 20€ de plus mais avec du full illimitée..

Personnellement j'utilise la 5G depuis 2018 , d'abord en beta et pour des usages professionnelle.

Je sais bien que de nombreuses personnes pensent que la 5G sert a rien mais moi je sais plus faire sans ..

Dans mon travail grace a la 5G je peux suivre en direct plusieurs flux de caméras en 4K sans aucun problème. Là où avec la 4G c'est quasiment impossible....

Pour revenir à l'article pour une personne lambda je trouve que c'est plus simple de prendre un routeur 4G brancher directement sur la box..
Sur le même principe que les livebox pro ...
Je conseille souvent zte pour les routeur 5G déjà car zte propose de super produits sans demander le prix d'un netgaer. Car il suffit d'aller sur Amazon pour voir la taux de satisfaction des clients netgaer. Où vous payer surtout la marque .. J'ai du installer une dizaine de routeur 4g netgaer et j'ai toujours eu des problèmes. La où avec zte aucun souci.

avatar JLG47 | 

Défait, les agents Orange ne son jamais très efficients et leur chaîne (cascade!) de sous traitants n’ont que rarement toutes les informations utiles.
Cela fait bientôt un an que je bagarre en vain avec Orange pro pour une actualisation de mes installations. L’envie d’aller voir ailleurs !

avatar lepori | 

En Suisse avec l'achat d'un appareil ( 100 CHF) chez Swisscom nous pouvons utiliser en même temps la ligne ADSL et la 4/5G les vitesses s'additionnent ( ADSL + 4/5G) je l'utilise chez moi et ça a triplé ma vitesse.
https://www.swisscom.ch/fr/about/news/2021/11/18-1gb-schweizweit.html#ms-multipageStep-newsletter

avatar powergeek | 

Sinon il existe aussi Speedify en software et des routeurs Load Balancing chez TP Link. Ça me semble plus simple à utiliser non ?

avatar Nicolas Furno | 

@powergeek

Speedify, je ne connaissais pas et c'est une approche intéressante, mais à la fin c'est un VPN qui dépend d'un serveur tiers et d'une entreprise commerciale. Pour du dépannage, ça me semble une solution digne d'intérêt, pour du permanent, je trouve que l'installation d'OMR est justifié.

Le Load Balancing apporte une partie de la réponse, mais une partie seulement. Les gains sont moins évidents, à la fois en termes de latence et de débits.

Cela dit, si l'objectif est de faire simple, alors carrément, ce sera plus simple. 🙂

avatar stivjobs | 

Ça pourrait être intéressant d’avoir un comparatif avec la solution d’OVH car sur le papier elle apporte pas mal d’avantages, même si elle est plus chère …

avatar Nicolas Furno | 

@stivjobs

C'est compliqué comme test, surtout si on veut aller jusqu'au bout et essayer l'ADSL d'OVH. Pour moi, son principal intérêt est d'apporter quelques garanties et surtout un support officiel. Sur le plan technique, OMR est plus souple et supérieur sur quelques points (IPv6).

avatar languedoc | 

Moi dans le garage, j'attendais de voir la Tesla 🥸

avatar Nicolas Furno | 

@languedoc

Elle rentre pas ! 😭

avatar louik | 

@nicolaf pour stabiliser et sécuriser des connexions ssh, je ne peux que te conseiller de tester Tailscale 👍🏻

avatar Nicolas Furno | 

@louik

J'ai testé plusieurs options, mais rien ne vaut l'IP fixe, je trouve. 🙂

avatar pakal | 

c’est un excellent tutoriel. merci on en redemande

avatar sergiobzh | 

Avec un ADSL très moyen chez moi (en Bretagne aussi 😊) je me suis orienté vers une solution abonnement Freebox + forfait 4G illimité , un routeur 4G Huawei et une double antenne rateau lowcostmobile. L antenne Free est assez loin (4,2 kms) mais je suis en vue directe.
L acces Internet de tous les devices est sur ce réseau , l’ADSL étant dedié à la TV uniquement.

Les debits de mon reseau « 4G » sont bons surtout l’upload mais je me demande ce qui va se passer en saison touristique, quand la population du bled est multiplié par 5 ….

avatar Brice21 | 

J’utilise SpeedFusion pour faire l’aggregation de 3 WAN (StarLink, 4G et Câble) avec un Peplink Balance 20X. Et c’est un jeu d’enfant a configurer. Plutôt que m’embêter à gérer un server j’utilise ceux de Peplink et je paye mon traffic par packages à Peplink. Je n’ai payé qu’une fois 100$ pour 5To sur 24 mois si je me souviens bien.

avatar romainbacque | 

Une question : d'où provient le dernier graphe de l'article ?
J'utilise un RP4 dont la réputation d'avoir une fâcheuse tendance à chauffer se révèle être vraie... et j'aimerais bien savoir quand le CPU est en charge grâce à ces graphes. Je ne les ai pas trouvés dans l'interface web d'OMR... Merci !

avatar Nicolas Furno | 

@romainbacque

Il faut installer une app supplémentaire, dans Système > Logiciels. De mémoire, c’est le paquet luci-app-statistics qu’il faut ajouter.

avatar romainbacque | 

Bonne mémoire!
Merci beaucoup!

avatar romainbacque | 

Bonjour et une autre question pour la route… j’ai vu que vous avez pu utiliser ipv6… et je n’y arrive pas.
Ma VPS a bien une ipv6 et elle semble bien activée sur son OS (Debian) : la commande ping6 vers une adresse distante qui le supporte donne quelque chose. Pourtant, dans l’interface de gestion du routeur, dans le tableau de bord, ipv6 apparaît en off.
Une manipulation particulière que ni Google ni mes nombreux essais ne m’ont pas indiquée ?

Pages

CONNEXION UTILISATEUR